| My Game Crashes When I Move My Character About 95 Times! How To Fix! 
 
	 
	
		| Author | Message |   
		| master-awesome 
 
  
 
 
 | 
			
				|  Posted: Wed Dec 24, 2014 4:00 pm    Post subject: My Game Crashes When I Move My Character About 95 Times! How To Fix! |  |   
				| 
 |  
				| I was hoping that when my game restarts, this would get rid of the problem, but it is still giving me the same error. How do I fix this? 
 
 
 
	
		
	 
		| Description: |  |  Download
 |  
		| Filename: | Game Test.zip |  
		| Filesize: | 8.96 MB |  
		| Downloaded: | 255 Time(s) |  
 |  
				|  |  |   
		|  |  |  
	  
		|  |   
		| Sponsor Sponsor
 
  
   |  |   
		|  |   
		| Zren 
 
  
 
 
 | 
			
				|  Posted: Wed Dec 24, 2014 5:07 pm    Post subject: RE:My Game Crashes When I Move My Character About 95 Times! How To Fix! |  |   
				| 
 |  
				| Since others are lazy, I'll just paste your code here. 
 
 	  | Turing: |  	  | 
% Name: Master-Awesome
% Updated Date: 12/23/2014
import GUI
View.Set ("graphics:720;580")
% Declare Variables
var  picID : int
var  x : int := 1
var  y : int := 36
var  dx : int := 600
var  dy : int := 36
var  xm : int := 720
var  ym : int := 360
var  dxm : int := 720
var  dym : int := 200
var  key : string (1)
var  mlives : int := 3
var  dmlives : int := 9
var  steps : int := 94
var  fireblastx : int := 600
var  fireblasty : int := 80
var  fireblastshape : int := 30
var  gravity : int := 20
var  ground : int := 36
var  jump : int := 200
procedure  background
    % Background 
    GUI.SetBackgroundColour (7) 
    picID := Pic.FileNew ("Dark-Castle.jpg")
    Pic.Draw ( picID, 215 , 370 , picCopy)
    colourback (20)
    locate (35 , 1)
    put ""
    colourback (20)
    locate (36 , 1)
    put ""
    drawfillbox (1 , 34 , 720 , 360 , 7)
    % Mario
    drawfillbox ( x, y, 720 , 200 , 7) 
    picID := Pic.FileNew ("Mario/Mario Walking Original/Walking-Mario-1.jpg")
    Pic.Draw ( picID, x, y, picCopy)
    % Display Lives
    % Mario Lives
    colour (0)
    colourback (7)
    locate (2 , 8)
    put "Mario = ",  mlives
 
    picID := Pic.FileNew ("Mario/Icon/Mario-icon.jpg")
    Pic.Draw ( picID, 20 , 400 , picCopy)
    % Dark Mario Lives
    colour (0)
    locate (2 , 70)
    put "Dark Mario = ",  dmlives
 
    picID := Pic.FileNew ("Dark Mario/Icon/Mario-icon.jpg")
    Pic.Draw ( picID, 540 , 400 , picCopy)
    % Display Steps
    colour (0)
    colourback (20)
    locate (35 , 35)
    put "Mario Steps = ",  steps
end  background
% When Game Is Over, This Is Used To Restart
procedure  Try_Again
 
    steps := 94 
    mlives := 3 
    dmlives := 9 
    background
    drawfillbox (1 , 34 , 720 , 360 , 7)
    loop
        getch ( key)
        if ord ( key) = 205 then % right
            % Steps 
            steps :=  steps - 1
            cls 
            background
            % Controls
            drawfillbox ( x, y, xm, ym, 7) 
            x :=  x + 40 
            picID := Pic.FileNew ("Mario/Mario Walking Original/Walking-Mario-2.jpg")
            Pic.Draw ( picID, x, y, picCopy)
            delay (50) 
            picID := Pic.FileNew ("Mario/Mario Walking Original/Walking-Mario-3.jpg")
            Pic.Draw ( picID, x, y, picCopy)
            delay (50) 
            picID := Pic.FileNew ("Mario/Mario Walking Original/Walking-Mario-1.jpg")
            Pic.Draw ( picID, x, y, picCopy)
            delay (50)
            % Dark Mario
            drawfillbox ( dx, dy, dxm, dym, 7)
            randint ( dx, 1 , 600) 
            picID := Pic.FileNew ("Dark Mario/Mario Walking Opposite Direction/Mario-Walking-Opposite-Direction-2.jpg")
            Pic.Draw ( picID, dx, dy, picCopy)
            delay (50) 
            picID := Pic.FileNew ("Dark Mario/Mario Walking Opposite Direction/Mario-Walking-Opposite-Direction-3.jpg")
            Pic.Draw ( picID, dx, dy, picCopy)
            delay (50) 
            picID := Pic.FileNew ("Dark Mario/Mario Walking Opposite Direction/Mario-Walking-Opposite-Direction-1.jpg")
            Pic.Draw ( picID, dx, dy, picCopy)
            delay (50)
        elsif ord ( key) = 203 then % left
            % Steps 
            steps :=  steps - 1
            cls 
            background
            % Controls
            drawfillbox ( x, y, xm, ym, 7) 
            x :=  x - 40 
            picID := Pic.FileNew ("Mario/Mario Walking Opposite Direction/Mario-Walking-Opposite-Direction-2.jpg")
            Pic.Draw ( picID, x, y, picCopy)
            delay (50) 
            picID := Pic.FileNew ("Mario/Mario Walking Opposite Direction/Mario-Walking-Opposite-Direction-3.jpg")
            Pic.Draw ( picID, x, y, picCopy)
            delay (50) 
            picID := Pic.FileNew ("Mario/Mario Walking Opposite Direction/Mario-Walking-Opposite-Direction-1.jpg")
            Pic.Draw ( picID, x, y, picCopy)
            % Dark Mario
            drawfillbox ( dx, dy, dxm, dym, 7)
            randint ( dx, 1 , 600) 
            picID := Pic.FileNew ("Dark Mario/Mario Walking Opposite Direction/Mario-Walking-Opposite-Direction-2.jpg")
            Pic.Draw ( picID, dx, dy, picCopy)
            delay (50) 
            picID := Pic.FileNew ("Dark Mario/Mario Walking Opposite Direction/Mario-Walking-Opposite-Direction-3.jpg")
            Pic.Draw ( picID, dx, dy, picCopy)
            delay (50) 
            picID := Pic.FileNew ("Dark Mario/Mario Walking Opposite Direction/Mario-Walking-Opposite-Direction-1.jpg")
            Pic.Draw ( picID, dx, dy, picCopy)
            delay (50)
        elsif ord ( key) = 32 then    % Space To Shoot
            drawfilloval ( fireblastx, fireblasty, fireblastshape, fireblastshape, 7) 
            fireblastx :=  fireblastx - 10
            drawfilloval ( fireblastx, fireblasty, fireblastshape, fireblastshape, 41)
            % Controls
            drawfillbox ( x, y, xm, ym, 7)
            % Apply Gravity For Character Fall 
            y -=  gravity
            if  y < ground then 
                y :=  ground
            end if 
            picID := Pic.FileNew ("Mario/Mario Walking Original/Walking-Mario-1.jpg")
            Pic.Draw ( picID, x, y, picCopy)
            delay (50)
        elsif ord ( key) = 208 then   % Down To Reset Shoot Position
            drawfilloval ( fireblastx, fireblasty, fireblastshape, fireblastshape, 7) 
            fireblastx := 600
            drawfilloval ( fireblastx, fireblasty, fireblastshape, fireblastshape, 41)
        elsif ord ( key) = 200 and  y =  ground then  % Up To Jump
            % Steps 
            steps :=  steps - 1
            cls 
            background
            % Controls
            drawfillbox ( x, y, xm, ym, 7) 
            y :=  jump
 
            picID := Pic.FileNew ("Mario/Mario Walking Original/Walking-Mario-2.jpg")
            Pic.Draw ( picID, x, y, picCopy)
            delay (50) 
            picID := Pic.FileNew ("Mario/Mario Walking Original/Walking-Mario-3.jpg")
            Pic.Draw ( picID, x, y, picCopy)
            delay (50) 
            picID := Pic.FileNew ("Mario/Mario Walking Original/Walking-Mario-1.jpg")
            Pic.Draw ( picID, x, y, picCopy)
            delay (50)
            % Dark Mario
            drawfillbox ( dx, dy, dxm, dym, 7)
            randint ( dx, 1 , 600) 
            picID := Pic.FileNew ("Dark Mario/Mario Walking Opposite Direction/Mario-Walking-Opposite-Direction-2.jpg")
            Pic.Draw ( picID, dx, dy, picCopy)
            delay (50) 
            picID := Pic.FileNew ("Dark Mario/Mario Walking Opposite Direction/Mario-Walking-Opposite-Direction-3.jpg")
            Pic.Draw ( picID, dx, dy, picCopy)
            delay (50) 
            picID := Pic.FileNew ("Dark Mario/Mario Walking Opposite Direction/Mario-Walking-Opposite-Direction-1.jpg")
            Pic.Draw ( picID, dx, dy, picCopy)
        end if
        % Display Fire Blast
        drawfilloval ( fireblastx, fireblasty, fireblastshape, fireblastshape, 7) 
        fireblastx :=  fireblastx - 10
        drawfilloval ( fireblastx, fireblasty, fireblastshape, fireblastshape, 41)
        % Apply Gravity For Character Fall 
        y -=  gravity
        if  y < ground then 
            y :=  ground
        end if
        % Lives
        if  x =  dx and  y =  dy then 
            mlives :=  mlives - 1 
            steps :=  steps - 1
            cls 
            background
        elsif  fireblastx < dx then 
            dmlives :=  dmlives - 1
            delay (20)
            cls 
            background
 
            fireblastx := 600
        end if
        % Game Over
        if  mlives <= 0 then
            cls 
            GUI.SetBackgroundColour (7) 
            picID := Pic.FileNew ("Game-Over.jpg")
            Pic.Draw ( picID, 126 , 260 , picCopy)
            % Buttons
            var  game_over : int := GUI.CreateButton (320 , 200 , 0 , "Try Again",  Try_Again)
            % Button Press (The Source Of The Stupid Code That Pops Up Right After
            % You Close The Program Because Of The Version Of Windows Being The
            % Latest Which I Hope Turing Fixes In 4.1.2)
            loop
                exit when GUI.ProcessEvent
            end loop
        end if
    end loop
end  Try_Again
% Original Game 
background
loop
    getch ( key)
    if ord ( key) = 205 then     % right
        % Steps 
        steps :=  steps - 1
        cls 
        background
        % Controls
        drawfillbox ( x, y, xm, ym, 7) 
        x :=  x + 40 
        picID := Pic.FileNew ("Mario/Mario Walking Original/Walking-Mario-2.jpg")
        Pic.Draw ( picID, x, y, picCopy)
        delay (50) 
        picID := Pic.FileNew ("Mario/Mario Walking Original/Walking-Mario-3.jpg")
        Pic.Draw ( picID, x, y, picCopy)
        delay (50) 
        picID := Pic.FileNew ("Mario/Mario Walking Original/Walking-Mario-1.jpg")
        Pic.Draw ( picID, x, y, picCopy)
        delay (50)
        % Dark Mario
        drawfillbox ( dx, dy, dxm, dym, 7)
        randint ( dx, 1 , 600) 
        picID := Pic.FileNew ("Dark Mario/Mario Walking Opposite Direction/Mario-Walking-Opposite-Direction-2.jpg")
        Pic.Draw ( picID, dx, dy, picCopy)
        delay (50) 
        picID := Pic.FileNew ("Dark Mario/Mario Walking Opposite Direction/Mario-Walking-Opposite-Direction-3.jpg")
        Pic.Draw ( picID, dx, dy, picCopy)
        delay (50) 
        picID := Pic.FileNew ("Dark Mario/Mario Walking Opposite Direction/Mario-Walking-Opposite-Direction-1.jpg")
        Pic.Draw ( picID, dx, dy, picCopy)
        delay (50)
    elsif ord ( key) = 203 then     % left
        % Steps 
        steps :=  steps - 1
        cls 
        background
        % Controls
        drawfillbox ( x, y, xm, ym, 7) 
        x :=  x - 40 
        picID := Pic.FileNew ("Mario/Mario Walking Opposite Direction/Mario-Walking-Opposite-Direction-2.jpg")
        Pic.Draw ( picID, x, y, picCopy)
        delay (50) 
        picID := Pic.FileNew ("Mario/Mario Walking Opposite Direction/Mario-Walking-Opposite-Direction-3.jpg")
        Pic.Draw ( picID, x, y, picCopy)
        delay (50) 
        picID := Pic.FileNew ("Mario/Mario Walking Opposite Direction/Mario-Walking-Opposite-Direction-1.jpg")
        Pic.Draw ( picID, x, y, picCopy)
        % Dark Mario
        drawfillbox ( dx, dy, dxm, dym, 7)
        randint ( dx, 1 , 600) 
        picID := Pic.FileNew ("Dark Mario/Mario Walking Opposite Direction/Mario-Walking-Opposite-Direction-2.jpg")
        Pic.Draw ( picID, dx, dy, picCopy)
        delay (50) 
        picID := Pic.FileNew ("Dark Mario/Mario Walking Opposite Direction/Mario-Walking-Opposite-Direction-3.jpg")
        Pic.Draw ( picID, dx, dy, picCopy)
        delay (50) 
        picID := Pic.FileNew ("Dark Mario/Mario Walking Opposite Direction/Mario-Walking-Opposite-Direction-1.jpg")
        Pic.Draw ( picID, dx, dy, picCopy)
        delay (50)
    elsif ord ( key) = 32 then        % Space To Shoot
        drawfilloval ( fireblastx, fireblasty, fireblastshape, fireblastshape, 7) 
        fireblastx :=  fireblastx - 10
        drawfilloval ( fireblastx, fireblasty, fireblastshape, fireblastshape, 41)
        % Controls
        drawfillbox ( x, y, xm, ym, 7)
        % Apply Gravity For Character Fall 
        y -=  gravity
        if  y < ground then 
            y :=  ground
        end if 
        picID := Pic.FileNew ("Mario/Mario Walking Original/Walking-Mario-1.jpg")
        Pic.Draw ( picID, x, y, picCopy)
        delay (50)
    elsif ord ( key) = 208 then       % Down To Reset Shoot Position
        drawfilloval ( fireblastx, fireblasty, fireblastshape, fireblastshape, 7) 
        fireblastx := 600
        drawfilloval ( fireblastx, fireblasty, fireblastshape, fireblastshape, 41)
    elsif ord ( key) = 200 and  y =  ground then      % Up To Jump
        % Steps 
        steps :=  steps - 1
        cls 
        background
        % Controls
        drawfillbox ( x, y, xm, ym, 7) 
        y :=  jump
 
        picID := Pic.FileNew ("Mario/Mario Walking Original/Walking-Mario-2.jpg")
        Pic.Draw ( picID, x, y, picCopy)
        delay (50) 
        picID := Pic.FileNew ("Mario/Mario Walking Original/Walking-Mario-3.jpg")
        Pic.Draw ( picID, x, y, picCopy)
        delay (50) 
        picID := Pic.FileNew ("Mario/Mario Walking Original/Walking-Mario-1.jpg")
        Pic.Draw ( picID, x, y, picCopy)
        delay (50)
        % Dark Mario
        drawfillbox ( dx, dy, dxm, dym, 7)
        randint ( dx, 1 , 600) 
        picID := Pic.FileNew ("Dark Mario/Mario Walking Opposite Direction/Mario-Walking-Opposite-Direction-2.jpg")
        Pic.Draw ( picID, dx, dy, picCopy)
        delay (50) 
        picID := Pic.FileNew ("Dark Mario/Mario Walking Opposite Direction/Mario-Walking-Opposite-Direction-3.jpg")
        Pic.Draw ( picID, dx, dy, picCopy)
        delay (50) 
        picID := Pic.FileNew ("Dark Mario/Mario Walking Opposite Direction/Mario-Walking-Opposite-Direction-1.jpg")
        Pic.Draw ( picID, dx, dy, picCopy)
    end if
    % Display Fire Blast
    drawfilloval ( fireblastx, fireblasty, fireblastshape, fireblastshape, 7) 
    fireblastx :=  fireblastx - 10
    drawfilloval ( fireblastx, fireblasty, fireblastshape, fireblastshape, 41)
    % Apply Gravity For Character Fall 
    y -=  gravity
    if  y < ground then 
        y :=  ground
    end if
    % Lives
    if  x =  dx and  y =  dy then 
        mlives :=  mlives - 1 
        steps :=  steps - 1
        cls 
        background
    elsif  fireblastx < dx then 
        dmlives :=  dmlives - 1
        delay (20)
        cls 
        background
 
        fireblastx := 600
    end if
    % Game Over
    if  mlives <= 0 or  steps <= 0 then
        cls 
        GUI.SetBackgroundColour (7) 
        picID := Pic.FileNew ("Game-Over.jpg")
        Pic.Draw ( picID, 126 , 260 , picCopy)
        % Buttons
        var  game_over : int := GUI.CreateButton (320 , 200 , 0 , "Try Again",  Try_Again)
        % Button Press (The Source Of The Stupid Code That Pops Up Right After
        % You Close The Program Because Of The Version Of Windows Being The
        % Latest Which I Hope Turing Fixes In 4.1.2)
        loop
            exit when GUI.ProcessEvent
        end loop
    end if
end loop | 
 
 And as I thought, you're loading new pictures every single frame. This is a memory leak, as it will continue to ask the Operating System for more memory for your program until you run out. To make it more noticeable for new programmers, Turing only allows a hard limit of just 1000 pictures.
 
 You can free up a loaded picture to load another with Pic.Free.
 
 The better method would be to not reload the picture from file every frame, by loading the pictures outside of the game loop.
 
 
 	  | Turing: |  	  | 
var marioWalkRightPicId :=  Pic.Load("...")
var  marioWalkLeftPicId :=  Pic.Load("...")
var  marioPicId :=  marioWalkRightPicId
loop % Game Loop
    % Input / Logic
    if Input.KeyDown(KEY_LEFT_ARROW) then 
        marioPicId :=  marioWalkLeftPicId
    else if Input.KeyDown(KEY_RIGHT_ARROW) then
        % ... 
    end if
    
    % Draw
    Pic.Draw( marioPicId, marioPosX, marioPosY, picCopy)
end loop | 
 
 Merry Chrismas
 |  
				|  |  |   
		|  |  |  
	  
		|  |   
		| master-awesome 
 
  
 
 
 | 
			
				|  Posted: Wed Dec 24, 2014 7:11 pm    Post subject: Re: My Game Crashes When I Move My Character About 95 Times! How To Fix! |  |   
				| 
 |  
				| Thank you so much! Now my game is functioning properly and I thank you even more because you actually gave me a proper example instead of making me look for tutorials and gave me a even greater break. 
 Merry Christmas to you too!!!
 
 
 
 
	
		
	 
		| Description: |  |  Download
 |  
		| Filename: | Game Test.zip |  
		| Filesize: | 8.96 MB |  
		| Downloaded: | 274 Time(s) |  
 |  
				|  |  |   
		|  |  |  
	  
		|  |   
		|  |  
 |