better pong game
Author |
Message |
Wallace
|
Posted: Tue Jan 23, 2007 9:08 am Post subject: better pong game |
|
|
var downLine := 1
var x, y : int
var dx, dy := 1
var player1, player2 : string
var ok : boolean := false
var background := green
var menuFont := Font.New ("serif:25")
var scoreFont := Font.New ("serif:18")
var getKey : array char of boolean
var dir, dir3 := 100
var dir2, dir4 := 180
var score1P, score2P := 0
var stickSpeed := 10
var ballSpeed := -15
x := 70
y := 313
setscreen ("cursor")
process DrawText
loop
for i : 0 .. 255
Draw.Text ("JEFF'S PONG GAME", maxx div 2 - 150, maxy div 2,menuFont, i)
end for
exit when ok = true
end loop
end DrawText
procedure MainMenu
drawfillbox (0, 0, maxx, maxy, yellow)
fork DrawText
colorback (yellow)
locate (17, 25)
put " Player 1's Name: " ..
get player1 : *
locate (18, 25)
put " Player 2's Name: " ..
get player2 : *
put " Player 1 uses the arrow keys, and Player 2 uses the W,S,A,D keys"
delay (1300)
score1P := 0
score2P := 0
ok := true
end MainMenu
MainMenu
View.Set ("offscreenonly")
drawfillbox (0, 0, maxx, maxy, background)
drawbox (0, 0, maxx, maxy, black)
drawfillbox (20, dir2, 30, dir, white)
drawbox (20, dir2, 30, dir, black)
drawfillbox (maxx - 20, dir4, maxx - 30, dir3, white)
drawbox (maxx - 20, dir4, maxx - 30, dir3, black)
procedure MoveUp1P
drawfillbox (20, dir2, 30, dir, background)
dir += 1
dir2 += 1
drawfillbox (20, dir2, 30, dir, white)
drawbox (20, dir2, 30, dir, black)
delay (stickSpeed)
end MoveUp1P
procedure MoveDown1P
drawfillbox (20, dir2, 30, dir, background)
dir -= 1
dir2 -= 1
drawfillbox (20, dir2, 30, dir, white)
drawbox (20, dir2, 30, dir, black)
delay (stickSpeed)
end MoveDown1P
procedure MoveUp2P
drawfillbox (maxx - 20, dir4, maxx - 30, dir3, background)
dir3 += 1
dir4 += 1
drawfillbox (maxx - 20, dir4, maxx - 30, dir3, white)
drawbox (maxx - 20, dir4, maxx - 30, dir3, black)
delay (stickSpeed)
end MoveUp2P
procedure MoveDown2P
drawfillbox (maxx - 20, dir4, maxx - 30, dir3, background)
dir3 -= 1
dir4 -= 1
drawfillbox (maxx - 20, dir4, maxx - 30, dir3, white)
drawbox (maxx - 20, dir4, maxx - 30, dir3, black)
delay (stickSpeed)
end MoveDown2P
procedure Pause
end Pause
process Ball
loop
locate (1, 1)
colorback (yellow)
put player1, ' ', score1P
locate (1, 43)
put player2, ' ', score2P
x += dx
y += dy
delay (ballSpeed) % Balls speed
drawfilloval (x, y, 5, 5, yellow)
drawoval (x, y, 5, 5, black)
drawfillbox ((maxx div 2) - 10, 0, (maxx div 2), maxy, white)
drawbox ((maxx div 2) - 10, 0, (maxx div 2), maxy, black)
View.Update
drawfilloval (x, y, 5, 5, background)
if (x = 40) and (y >= dir and y <= dir2) then
dx := -dx
elsif (x < 40) then
score2P += 1
x := 550
y := 300
elsif (x >= maxx - 40) and (y >= dir3 and y <= dir4) then
dx := -dx
elsif (x > maxx - 40) then
score1P += 1
x := 70
y := 300
elsif (y = 0) or (y = maxy - 20) then
dy := -dy
end if
end loop
end Ball
fork Ball
loop
Input.KeyDown (getKey)
if getKey ('w') then
MoveUp1P
end if
if getKey ('s') then
MoveDown1P
end if
if getKey (KEY_UP_ARROW) then
MoveUp2P
end if
if getKey (KEY_DOWN_ARROW) then
MoveDown2P
end if
if getKey (KEY_ENTER) then
Pause
end if
if getKey (KEY_ESC) then
quit
MainMenu
end if
% Player 1 Boundaries
if (dir <= 0) and (dir2 <= 80) then
dir := 0
dir2 := 80
elsif (dir >= maxy - 80) and (dir2 >= maxy - 80) then
dir2 := maxy
dir := maxy - 80
end if
% Player 2 Boundaries
if (dir3 <= 0) and (dir4 <= 80) then
dir3 := 0
dir4 := 80
elsif (dir3 >= maxy - 80) and (dir4 >= maxy - 80) then
dir3 := maxy - 80
dir4 := maxy
end if
end loop |
|
|
|
|
|
Sponsor Sponsor
|
|
|
Wallace
|
Posted: Tue Jan 23, 2007 9:09 am Post subject: Re: better pong game |
|
|
can you guys rate my game from 1 to 10, and give it improvements, plz |
|
|
|
|
|
Windsurfer
|
Posted: Tue Jan 23, 2007 9:22 am Post subject: RE:better pong game |
|
|
I can't rate it, because I'm not on computer with turing... but I REALLY wish people could use code tags.
Like this:
code: | %this is turing code
int num := 0
put "Hello World"
%etc |
Also, you double posted.
Shun the double poster! Shuuun! Shuuuuuuuuuuuuuunnnnnnnnnnned! |
|
|
|
|
|
StealthArcher
|
Posted: Tue Jan 23, 2007 11:52 am Post subject: Re: better pong game |
|
|
code: | var downLine := 1
var x, y : int
var dx, dy := 1
var player1, player2 : string
var ok : boolean := false
var background := green
var menuFont := Font.New ("serif:25")
var scoreFont := Font.New ("serif:18")
var getKey : array char of boolean
var dir, dir3 := 100
var dir2, dir4 := 180
var score1P, score2P := 0
var stickSpeed := 10
var ballSpeed := -15
x := 70
y := 313
setscreen ("cursor")
process DrawText
loop
for i : 0 .. 255
Draw.Text ("JEFF'S PONG GAME", maxx div 2 - 150, maxy div 2,menuFont, i)
end for
exit when ok = true
end loop
end DrawText
procedure MainMenu
drawfillbox (0, 0, maxx, maxy, yellow)
fork DrawText
colorback (yellow)
locate (17, 25)
put " Player 1's Name: " ..
get player1 : *
locate (18, 25)
put " Player 2's Name: " ..
get player2 : *
put " Player 1 uses the arrow keys, and Player 2 uses the W,S,A,D keys"
delay (1300)
score1P := 0
score2P := 0
ok := true
end MainMenu
MainMenu
View.Set ("offscreenonly")
drawfillbox (0, 0, maxx, maxy, background)
drawbox (0, 0, maxx, maxy, black)
drawfillbox (20, dir2, 30, dir, white)
drawbox (20, dir2, 30, dir, black)
drawfillbox (maxx - 20, dir4, maxx - 30, dir3, white)
drawbox (maxx - 20, dir4, maxx - 30, dir3, black)
procedure MoveUp1P
drawfillbox (20, dir2, 30, dir, background)
dir += 1
dir2 += 1
drawfillbox (20, dir2, 30, dir, white)
drawbox (20, dir2, 30, dir, black)
delay (stickSpeed)
end MoveUp1P
procedure MoveDown1P
drawfillbox (20, dir2, 30, dir, background)
dir -= 1
dir2 -= 1
drawfillbox (20, dir2, 30, dir, white)
drawbox (20, dir2, 30, dir, black)
delay (stickSpeed)
end MoveDown1P
procedure MoveUp2P
drawfillbox (maxx - 20, dir4, maxx - 30, dir3, background)
dir3 += 1
dir4 += 1
drawfillbox (maxx - 20, dir4, maxx - 30, dir3, white)
drawbox (maxx - 20, dir4, maxx - 30, dir3, black)
delay (stickSpeed)
end MoveUp2P
procedure MoveDown2P
drawfillbox (maxx - 20, dir4, maxx - 30, dir3, background)
dir3 -= 1
dir4 -= 1
drawfillbox (maxx - 20, dir4, maxx - 30, dir3, white)
drawbox (maxx - 20, dir4, maxx - 30, dir3, black)
delay (stickSpeed)
end MoveDown2P
procedure Pause
end Pause
process Ball
loop
locate (1, 1)
colorback (yellow)
put player1, ' ', score1P
locate (1, 43)
put player2, ' ', score2P
x += dx
y += dy
delay (ballSpeed) % Balls speed
drawfilloval (x, y, 5, 5, yellow)
drawoval (x, y, 5, 5, black)
drawfillbox ((maxx div 2) - 10, 0, (maxx div 2), maxy, white)
drawbox ((maxx div 2) - 10, 0, (maxx div 2), maxy, black)
View.Update
drawfilloval (x, y, 5, 5, background)
if (x = 40) and (y >= dir and y <= dir2) then
dx := -dx
elsif (x < 40) then
score2P += 1
x := 550
y := 300
elsif (x >= maxx - 40) and (y >= dir3 and y <= dir4) then
dx := -dx
elsif (x > maxx - 40) then
score1P += 1
x := 70
y := 300
elsif (y = 0) or (y = maxy - 20) then
dy := -dy
end if
end loop
end Ball
fork Ball
loop
Input.KeyDown (getKey)
if getKey ('w') then
MoveUp1P
end if
if getKey ('s') then
MoveDown1P
end if
if getKey (KEY_UP_ARROW) then
MoveUp2P
end if
if getKey (KEY_DOWN_ARROW) then
MoveDown2P
end if
if getKey (KEY_ENTER) then
Pause
end if
if getKey (KEY_ESC) then
quit
MainMenu
end if
% Player 1 Boundaries
if (dir <= 0) and (dir2 <= 80) then
dir := 0
dir2 := 80
elsif (dir >= maxy - 80) and (dir2 >= maxy - 80) then
dir2 := maxy
dir := maxy - 80
end if
% Player 2 Boundaries
if (dir3 <= 0) and (dir4 <= 80) then
dir3 := 0
dir4 := 80
elsif (dir3 >= maxy - 80) and (dir4 >= maxy - 80) then
dir3 := maxy - 80
dir4 := maxy
end if
end loop |
There now we can get a better look. |
|
|
|
|
|
War_Caymore
|
Posted: Tue Jan 23, 2007 2:41 pm Post subject: RE:better pong game |
|
|
Goddamn!
Either do one of two things:
1) slow down the ball
or
2) speed up the paddles.
also, the "jeff's pong game" seems to erase when the ball moves through it.
no glitches with the ball, thought (which seems to be my problem right now)
other than taht, it's palyable, good job.
Edit: sry, 6/10. final word: could be improved. |
|
|
|
|
|
CodeMonkey2000
|
Posted: Tue Jan 23, 2007 4:38 pm Post subject: RE:better pong game |
|
|
Dont use processes.
Your collision looks a bit off.
I would rate it 8/10, because i am a good person . |
|
|
|
|
|
|
|