Frogger Timer Issues
Author |
Message |
gamedude213
|
Posted: Sat Jun 13, 2009 5:44 pm Post subject: Frogger Timer Issues |
|
|
Create a frogger-like game
As You May See, I have tried to make a timer go up every time frogger reahes the other side of the game and i cannot make it go up after the first time it reahes the other side.
var xmo, ymo, buttonnumber, buttonupdown, winid : int
var x2, x3 : int
var y, x : int
var key : string (1) %Move
var num : int
var y2 : int %road variable
var x4, y4 : int %third car
var x5, y5 : int %fourth car
var x6, y6 : int %fith car
var x7, y7 : int %sixth car
var x8, y8 : int %seventh car
var flyx, flyy : int %y coordinates for fly
var flyy2, flyx2 : int %random coordinates for fly
var lives : int %lives for frog
var points : int %score
var timer, timer2 : int %timer
var level : int
var font2 : int
process leap
play ("g")
end leap
font2 := Font.New ("sans serif:18:bold")
assert font2 > 0
level := 1
timer2 := 0
timer := 120
points := 0
flyx := -300
lives := 3
x8 := 9
y8 := 220
x7 := -400
y7 := 160
y6 := 160
x6 := -300
x5 := -100
y5 := 160
x4 := 0
y4 := -20
x3 := 0
x2 := 0
y2 := 0
y := 0
x := 0
num := 0
View.Set ("offscreenonly")
loop
drawfillbox (0, 0, 639, 399, 14)
drawfillbox (260, 230, 360, 180, 10)
locate (12, 38)
put "Play" ..
drawfillbox (60, 230, 160, 180, 10)
locate (12, 12)
put "Exit" ..
drawfillbox (460, 230, 580, 180, 10)
locate (12, 60)
put "Instructions" ..
Font.Draw ("Frogger Returns", 50, 80, font2, brightblue)
View.Update
buttonwait ("down", xmo, ymo, buttonnumber, buttonupdown)
if xmo > 260 and xmo < 360 and ymo > 180 and ymo < 230 then %game
loop
x8 := 9
y8 := 220
x7 := -400
y7 := 160
y6 := 160
x6 := -300
x5 := -100
y5 := 160
x4 := 0
y4 := -20
x3 := 0
x2 := 0
y2 := 0
y := 0
x := 0
num := 0
x2 := 0
y2 := 0
timer := 120
timer2 := 0
if timer2 >= 120 then
exit
end if
loop
randint (flyy2, 0, 6)
if flyy2 = 0 then
flyy := -180
elsif flyy2 = 1 then
flyy := -120
elsif flyy2 = 2 then
flyy := -45
elsif flyy2 = 3 then
flyy := 0
elsif flyy2 = 4 then
flyy := 50
elsif flyy2 = 5 then
flyy := 120
elsif flyy2 = 6 then
flyy := 160
end if
randint (flyx2, 1, 13)
if flyx2 = 1 then
flyx := -300
elsif flyx2 = 2 then
flyx := -250
elsif flyx2 = 3 then
flyx := -200
elsif flyx2 = 4 then
flyx := -150
elsif flyx2 = 5 then
flyx := -100
elsif flyx2 = 6 then
flyx := -50
elsif flyx2 = 7 then
flyx := 0
elsif flyx2 = 8 then
flyx := 50
elsif flyx2 = 9 then
flyx := 100
elsif flyx2 = 10 then
flyx := 150
elsif flyx2 = 11 then
flyx := 200
elsif flyx2 = 12 then
flyx := 250
elsif flyx2 = 13 then
flyx := 300
end if
if timer2 >= 120 then
exit
end if
loop
if level > 1 then
timer := timer + 10
end if
exit
end loop
loop
if timer2 >= 120 then
exit
end if
timer2 := round (Time.Elapsed / 1000)
if x <= -320 then
x := -300
elsif x >= 320 then
x := 300
end if
if x > flyx - 10 and x < flyx + 10 and y2 = flyy2 then
points := points + 1
end if
delay (10)
drawfillbox (0, 0, 639, 399, 2)
%bottom Road
drawfillbox (0, 40, 639, 180, 15)
drawfillbox (0, 110, 639, 120, 14)
%TOP ROAD
drawfillbox (0, 220, 639, 340, 15)
drawfillbox (0, 285, 639, 290, 14)
%fly
drawfilloval (flyx + 320, flyy + 200, 5, 10, 7) %body
drawoval (flyx + 317, flyy + 195, 5, 7, 7) %wings
drawoval (flyx + 323, flyy + 195, 5, 7, 7)
%LEFT LEGS
drawline (flyx + 320, flyy + 205, flyx + 310, flyy + 210, 7)
drawline (flyx + 320, flyy + 200, flyx + 305, flyy + 200, 7)
drawline (flyx + 320, flyy + 195, flyx + 310, flyy + 190, 7)
%right legs
drawline (flyx + 320, flyy + 205, flyx + 330, flyy + 210, 7)
drawline (flyx + 320, flyy + 200, flyx + 335, flyy + 200, 7)
drawline (flyx + 320, flyy + 195, flyx + 330, flyy + 190, 7)
locate (1, 1)
%frog
%eyes
drawfilloval (x + 311, y + 13, 3, 3, 7)
drawfilloval (x + 328, y + 13, 3, 3, 7)
%body
drawfilloval (x + 320, y, 10, 15, 10)
%right leg
drawfilloval (x + 330, y - 10, 5, 7, 10)
drawline (x + 330, y + 193 - 200, x + 335, y + 200 - 200, 10)
drawline (x + 330, y + 193 - 200, x + 332, y + 200 - 200, 10)
drawline (x + 330, y + 190 - 200, x + 338, y + 200 - 200, 10)
%left leg
drawfilloval (x + 310, y + -10, 5, 7, 10)
drawline (x + 310, y + 193 - 200, x + 305, y + 200 - 200, 10)
drawline (x + 310, y + 193 - 200, x + 308, y + 200 - 200, 10)
drawline (x + 310, y + 190 - 200, x + 302, y + 200 - 200, 10)
%car/frog if statement
if x < x2 + 90 and x > x2 - 20 and y2 = 2 then
exit
elsif x < x3 - 110 and x > x3 - 230 and y2 = 2 then
exit
elsif x < x4 + 90 and x > x4 - 20 and y2 = 1 then
exit
elsif x < x5 + 90 and x > x5 - 20 and y2 = 4 then
exit
elsif x < x6 + 90 and x > x6 - 20 and y2 = 4 then
exit
elsif x < x7 + 90 and x > x7 - 20 and y2 = 4 then
exit
elsif x < x8 + 90 and x > x8 - 20 and y2 = 5 then
exit
end if
%frog move statement
if hasch then
getch (key)
num := ord (key)
end if
if num = 203 then
fork leap
x := x - 50
elsif num = 205
then
fork leap
x := x + 50
elsif num = 200 then
fork leap
y2 := y2 + 1
elsif num = 208 then
fork leap
y2 := y2 - 1
end if
% frog placement
num := 0
View.Update
if y2 < 0 then
y2 := 0
end if
if y2 = 1 then
y := 80
elsif y2 = 2 then
y := 165
elsif y2 = 3 then
y := 200
elsif y2 = 4 then
y := 260
elsif y2 = 0 then
y := 20
elsif y2 = 5 then
y := 320
elsif y2 = 6 then
y := 365
elsif y2 = 7 then
y := 410
elsif y2 = 7 then
exit
end if
%first Car
%bottom road, top lane
drawfillbox (x2 + 320, 140, x2 + 380, 180, 1)
%front of car
drawline (x2 + 380, 180, x2 + 400, 150, 1)
drawline (x2 + 400, 210 - 60, x2 + 400, 200 - 60, 1)
drawline (x2 + 400, 200 - 60, x2 + 380, 200 - 60, 1)
drawfill (x2 + 390, 205 - 60, 1, 1)
%back of car
drawline (x2 + 320, 180, x2 + 300, 150, 1)
drawline (x2 + 300, 150, x2 + 300, 140, 1)
drawline (x2 + 300, 140, x2 + 320, 140, 1)
drawfill (x2 + 310, 145, 1, 1)
%left tire
drawfilloval (x2 + 320, 145, 10, 10, 7)
drawfilloval (x2 + 320, 145, 5, 5, 15)
%right tire
drawfilloval (x2 + 380, 145, 10, 10, 7)
drawfilloval (x2 + 380, 145, 5, 5, 15)
%right window
drawline (x2 + 380, 180, x2 + 390, 165, 7)
drawline (x2 + 390, 165, x2 + 380, 165, 7)
drawline (x2 + 380, 165, x2 + 380, 180, 7)
drawfill (x2 + 384, 173, 7, 7)
%left window
drawline (x2 + 320, 180, x2 + 310, 165, 7)
drawline (x2 + 310, 165, x2 + 320, 165, 7)
drawline (x2 + 320, 165, x2 + 320, 180, 7)
drawfill (x2 + 316, 173, 7, 7)
%second car
drawfillbox (x3 + 120, 200 - 60, x3 + 180, 240 - 60, 12)
%front of car
drawline (x3 + 180, 180, x3 + 200, 150, 12)
drawline (x3 + 200, 210 - 60, x3 + 200, 200 - 60, 12)
drawline (x3 + 200, 200 - 60, x3 + 180, 200 - 60, 12)
drawfill (x3 + 190, 205 - 60, 12, 12)
%back of car
drawline (x3 + 120, 180, x3 + 100, 150, 12)
drawline (x3 + 100, 150, x3 + 100, 140, 12)
drawline (x3 + 100, 140, x3 + 120, 140, 12)
drawfill (x3 + 110, 145, 12, 12)
%left tire
drawfilloval (x3 + 120, 145, 10, 10, 7)
drawfilloval (x3 + 120, 145, 5, 5, 15)
%right tire
drawfilloval (x3 + 180, 145, 10, 10, 7)
drawfilloval (x3 + 180, 145, 5, 5, 15)
%right window
drawline (x3 + 180, 180, x3 + 190, 165, 7)
drawline (x3 + 190, 165, x3 + 180, 165, 7)
drawline (x3 + 180, 165, x3 + 180, 180, 7)
drawfill (x3 + 184, 173, 7, 7)
%left window
drawline (x3 + 120, 180, x3 + 110, 165, 7)
drawline (x3 + 110, 165, x3 + 120, 165, 7)
drawline (x3 + 120, 165, x3 + 120, 180, 7)
drawfill (x3 + 116, 173, 7, 7)
%bottom road, bottom lane
%third car
drawfillbox (x4 + 320, 80 + y4, x4 + 380, 120 + y4, 2)
%front of car
drawline (x4 + 380, 120 + y4, x4 + 400, 90 + y4, 2)
drawline (x4 + 400, 90 + y4, x4 + 400, 80 + y4, 2)
drawline (x4 + 400, 80 + y4, x4 + 380, 80 + y4, 2)
drawfill (x4 + 390, 85 + y4, 2, 2)
%back of car
drawline (x4 + 320, 120 + y4, x4 + 300, 90 + y4, 2)
drawline (x4 + 300, 90 + y4, x4 + 300, 80 + y4, 2)
drawline (x4 + 300, 80 + y4, x4 + 320, 80 + y4, 2)
drawfill (x4 + 310, 85 + y4, 2, 2)
%left tire
drawfilloval (x4 + 320, 85 + y4, 10, 10, 7)
drawfilloval (x4 + 320, 85 + y4, 5, 5, 15)
%right tire
drawfilloval (x4 + 380, 85 + y4, 10, 10, 7)
drawfilloval (x4 + 380, 85 + y4, 5, 5, 15)
%right window
drawline (x4 + 380, 120 + y4, x4 + 390, 105 + y4, 7)
drawline (x4 + 390, 105 + y4, x4 + 380, 105 + y4, 7)
drawline (x4 + 380, 105 + y4, x4 + 380, 120 + y4, 7)
drawfill (x4 + 384, 113 + y4, 7, 7)
%left window
drawline (x4 + 320, 120 + y4, x4 + 310, 105 + y4, 7)
drawline (x4 + 310, 105 + y4, x4 + 320, 105 + y4, 7)
drawline (x4 + 320, 105 + y4, x4 + 320, 120 + y4, 7)
drawfill (x4 + 316, 113 + y4, 7, 7)
%top road, bottom lane
%Car Four
drawfillbox (x5 + 320, 80 + y5, x5 + 380, 120 + y5, 3)
%front of car
drawline (x5 + 380, 120 + y5, x5 + 400, 90 + y5, 3)
drawline (x5 + 400, 90 + y5, x5 + 400, 80 + y5, 3)
drawline (x5 + 400, 80 + y5, x5 + 380, 80 + y5, 3)
drawfill (x5 + 390, 85 + y5, 3, 3)
%back of car
drawline (x5 + 320, 120 + y5, x5 + 300, 90 + y5, 3)
drawline (x5 + 300, 90 + y5, x5 + 300, 80 + y5, 3)
drawline (x5 + 300, 80 + y5, x5 + 320, 80 + y5, 3)
drawfill (x5 + 310, 85 + y5, 3, 3)
%left tire
drawfilloval (x5 + 320, 85 + y5, 10, 10, 7)
drawfilloval (x5 + 320, 85 + y5, 5, 5, 15)
%right tire
drawfilloval (x5 + 380, 85 + y5, 10, 10, 7)
drawfilloval (x5 + 380, 85 + y5, 5, 5, 15)
%right window
drawline (x5 + 380, 120 + y5, x5 + 390, 105 + y5, 7)
drawline (x5 + 390, 105 + y5, x5 + 380, 105 + y5, 7)
drawline (x5 + 380, 105 + y5, x5 + 380, 120 + y5, 7)
drawfill (x5 + 384, 113 + y5, 7, 7)
%left window
drawline (x5 + 320, 120 + y5, x5 + 310, 105 + y5, 7)
drawline (x5 + 310, 105 + y5, x5 + 320, 105 + y5, 7)
drawline (x5 + 320, 105 + y5, x5 + 320, 120 + y5, 7)
drawfill (x5 + 316, 113 + y5, 7, 7)
%fith car
drawfillbox (x6 + 320, 80 + y6, x6 + 380, 120 + y6, 4)
%front of car
drawline (x6 + 380, 120 + y6, x6 + 400, 90 + y6, 4)
drawline (x6 + 400, 90 + y6, x6 + 400, 80 + y6, 4)
drawline (x6 + 400, 80 + y6, x6 + 380, 80 + y6, 4)
drawfill (x6 + 390, 85 + y6, 4, 4)
%back of car
drawline (x6 + 320, 120 + y6, x6 + 300, 90 + y6, 4)
drawline (x6 + 300, 90 + y6, x6 + 300, 80 + y6, 4)
drawline (x6 + 300, 80 + y6, x6 + 320, 80 + y6, 4)
drawfill (x6 + 310, 85 + y6, 4, 4)
%left tire
drawfilloval (x6 + 320, 85 + y6, 10, 10, 7)
drawfilloval (x6 + 320, 85 + y6, 5, 5, 15)
%right tire
drawfilloval (x6 + 380, 85 + y6, 10, 10, 7)
drawfilloval (x6 + 380, 85 + y6, 5, 5, 15)
%right window
drawline (x6 + 380, 120 + y6, x6 + 390, 105 + y6, 7)
drawline (x6 + 390, 105 + y6, x6 + 380, 105 + y6, 7)
drawline (x6 + 380, 105 + y6, x6 + 380, 120 + y6, 7)
drawfill (x6 + 384, 113 + y6, 7, 7)
%left window
drawline (x6 + 320, 120 + y6, x6 + 310, 105 + y6, 7)
drawline (x6 + 310, 105 + y6, x6 + 320, 105 + y6, 7)
drawline (x6 + 320, 105 + y6, x6 + 320, 120 + y6, 7)
drawfill (x6 + 316, 113 + y6, 7, 7)
%top road, bottom lane
%sixth car
drawfillbox (x7 + 320, 80 + y7, x7 + 380, 120 + y7, 5)
%front of car
drawline (x7 + 380, 120 + y7, x7 + 400, 90 + y7, 5)
drawline (x7 + 400, 90 + y7, x7 + 400, 80 + y7, 5)
drawline (x7 + 400, 80 + y7, x7 + 380, 80 + y7, 5)
drawfill (x7 + 390, 85 + y7, 5, 5)
%back of car
drawline (x7 + 320, 120 + y7, x7 + 300, 90 + y7, 5)
drawline (x7 + 300, 90 + y7, x7 + 300, 80 + y7, 5)
drawline (x7 + 300, 80 + y7, x7 + 320, 80 + y7, 5)
drawfill (x7 + 310, 85 + y7, 5, 5)
%left tire
drawfilloval (x7 + 320, 85 + y7, 10, 10, 7)
drawfilloval (x7 + 320, 85 + y7, 5, 5, 15)
%right tire
drawfilloval (x7 + 380, 85 + y7, 10, 10, 7)
drawfilloval (x7 + 380, 85 + y7, 5, 5, 15)
%right window
drawline (x7 + 380, 120 + y7, x7 + 390, 105 + y7, 7)
drawline (x7 + 390, 105 + y7, x7 + 380, 105 + y7, 7)
drawline (x7 + 380, 105 + y7, x7 + 380, 120 + y7, 7)
drawfill (x7 + 384, 113 + y7, 7, 7)
%left window
drawline (x7 + 320, 120 + y7, x7 + 310, 105 + y7, 7)
drawline (x7 + 310, 105 + y7, x7 + 320, 105 + y7, 7)
drawline (x7 + 320, 105 + y7, x7 + 320, 120 + y7, 7)
drawfill (x7 + 316, 113 + y7, 7, 7)
%seventh Car
%top road, top lane
drawfillbox (x8 + 320, 80 + y8, x8 + 380, 120 + y8, 12)
%front of car
drawline (x8 + 380, 120 + y8, x8 + 400, 90 + y8, 12)
drawline (x8 + 400, 90 + y8, x8 + 400, 80 + y8, 12)
drawline (x8 + 400, 80 + y8, x8 + 380, 80 + y8, 12)
drawfill (x8 + 390, 85 + y8, 12, 12)
%back of car
drawline (x8 + 320, 120 + y8, x8 + 300, 90 + y8, 12)
drawline (x8 + 300, 90 + y8, x8 + 300, 80 + y8, 12)
drawline (x8 + 300, 80 + y8, x8 + 320, 80 + y8, 12)
drawfill (x8 + 310, 85 + y8, 12, 12)
%left tire
drawfilloval (x8 + 320, 85 + y8, 10, 10, 7)
drawfilloval (x8 + 320, 85 + y8, 5, 5, 15)
%right tire
drawfilloval (x8 + 380, 85 + y8, 10, 10, 7)
drawfilloval (x8 + 380, 85 + y8, 5, 5, 15)
%right window
drawline (x8 + 380, 120 + y8, x8 + 390, 105 + y8, 7)
drawline (x8 + 390, 105 + y8, x8 + 380, 105 + y8, 7)
drawline (x8 + 380, 105 + y8, x8 + 380, 120 + y8, 7)
drawfill (x8 + 384, 113 + y8, 7, 7)
%left window
drawline (x8 + 320, 120 + y8, x8 + 310, 105 + y8, 7)
drawline (x8 + 310, 105 + y8, x8 + 320, 105 + y8, 7)
drawline (x8 + 320, 105 + y8, x8 + 320, 120 + y8, 7)
drawfill (x8 + 316, 113 + y8, 7, 7)
%car moving
x2 := x2 + 8
x3 := x3 + 8
x4 := x4 + 10
x5 := x5 - 9
x6 := x6 - 9
x7 := x7 - 8
x8 := x8 - 10
% if cars going right to far off
if x2 = 600 or x2 > 700 or x3 = 600 or x3 > 700 or x4 > 800 then
x2 := -400
x3 := -350
x4 := -400
end if
%if cars going left go off
if x6 <= -1100 then
x5 := 800
x6 := 600
x7 := 1100
end if
%final car going off
if x8 <= -400 then
x8 := 800
end if
locate (1, 1)
put "Score ", points, " ", "Lives ", lives, " Time:", timer - timer2, " Level:", level ..
View.Update
if y2 = 7 then
level := level + 1
exit
end if
if timer2 >= 120 then
exit
end if
end loop
if x < x2 + 90 and x > x2 - 20 and y2 = 2 then
lives := lives - 1
exit
elsif x < x3 - 110 and x > x3 - 230 and y2 = 2 then
lives := lives - 1
exit
elsif x < x4 + 90 and x > x4 - 20 and y2 = 1 then
lives := lives - 1
exit
elsif x < x5 + 90 and x > x5 - 20 and y2 = 4 then
lives := lives - 1
exit
elsif x < x6 + 90 and x > x6 - 20 and y2 = 4 then
lives := lives - 1
exit
elsif x < x7 + 90 and x > x7 - 20 and y2 = 4 then
lives := lives - 1
exit
elsif x < x8 + 90 and x > x8 - 20 and y2 = 5 then
lives := lives - 1
exit
end if
if lives = 0 then
exit
end if
if y2 = 7 then
exit
end if
locate (1, 1)
put "Score ", points, " ", "Lives ", lives, " Time:", timer - timer2, " Level:", level ..
View.Update
if timer2 >= 120 then
exit
end if
end loop
if timer2 >= 120 then
exit
end if
if lives <= 0 then
exit
end if
locate (1, 1)
put "Score ", points, " ", "Lives ", lives, " Time:", timer - timer2, " Level:", level ..
View.Update
end loop
elsif xmo > 60 and xmo < 160 and ymo > 180 and y < 230 then %exit
exit
elsif xmo > 460 and xmo < 580 and ymo > 180 and ymo < 230 then %instructions
cls
put "Welocome to Frogger Returns!"
put "Here you are again, ready to help old frogger get across the road without becoming creamed "
put "to help him use the arrow keys to make him jump, and try to stay on the fly as long as you can, youll get more points,"
put "but make sure you watch your time, you will get 10 secounds extra on your start time for every time you go on to the next level "
drawfillbox (20, 20, 120, 120, 10)
locate (21, 8)
put "Exit" ..
View.Update
loop
buttonwait ("down", xmo, ymo, buttonnumber, buttonupdown)
if xmo > 20 and xmo < 120 and ymo > 20 and ymo < 120 then
exit
end if
end loop
end if
end loop
winid := Window.GetActive
Window.Hide (winid)
I am using 4.1.1 i think, though i made this at school and am not sure what version that is
|
|
|
|
|
 |
Sponsor Sponsor

|
|
 |
Nai

|
Posted: Sat Jun 13, 2009 6:15 pm Post subject: RE:Frogger Timer Issues |
|
|
Next time, why don't you just post the uploaded file gamedude? It makes it a lot easier for anyone trying to help you.
|
|
|
|
|
 |
gamedude213
|
Posted: Sat Jun 13, 2009 7:13 pm Post subject: Re: Frogger Timer Issues |
|
|
heres the uploaded file
Description: |
|
 Download |
Filename: |
Frogger Finished Game.t |
Filesize: |
18.2 KB |
Downloaded: |
158 Time(s) |
|
|
|
|
|
 |
gamedude213
|
Posted: Sun Jun 14, 2009 8:34 am Post subject: RE:Frogger Timer Issues |
|
|
bump for help
|
|
|
|
|
 |
gamedude213
|
Posted: Sun Jun 14, 2009 6:55 pm Post subject: RE:Frogger Timer Issues |
|
|
i need this for tomorow so any help would be appericiated
|
|
|
|
|
 |
TheGuardian001
|
Posted: Sun Jun 14, 2009 8:18 pm Post subject: Re: Frogger Timer Issues |
|
|
Wheee... late reply. Oh well.
First, I should probably say that your code is incredibly hard to read. use meaningful variable names. I have no idea what "x" is or how it differs from "x2". Names like "froggerX" or "carX" are much more helpful.
If the problem you are having is resetting the timer/changing the time on the timer, just look at when you are changing them. If you want the timer to change when frogger hits the top of the screen, then you should check if frogger has hit that spot, and change the timer. You currently seem to be changing it in several spots and using statements like "if level > 1". instead of over complicating it, just check if he's at the top of the screen.
|
|
|
|
|
 |
|
|