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) | 
	 
	 
	 
		
 | 
			 
			
				 | 
			 
		  | 
	 
	 
		 | 
		
		 | 
	 
	  
		  | 
	 
				 
		 | 
	 
 
	
	
	 
	
	 |