Computer Science Canada Need some advice for my pong game please :) |
Author: | krashnna [ 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> |
Author: | Insectoid [ 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. |