| 
var x, y, x1, x2, x3, x4, x5, x0, num, col, win, score : int
 var chars : array char of boolean
 
 x := 0
 y := 0
 x0 := 0
 x1 := 0
 x2 := 0
 x3 := 0
 x4 := 0
 x5 := 0
 win := 0
 score := 10000
 
 drawfillbox (50, 0, 650, 50, 7)
 drawfillbox (0, 351, 50, 400, 7)
 drawfillbox (100, 351, 650, 400, 7)
 drawfillbox (x, y, x + 50, y + 50, 5)
 
 loop
 
 if x = 50 and y = 350 then
 win := 1
 exit
 end if
 
 drawline(0,100,650,100,7)
 drawline(0,150,650,150,7)
 drawline(0,200,650,200,7)
 drawline(0,250,650,250,7)
 drawline(0,300,650,300,7)
 
 Input.KeyDown (chars)
 locate (1, 1)
 
 if chars (KEY_UP_ARROW) and x = 50 and y = 300 then
 drawfillbox (x, y, x + 50, y + 50, 0)
 y := y + 50
 drawfillbox (x, y, x + 50, y + 50, 5)
 delay (51)
 
 elsif chars (KEY_UP_ARROW) and y <= 250 then
 drawfillbox (x, y, x + 50, y + 50, 0)
 y := y + 50
 drawfillbox (x, y, x + 50, y + 50, 5)
 delay (51)
 
 elsif chars (KEY_RIGHT_ARROW) and x <= 520 and y >= 50 then
 drawfillbox (x, y, x + 50, y + 50, 0)
 x := x + 50
 drawfillbox (x, y, x + 50, y + 50, 5)
 delay (51)
 
 elsif chars (KEY_LEFT_ARROW) and x >= 50 then
 drawfillbox (x, y, x + 50, y + 50, 0)
 x := x - 50
 drawfillbox (x, y, x + 50, y + 50, 5)
 delay (51)
 
 elsif chars (KEY_DOWN_ARROW) and x < 50 and y > 0 then
 drawfillbox (x, y, x + 50, y + 50, 0)
 y := y - 50
 drawfillbox (x, y, x + 50, y + 50, 5)
 delay (51)
 
 elsif chars (KEY_DOWN_ARROW) and y > 50 then
 drawfillbox (x, y, x + 50, y + 50, 0)
 y := y - 50
 drawfillbox (x, y, x + 50, y + 50, 5)
 delay (51)
 end if
 delay (50)
 
 randint (num, 0, 6)
 
 if num = 0 then
 drawfillbox (x0, 50, x0 + 100, 100, 2)
 drawfillbox (x0 - 300, 50, x0 + 100 - 300, 100, 1)
 drawfillbox (x0 - 600, 50, x0 + 100 - 600, 100, 45)
 if x >= x0 - 50 and y >= 50 and x + 50 <= x0 + 100 and y <= 99 then
 exit
 elsif x > x0 - 400 and y >= 50 and x + 50 <= x0 + 100 - 300 and y <= 99 then
 exit
 elsif x > x0 - 700 and y >= 50 and x + 50 <= x0 + 100 - 600 and y <= 99 then
 exit
 end if
 x0 := x0 + 50
 drawfillbox (x0 - 50, 50, x0 - 100, 100, 0)
 drawfillbox (x0 - 50 - 300, 50, x0 - 100 - 300, 100, 0)
 drawfillbox (x0 - 50 - 600, 50, x0 - 100 - 600, 100, 0)
 delay (5)
 if x0 >= 1270 then
 x0 := 0
 end if
 
 elsif num = 1 then
 drawfillbox (x1, 100, x1 + 100, 150, 3)
 drawfillbox (x1 - 300, 100, x1 + 100 - 300, 150, 4)
 drawfillbox (x1 - 600, 100, x1 + 100 - 600, 150, 3)
 if x >= x1 - 50 and y >= 100 and x + 50 <= x1 + 150 and y <= 149 then
 exit
 elsif x > x1 - 400 and y >= 100 and x + 50 <= x1 + 150 - 300 and y <= 149 then
 exit
 elsif x > x1 - 700 and y >= 100 and x + 50 <= x1 + 150 - 600 and y <= 149 then
 exit
 end if
 x1 := x1 + 50
 drawfillbox (x1 - 50, 100, x1 - 100, 150, 0)
 drawfillbox (x1 - 50 - 300, 100, x1 - 100 - 300, 150, 0)
 drawfillbox (x1 - 50 - 600, 100, x1 - 100 - 600, 150, 0)
 delay (5)
 if x1 >= 1270 then
 x1 := 0
 end if
 
 elsif num = 2 then
 drawfillbox (x2, 150, x2 + 100, 200, 94)
 drawfillbox (x2 - 300, 150, x2 + 100 - 300, 200, 78)
 drawfillbox (x2 - 600, 150, x2 + 100 - 600, 200, 68)
 if x >= x2 - 50 and y >= 150 and x + 50 <= x2 + 150 and y <= 199 then
 exit
 elsif x > x2 - 400 and y >= 150 and x + 50 <= x2 + 150 - 300 and y <= 199 then
 exit
 elsif x > x2 - 700 and y >= 150 and x + 50 <= x2 + 150 - 600 and y <= 199 then
 exit
 end if
 x2 := x2 + 50
 drawfillbox (x2 - 50, 150, x2 - 100, 200, 0)
 drawfillbox (x2 - 50 - 300, 150, x2 - 100 - 300, 200, 0)
 drawfillbox (x2 - 50 - 600, 150, x2 - 100 - 600, 200, 0)
 delay (5)
 if x2 >= 1270 then
 x2 := 0
 end if
 
 elsif num = 3 then
 drawfillbox (x3, 200, x3 + 100, 250, 6)
 drawfillbox (x3 - 300, 200, x3 + 100 - 300, 250, 38)
 drawfillbox (x3 - 600, 200, x3 + 100 - 600, 250, 97)
 if x >= x3 - 50 and y >= 200 and x + 50 <= x3 + 150 and y <= 249 then
 exit
 elsif x > x3 - 400 and y >= 200 and x + 50 <= x3 + 150 - 300 and y <= 249 then
 exit
 elsif x > x3 - 700 and y >= 200 and x + 50 <= x3 + 150 - 600 and y <= 249 then
 exit
 end if
 x3 := x3 + 50
 drawfillbox (x3 - 50, 200, x3 - 100, 250, 0)
 drawfillbox (x3 - 50 - 300, 200, x3 - 100 - 300, 250, 0)
 drawfillbox (x3 - 50 - 600, 200, x3 - 100 - 600, 250, 0)
 delay (5)
 if x3 >= 1270 then
 x3 := 0
 end if
 
 elsif num = 4 then
 drawfillbox (x4, 250, x4 + 100, 300, 9)
 drawfillbox (x4 - 300, 250, x4 + 100 - 300, 300, 10)
 drawfillbox (x4 - 600, 250, x4 + 100 - 600, 300, 9)
 if x >= x4 - 50 and y >= 250 and x + 50 <= x4 + 150 and y <= 299 then
 exit
 elsif x > x4 - 400 and y >= 250 and x + 50 <= x4 + 150 - 300 and y <= 299 then
 exit
 elsif x > x4 - 700 and y >= 250 and x + 50 <= x4 + 150 - 600 and y <= 299 then
 exit
 end if
 x4 := x4 + 50
 drawfillbox (x4 - 50, 250, x4 - 100, 300, 0)
 drawfillbox (x4 - 50 - 300, 250, x4 - 100 - 300, 300, 0)
 drawfillbox (x4 - 50 - 600, 250, x4 - 100 - 600, 300, 0)
 delay (5)
 if x4 >= 1270 then
 x4 := 0
 end if
 
 elsif num = 5 then
 drawfillbox (x5, 300, x5 + 100, 350, 57)
 drawfillbox (x5 - 300, 300, x5 + 100 - 300, 350, 3)
 drawfillbox (x5 - 600, 300, x5 + 100 - 600, 350, 50)
 if x >= x4 - 50 and y >= 300 and x + 50 <= x4 + 150 and y <= 349 then
 exit
 elsif x > x5 - 400 and y >= 300 and x + 50 <= x5 + 150 - 300 and y <= 349 then
 exit
 elsif x > x5 - 700 and y >= 300 and x + 50 <= x5 + 150 - 600 and y <= 349 then
 exit
 end if
 x5 := x5 + 50
 drawfillbox (x5 - 50, 300, x5 - 100, 350, 0)
 drawfillbox (x5 - 50 - 300, 300, x5 - 100 - 300, 350, 0)
 drawfillbox (x5 - 50 - 600, 300, x5 - 100 - 600, 350, 0)
 delay (5)
 if x5 >= 1270 then
 x5 := 0
 end if
 
 end if
 if score > 0 then
 score := score - 1
 end if
 
 end loop
 
 delay (500)
 cls
 
 if win = 1 then
 put "You Win! Your Score was: ", score
 else
 put "Game Over"
 end if
 
 |