Need some advice for my pong game please :) 
	 
	
		| Author | 
		Message | 
	 
		 
		krashnna
 
 
 
    
		 | 
		
		
			
				  Posted: Wed Jun 10, 2015 4:18 pm    Post subject: Need some advice for my pong game please :)  | 
	
				
				 | 
			 
			 
				
  | 
			 
			
				What is it you are trying to achieve?
 
To get some help with my game!
 
 
 
What is the problem you are having?
 
Putting a max score limit on my game
 
 
 
Describe what you have tried to solve this problem
 
Not sure where to start
 
 
 
Post any relevant code (You may choose to attach the file instead of posting the code if it is too long)
 
----
 
[syntax="turing"]
 
 
<Add your code here>
 
 
 
%Introduction
 
colourback (black) 
 
colour (black) 
 
cls 
 
colour (12) 
 
locate (3, 22) 
 
put " Welcome to Pong " 
 
locate (10,3) 
 
put "Paddle 1 Controls - w Moves Paddle Up, s moves Paddle Down" 
 
locate (11,3) 
 
put "Paddle 2 Controls - 8 Moves Paddle Up, 2 moves Paddle Down (Use number pad)" 
 
locate (25, 17) 
 
put " By Krishna, ICS 2014/2015 "
 
delay (5000) 
 
cls 
 
 
%Variables 
 
setscreen ("graphics : 600; 300") 
 
var x, y, xp, yp, xa, ya : int 
 
var xstep, ystep, radius : int 
 
var key : string (1) 
 
var score1, score2 : int 
 
 
score1 := 0 
 
score2 := 0 
 
 
xp := 20
 
yp := 190 
 
xa := 620 
 
ya := 190 
 
x := round (maxx / 2) 
 
y := round (maxy / 2) 
 
radius := 5 
 
xstep := 1 
 
ystep := 1 
 
%random moving ball 
 
drawfillbox (xp, yp, xp + 7, yp + 70, darkgrey) 
 
drawfillbox (xa, ya, xa - 7, ya + 70, darkgrey) 
 
drawline (0, 375, maxx, 375, grey) 
 
drawline (1, 375, maxx, 375, grey) 
 
drawline (2, 375, maxx, 375, grey) 
 
drawline (3, 375, maxx, 375, grey) 
 
drawline (4, 375, maxx, 375, grey) 
 
loop 
 
drawline (0, 375, maxx, 375, grey) 
 
drawline (1, 375, maxx, 375, grey) 
 
drawline (2, 375, maxx, 375, grey) 
 
drawline (3, 375, maxx, 375, grey) 
 
drawline (4, 375, maxx, 375, grey) 
 
 
drawfilloval (x, y, radius, radius, white) 
 
delay (3) 
 
drawfilloval (x, y, radius, radius, black) 
 
x := x + xstep 
 
y := y + ystep 
 
if y > maxy - radius or y < radius then 
 
ystep := -ystep 
 
end if 
 
if x > maxx - radius -1 then 
 
xstep := -xstep 
 
score1 := score1 + 1 
 
x := round (maxx / 2) 
 
y := round (maxy / 2) 
 
elsif x < radius + 1 then 
 
xstep := -xstep 
 
score2 := score2 + 1 
 
x := round (maxx / 2) 
 
y := round (maxy / 2) 
 
end if 
 
 
 
 
%Paddle 1 Collison 
 
if whatdotcolour (x - radius + 1, y) not= black then 
 
xstep := -xstep 
 
elsif whatdotcolour (x - radius - 1, y) not= black then 
 
xstep := -xstep 
 
elsif whatdotcolour (x, y - radius + 1) not= black then 
 
ystep := -ystep 
 
elsif whatdotcolour (x, y - radius - 1) not= black then 
 
ystep := -ystep 
 
elsif whatdotcolour (x + radius + 1, y) not= black then 
 
xstep := -xstep 
 
elsif whatdotcolour (x - radius - 1, y) not= black then 
 
xstep := -xstep 
 
elsif whatdotcolour (x, y + radius + 1) not= black then 
 
ystep := -ystep 
 
elsif whatdotcolour (x, y - radius - 1) not= black then 
 
ystep := -ystep 
 
end if 
 
 
%Paddle 1 Movement 
 
 
if hasch then 
 
getch (key) 
 
if key = "w" then 
 
drawfillbox (xp, yp, xp + 7, yp + 70, black) 
 
yp += 10 
 
drawfillbox (xp, yp, xp + 7, yp + 70, darkgrey) 
 
elsif key = "s" then 
 
drawfillbox (xp, yp, xp + 7, yp + 70, black) 
 
yp -= 10 
 
 
 
%Paddle 2 Movement
 
 
 
drawfillbox (xp, yp, xp + 7, yp + 70, darkgrey) 
 
elsif key = "8" then 
 
drawfillbox (xa, ya, xa - 7, ya + 70, black) 
 
ya += 10 
 
drawfillbox (xa, ya, xa - 7, ya + 70, darkgrey) 
 
elsif key = "2" then 
 
drawfillbox (xa, ya, xa - 7, ya + 70, black) 
 
ya -= 10 
 
drawfillbox (xa, ya, xa - 7, ya + 70, darkgrey) 
 
end if 
 
 
%Paddle 2 Collison 
 
if whatdotcolour (x + radius + 1, y) not= black then 
 
xstep := -xstep 
 
elsif whatdotcolour (x + radius - 1, y) not= black then 
 
xstep := -xstep 
 
elsif whatdotcolour (x, y + radius + 1) not= black then 
 
ystep := -ystep 
 
elsif whatdotcolour (x, y + radius - 1) not= black then 
 
ystep := -ystep 
 
end if 
 
 
%Scoring 
 
locate (1, 1) 
 
put "Player 1 Score: ", score1 
 
locate (1, 32) 
 
put "Pong" 
 
locate (1, 63) 
 
put "Player 2 Score: ", score2 
 
end if 
 
end loop 
 
 
 
Please specify what version of Turing you are using
 
<Answer Here> | 
			 
			
				 | 
			 
		  | 
	 
	 
		 | 
		
		 | 
	 
	  
		  | 
	 
		 
		Sponsor Sponsor 
		 
  
		 | 
		
 | 
	 
	 
		  | 
	 
				 
		Insectoid
 
  
 
    
		 | 
		
		
			
				  Posted: Wed Jun 10, 2015 7:42 pm    Post subject: RE:Need some advice for my pong game please :)  | 
	
				
				 | 
			 
			 
				
  | 
			 
			
				| What do you want the game to do when the score limit is reached? There's a few different approaches. You could simply exit the loop using the 'exit when' command, or you could have the game restart, which requires you to reset all variables to their initial state and return to the top of the program, or whatever you want. Ultimately it comes down to detecting if the score limit is reached using either an if statement or an exit when statement and controlling the flow of the program when that statement returns true. | 
			 
			
				 | 
			 
		  | 
	 
	 
		 | 
		
		 | 
	 
	  
		  | 
	 
				 
		 | 
	 
 
	
	
	 
	
	 |