Ok, final entry for me!
sync on
sync rate 60
#CONSTANT faceup 0
#CONSTANT facedown 1
#CONSTANT faceleft 2
#CONSTANT faceright 3
#CONSTANT jumpup 4
#CONSTANT jumpdown 5
#CONSTANT squished 6
#CONSTANT drowned 7
global debounce as integer
global RED as DWORD
global GREEN as DWORD
global BLUE as DWORD
global YELLOW as DWORD
global WHITE as DWORD
global PALEBLUE as DWORD
global PALEGREEN as DWORD
global DARKBLUE as DWORD
global DARKGREEN as DWORD
global MIDGREEN as DWORD
global BROWN as DWORD
global LIGHTBROWN as DWORD
RED = rgb(255,0,0)
GREEN = rgb(0,255,0)
BLUE = rgb(0,0,255)
YELLOW = rgb(255,255,0)
WHITE = rgb(255,255,255)
PALEBLUE = rgb(128,128,255)
PALEGREEN = rgb(128,255,128)
DARKBLUE = rgb(0,0,128)
DARKGREEN = rgb(0,80,0)
MIDGREEN = rgb(0,140,0)
BROWN = rgb(128,64,0)
LIGHTBROWN = rgb(128,64,32)
type coordXY
X as float
Y as float
endtype
type frog
Pos as coordXY
blinktime as Float
state as Integer
walktime as Float
jumptime as Float
target as coordXY
endtype
type vehicle
Pos as coordXY
Colour as Integer
endtype
global Froggie as frog
dim Car(5) as vehicle
dim Truck(5) as vehicle
dim LogSmall(27) as vehicle
Froggie.Pos.X = screen width()/2
Froggie.Pos.Y = 500
Froggie.blinktime = 0
Froggie.state = faceup
Froggie.walktime = 0
Froggie.jumptime = 0
for i = 0 to array count(Car())/2
Car(i).Pos.X = rnd(screen width())
Car(i).Pos.Y = 410
Car(i).Colour = rnd(2)
next i
for i = array count(Car())/2 to array count(Car())
Car(i).Pos.X = rnd(screen width())
Car(i).Pos.Y = 374
Car(i).Colour = rnd(2)
next 1
for i = 0 to array count(Truck())/2
Truck(i).Pos.X = rnd(screen width())
Truck(i).Pos.Y = 290
Truck(i).Colour = rnd(2)
next i
for i = array count(Truck())/2 to array count(Truck())
Truck(i).Pos.X = rnd(screen width())
Truck(i).Pos.Y = 318
Truck(i).Colour = rnd(2)
next i
for i = 0 to 3
LogSmall(i).Pos.X = rnd(screen width())
LogSmall(i).Pos.Y = 200
LogSmall(i).Colour = 0
next i
for i = 4 to 7
LogSmall(i).Pos.X = rnd(screen width())
LogSmall(i).Pos.Y = 176
LogSmall(i).Colour = 1
next i
for i = 8 to 11
LogSmall(i).Pos.X = rnd(screen width())
LogSmall(i).Pos.Y = 152
LogSmall(i).Colour = 0
next i
for i = 12 to 15
LogSmall(i).Pos.X = rnd(screen width())
LogSmall(i).Pos.Y = 128
LogSmall(i).Colour = 1
next i
for i = 16 to 19
LogSmall(i).Pos.X = rnd(screen width())
LogSmall(i).Pos.Y = 104
LogSmall(i).Colour = 0
next i
for i = 20 to 23
LogSmall(i).Pos.X = rnd(screen width())
LogSmall(i).Pos.Y = 80
LogSmall(i).Colour = 1
next i
for i = 24 to 27
LogSmall(i).Pos.X = rnd(screen width())
LogSmall(i).Pos.Y = 56
LogSmall(i).Colour = 0
next i
ink GREEN,0
`****************** MAIN LOOP ******************
do
cls
draw_staticcomponents()
get_movement()
move_cars()
draw_cars()
move_trucks()
draw_trucks()
move_logs()
draw_logs()
select Froggie.state
case faceup `************* FROGGIE STATE = FACEUP *************
draw_frog()
endcase
case facedown `************* FROGGIE STATE = FACEDOWN ***********
draw_upsidedownfrog()
endcase
case jumpup `************* FROGGIE STATE = JUMPUP *************
do_jumpup()
draw_frog()
endcase
case jumpdown `************* FROGGIE STATE = JUMPDOWN ***********
draw_upsidedownfrog()
do_jumpdown()
endcase
case squished
draw_squishedfrog()
death_squish()
endcase
case drowned
draw_drownedfrog()
death_drowned()
endcase
case default
draw_frog()
endcase
endselect
if Froggie.state <> squished AND Froggie.state <> drowned
check_collision()
endif
`print_ascii()
sync
loop
`************************************************ END OF MAIN LOOP ***********
`*****************************************************************************
`Check the keys for WASD movement.
Function get_movement()
if keystate(17) = 1 AND Froggie.state = faceup AND debounce = 0 `If 'W' pressed and facing up - JUMP!
Froggie.state = jumpup
debounce = 1
endif
if keystate(31) = 1 AND Froggie.state = facedown AND debounce = 0 `If 'S' pressed and facing down - JUMP!
Froggie.state = jumpdown
debounce = 1
endif
if Froggie.state < jumpup
if keystate(17) = 1 `W for up
Froggie.walktime = Froggie.walktime +1
Froggie.state = faceup
endif
if keystate(31) = 1 `S for down
Froggie.walktime = Froggie.walktime +1
Froggie.state = facedown
endif
if keystate(30) = 1 `A for left
Froggie.Pos.X = Froggie.Pos.X -2
Froggie.walktime = Froggie.walktime +1
endif
if keystate(32) = 1 `D for right
Froggie.Pos.X = Froggie.Pos.X +2
Froggie.walktime = Froggie.walktime +1
endif
endif
if keystate(17) = 0 AND keystate(31) = 0
debounce = 0
endif
collide_screen() `Do not allow outside screen boundries.
endfunction
`Stop Froggie from moving outside the screen shape.
Function collide_screen()
if Froggie.Pos.X <0+5
Froggie.Pos.X = 0+5
endif
if Froggie.Pos.X > screen width() -10
Froggie.Pos.X = screen width() -10
endif
if Froggie.Pos.Y < 0+25
Froggie.Pos.Y = 0+25
endif
if Froggie.Pos.Y > screen height() -15
Froggie.Pos.Y = screen height() -15
endif
endfunction
`Draw our froggie the right way up. There are two animated states - leap and rest.
Function draw_frog()
ink GREEN,0
if Froggie.state = faceup `Animation for 'rest'
text Froggie.Pos.X-2,Froggie.Pos.Y,CHR$(130)
text Froggie.Pos.X+2,Froggie.Pos.Y,CHR$(130)
text Froggie.Pos.X-6,Froggie.Pos.Y+4,"="
text Froggie.Pos.X+6,Froggie.Pos.Y+4,"="
text Froggie.Pos.X-6,Froggie.Pos.Y-1,"\"
text Froggie.Pos.X+6,Froggie.Pos.Y-1,"/"
endif
if Froggie.state = jumpup `Animation for 'leap'
text Froggie.Pos.X-2,Froggie.Pos.Y,CHR$(130)
text Froggie.Pos.X+2,Froggie.Pos.Y,CHR$(130)
text Froggie.Pos.X-5,Froggie.Pos.Y+3,"/"
text Froggie.Pos.X-2,Froggie.Pos.Y+3,"/"
text Froggie.Pos.X+5,Froggie.Pos.Y+3,"\"
text Froggie.Pos.X+2,Froggie.Pos.Y+3,"\"
text Froggie.Pos.X-7,Froggie.Pos.Y-1,"-"
text Froggie.Pos.X+7,Froggie.Pos.Y-1,"-"
endif
if Froggie.walktime > 30
Froggie.walktime = 0
endif
draw_frogeyes() `Draw the eyes! (Froggie blinks, so a different function for this)
endfunction
`Draw Froggies eyes (right way up) He blinks over time.
Function draw_frogeyes()
ink WHITE,0
Froggie.blinktime = Froggie.blinktime +1
if Froggie.blinktime<200
text Froggie.Pos.X-3,Froggie.Pos.Y-1,CHR$(176)
text Froggie.Pos.X+3,Froggie.Pos.Y-1,CHR$(176)
else
if Froggie.blinktime>200
text Froggie.Pos.X-3,Froggie.Pos.Y-4,CHR$(172)
text Froggie.Pos.X+3,Froggie.Pos.Y-4,CHR$(172)
endif
endif
if Froggie.blinktime>205+rnd(10)
Froggie.blinktime = 0
endif
endfunction
`Draw Froggie upsidedown. Again, two animated 'frames'.
Function draw_upsidedownfrog()
ink GREEN,0
if Froggie.state = FACEDOWN
text Froggie.Pos.X-2,Froggie.Pos.Y,CHR$(130)
text Froggie.Pos.X+2,Froggie.Pos.Y,CHR$(130)
text Froggie.Pos.X-6,Froggie.Pos.Y-4,"="
text Froggie.Pos.X+6,Froggie.Pos.Y-4,"="
text Froggie.Pos.X-6,Froggie.Pos.Y+1,"/"
text Froggie.Pos.X+6,Froggie.Pos.Y+1,"\"
endif
if Froggie.state = JUMPDOWN
text Froggie.Pos.X-2,Froggie.Pos.Y,CHR$(130)
text Froggie.Pos.X+2,Froggie.Pos.Y,CHR$(130)
text Froggie.Pos.X-5,Froggie.Pos.Y-3,"\"
text Froggie.Pos.X-2,Froggie.Pos.Y-3,"\"
text Froggie.Pos.X+5,Froggie.Pos.Y-3,"/"
text Froggie.Pos.X+2,Froggie.Pos.Y-3,"/"
text Froggie.Pos.X-7,Froggie.Pos.Y+1,"-"
text Froggie.Pos.X+7,Froggie.Pos.Y+1,"-"
endif
if Froggie.walktime > 30
Froggie.walktime = 0
endif
draw_upsidedownfrogeyes()
endfunction
Function draw_upsidedownfrogeyes()
ink WHITE,0
Froggie.blinktime = Froggie.blinktime +1
if Froggie.blinktime<200
text Froggie.Pos.X-3,Froggie.Pos.Y+8,CHR$(176)
text Froggie.Pos.X+3,Froggie.Pos.Y+8,CHR$(176)
else
if Froggie.blinktime>200
text Froggie.Pos.X-3,Froggie.Pos.Y+4,CHR$(172)
text Froggie.Pos.X+3,Froggie.Pos.Y+4,CHR$(172)
endif
endif
if Froggie.blinktime>205+rnd(10)
Froggie.blinktime = 0
endif
endfunction
Function do_jumpup()
if Froggie.jumptime = 0
Froggie.target.Y = Froggie.Pos.Y - 30
Froggie.target.X = Froggie.Pos.X
endif
Froggie.jumptime = Froggie.jumptime + 1
if Froggie.jumptime < 5
Froggie.Pos.Y = Froggie.Pos.Y - 6
endif
if Froggie.jumptime = 5
Froggie.jumptime = 0
Froggie.state = faceup
endif
endfunction
Function do_jumpdown()
if Froggie.jumptime = 0
Froggie.target.Y = Froggie.Pos.Y + 30
Froggie.target.X = Froggie.Pos.X
endif
Froggie.jumptime = Froggie.jumptime + 1
if Froggie.jumptime < 5
Froggie.Pos.Y = Froggie.Pos.Y + 6
endif
if Froggie.jumptime = 5
Froggie.jumptime = 0
Froggie.state = facedown
endif
endfunction
Function draw_staticcomponents()
halfsolidline$ = CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
solidline$ = halfsolidline$ + halfsolidline$ + halfsolidline$ + halfsolidline$
halfgrassverge$ = "\\/|\\/\|//|/\||/|/\/||\\\\/|/\\//||\\/|\\/\|//|/\||/|/\/||\\\\/|/\\\||/|/\/||\\\\/|/\\/\/||\\\\/|/\\\||/|/"
grassverge$ = halfgrassverge$ + halfgrassverge$ + halfgrassverge$
halfriverbank$ = " ~ ~ ~ ~ ~ ~ ~"
riverbank$ = halfriverbank$ + halfriverbank$ + halfriverbank$
ink YELLOW,0
text 0,440,solidline$ `Draw the bottom road edge
text 5,440,solidline$
ink DARKGREEN,0 `Draw the bottommost grass verge
text 0,444,grassverge$
ink MIDGREEN,0
text -20,448,grassverge$
ink WHITE,0
for i = 0 to (screen width()/80) `Draw the dotted road lines.
text i*80,340,"___"
text i*80,341,"___"
next i
ink DARKGREEN,0 `Draw the other verge to the road, the upper one.
text 0,250,grassverge$
ink MIDGREEN,0
text -20,247,grassverge$
ink YELLOW,0
text 0,260,solidline$ `Draw the top road edge
text 5,260,solidline$
ink DARKBLUE,0 `Draw some randomish river blueness.
text 0,220,riverbank$
text -30,200,riverbank$
text 10,180,riverbank$
text -15,160,riverbank$
text -60,140,riverbank$
text 8,120,riverbank$
text -18,100,riverbank$
text -78,80,riverbank$
text 2,60,riverbank$
text -65,40,riverbank$
if rnd(10) = 1
ink PALEBLUE,0
text rnd(screen width()),rnd(100)+100,"^"
endif
ink DARKGREEN,0
text 0,217,grassverge$
ink MIDGREEN,0
text -20,220,grassverge$
ink WHITE,0
ink DARKGREEN,0
`********** FIRST LILLYPAD! ***********
text 50,20,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text 53,20,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text 45,28,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text 50,28,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text 45,36,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text 50,36,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text 50,44,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text 53,44,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text 54,47,CHR$(130)+" "+CHR$(130)
text 57,47,CHR$(130)+" "+CHR$(130)
`********** SECOND LILLYPAD!! ************
text 200,20,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text 203,20,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text 195,28,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text 200,28,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text 195,36,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text 200,36,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text 200,44,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text 203,44,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text 204,47,CHR$(130)+" "+CHR$(130)
text 207,47,CHR$(130)+" "+CHR$(130)
`********** THIRD LILLYPAD!! ************
text 350,20,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text 353,20,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text 345,28,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text 350,28,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text 345,36,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text 350,36,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text 350,44,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text 353,44,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text 354,47,CHR$(130)+" "+CHR$(130)
text 357,47,CHR$(130)+" "+CHR$(130)
`********** FOURTH LILLYPAD!! ************
text 500,20,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text 503,20,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text 495,28,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text 500,28,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text 495,36,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text 500,36,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text 500,44,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text 503,44,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text 504,47,CHR$(130)+" "+CHR$(130)
text 507,47,CHR$(130)+" "+CHR$(130)
endfunction
Function check_collision()
temp_check = 0
if Froggie.Pos.Y < 220
temp_check = 1
endif
` CHECK FOR FIRST LILLYPAD
if Froggie.Pos.Y <48 AND Froggie.Pos.X > 43 AND Froggie.Pos.X < 93
temp_check = 2
endif
` CHECK FOR SECOND LILLYPAD
if Froggie.Pos.Y <48 AND Froggie.Pos.X > 193 AND Froggie.Pos.X < 243
temp_check = 2
endif
` CHECK FOR THIRD LILLYPAD
if Froggie.Pos.Y <48 AND Froggie.Pos.X > 343 AND Froggie.Pos.X < 393
temp_check = 2
endif
` CHECK FOR FOURTH LILLYPAD
if Froggie.Pos.Y <48 AND Froggie.Pos.X > 493 AND Froggie.Pos.X < 543
temp_check = 2
endif
`CHECK CAR COLLISION!!
for i = 0 to array count(Car())
if Froggie.Pos.Y > Car(i).Pos.Y-20 AND Froggie.Pos.Y < Car(i).Pos.Y+10 AND Froggie.Pos.X > Car(i).Pos.X - 18 AND Froggie.Pos.X < Car(i).Pos.X + 36
temp_check = 3
endif
next i
`CHECK TRUCK COLLISION!!
for i = 0 to array count(Truck())
if Froggie.Pos.Y > Truck(i).Pos.Y-20 AND Froggie.Pos.Y < Truck(i).Pos.Y+10 AND Froggie.Pos.X > Truck(i).Pos.X - 18 AND Froggie.Pos.X < Truck(i).Pos.X + 63
temp_check = 3
endif
next i
`CHECK LOG COLLISION!!
for i = 0 to array count(LogSmall())
if Froggie.Pos.Y > LogSmall(i).Pos.Y-20 AND Froggie.Pos.Y < LogSmall(i).Pos.Y+20 AND Froggie.Pos.X > LogSmall(i).Pos.X - 60 AND Froggie.Pos.X < LogSmall(i).Pos.X + 10
temp_check = 0
if LogSmall(i).Colour = 0
froggie_momentum = -1
else
froggie_momentum = 1
endif
endif
next i
if froggie_momentum = -1
Froggie.Pos.X = Froggie.Pos.X - 1
endif
if froggie_momentum = 1
Froggie.Pos.X = Froggie.Pos.X + 1
endif
if temp_check = 1
ink BLUE,0
Froggie.walktime = 0
Froggie.state = drowned
endif
if temp_check = 2
set cursor screen width()/2-(text width("WIN WIN WIN WIN WIN!")/2),screen height()/2
Print "WIN WIN WIN WIN WIN!"
endif
if temp_check = 3
Froggie.walktime = 0
Froggie.state = squished
endif
endfunction
Function draw_cars()
for i = 0 to array count(Car())
if Car(i).Colour = 0
ink RED,0
else
if Car(i).Colour = 1
ink YELLOW,0
else
if Car(i).Colour = 2
ink PALEBLUE,0
endif
endif
endif
text Car(i).Pos.X,Car(i).Pos.Y,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text Car(i).Pos.X-3,Car(i).Pos.Y,"("+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text Car(i).Pos.X+6,Car(i).Pos.Y-9,"/"+CHR$(130)+CHR$(130)+"\"
text Car(i).Pos.X+3,Car(i).Pos.Y-9," "+CHR$(130)+CHR$(130)+CHR$(130)
ink DARKBLUE,0
text Car(i).Pos.X+2,Car(i).Pos.Y+3,"o o"
next i
ink WHITE,0
endfunction
Function move_cars()
for i = 0 to array count(Car())
if Car(i).Colour = 0
speed = 3
else
speed = 2
endif
Car(i).Pos.X = Car(i).Pos.X - speed
if Car(i).Pos.X < -30
Car(i).Pos.X = screen width()+10+rnd(20)
Car(i).Colour = rnd(2)
endif
next i
endfunction
Function draw_trucks()
for i = 0 to array count(Truck())
if Truck(i).Colour = 0
ink RED,0
else
if Truck(i).Colour = 1
ink YELLOW,0
else
if Truck(i).Colour = 2
ink PALEBLUE,0
endif
endif
endif
text Truck(i).Pos.X,Truck(i).Pos.Y-9,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+" "+CHR$(130)
text Truck(i).Pos.X-3,Truck(i).Pos.Y-9,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+" "+CHR$(130)+"\"
text Truck(i).Pos.X,Truck(i).Pos.Y,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+"="+CHR$(130)
text Truck(i).Pos.X-3,Truck(i).Pos.Y,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+"="+CHR$(130)+CHR$(130)
ink DARKBLUE,0
text Truck(i).Pos.X-2,Truck(i).Pos.Y+4,"O O O"
next i
ink WHITE,0
endfunction
Function move_trucks()
for i = 0 to array count(Truck())
if Truck(i).Colour = 0
speed = 3
else
speed = 2
endif
Truck(i).Pos.X = Truck(i).Pos.X + speed
if Truck(i).Pos.X > screen width()+30
Truck(i).Pos.X = -30-(rnd(10))
Truck(i).Colour = rnd(2)
endif
next i
endfunction
Function reset_player()
wait 100
Froggie.Pos.X = screen width()/2
Froggie.Pos.Y = 500
Froggie.State = FACEUP
endfunction
Function draw_logs()
for i = 0 to array count(LogSmall())
ink BROWN,0
text LogSmall(i).Pos.X-50,LogSmall(i).Pos.Y-4,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text LogSmall(i).Pos.X-47,LogSmall(i).Pos.Y-4,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text LogSmall(i).Pos.X-50,LogSmall(i).Pos.Y,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text LogSmall(i).Pos.X-47,LogSmall(i).Pos.Y,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text LogSmall(i).Pos.X-50,LogSmall(i).Pos.Y+4,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
text LogSmall(i).Pos.X-47,LogSmall(i).Pos.Y+4,CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)+CHR$(130)
next i
endfunction
Function move_logs()
for i = 0 to array count(LogSmall())
if LogSmall(i).Colour = 0
speed = -1
else
speed = 1
endif
LogSmall(i).Pos.X = LogSmall(i).Pos.X + speed
if LogSmall(i).Colour = 1
if LogSmall(i).Pos.X > screen width()+30
LogSmall(i).Pos.X = -30-(rnd(10))
endif
endif
if LogSmall(i).Colour = 0
if LogSmall(i).Pos.X < -30
LogSmall(i).Pos.X = screen width()+10+rnd(20)
endif
endif
next i
endfunction
Function death_squish()
Froggie.walktime = Froggie.walktime + 1
if Froggie.walktime > 80
reset_player()
endif
endfunction
Function draw_squishedfrog()
ink RED,0
text Froggie.Pos.X,Froggie.Pos.Y,"#"
text Froggie.Pos.X+3,Froggie.Pos.Y-2,"#"
text Froggie.Pos.X-4,Froggie.Pos.Y-1,"#"
text Froggie.Pos.X+1,Froggie.Pos.Y+3,"#"
text Froggie.Pos.X-(text width("SQUISH!")/2)+5,Froggie.Pos.Y-20,"SQUISH!"
endfunction
Function draw_drownedfrog()
if Froggie.walktime<5
ink PALEBLUE,0
endif
if Froggie.walktime>5
ink BLUE,0
endif
if Froggie.walktime>10
ink DARKBLUE,0
endif
text Froggie.Pos.X-2,Froggie.Pos.Y,CHR$(130)
text Froggie.Pos.X+2,Froggie.Pos.Y,CHR$(130)
text Froggie.Pos.X-5,Froggie.Pos.Y+3,"/"
text Froggie.Pos.X-2,Froggie.Pos.Y+3,"/"
text Froggie.Pos.X+5,Froggie.Pos.Y+3,"\"
text Froggie.Pos.X+2,Froggie.Pos.Y+3,"\"
text Froggie.Pos.X-7,Froggie.Pos.Y-1,"-"
text Froggie.Pos.X+7,Froggie.Pos.Y-1,"-"
text Froggie.Pos.X-(text width("SPLOOSH!")/2)+5,Froggie.Pos.Y-20,"SPLOOSH!"
endfunction
Function death_drowned()
Froggie.walktime = Froggie.walktime + 1
if Froggie.walktime > 100
reset_player()
endif
endfunction
Function print_ascii()
for i = 130 to 160
print "Ascii:",i," = ",chr$(i)
next i
endfunction
Not suitable for children under 1 due to extreme froggy violence (kindof).
Good luck everyone!