Computer Science Canada

Snake Wall Collision

Author:  Mr. T [ Fri Mar 18, 2005 10:10 pm ]
Post subject:  Snake Wall Collision

I am trying to get my program to exit when the snake hits the black wall.
Can someone explain what I'm doing wrong in my whatdotcolour. thanks
--------------------------------------
%variable declaration
View.Set ("graphics:400;300")
var box1 : int := 0
var box2 := maxy
var box3 := maxx
var box4 := 0
var col : int := 31
var countdown : int := 6
var ballx1 : int := 200
var bally1 : int := 150
var ballsize : int := 5
var move, move2, move3, move4 := false
var key : array char of boolean
move3 := true %starting direction of snake

%gives time for user to get ready
loop
locate (9, 20)
put "Starting in...", countdown - 1
delay (300)
countdown := countdown - 1
cls
exit when countdown = 0
end loop

%ball movement
loop
drawbox (box1, box2, box3, box4, 7)
drawfilloval (ballx1, bally1, ballsize, ballsize, col)
if move then
bally1 += 5
elsif move2 then
bally1 -= 5
elsif move3 then
ballx1 += 5
elsif move4 then
ballx1 -= 5
end if
Input.KeyDown (key)
if key (KEY_UP_ARROW) then %if up arrow is pressed
move2 := false
move3 := false
move4 := false
move := true
elsif key (KEY_DOWN_ARROW) then %if down arrow is pressed
move := false
move3 := false
move4 := false
move2 := true
elsif key (KEY_RIGHT_ARROW) then %if right arrow is pressed
move := false
move2 := false
move4 := false
move3 := true
elsif key (KEY_LEFT_ARROW) then %if left arrow is pressed
move := false
move2 := false
move4 := true
move3 := false
end if
drawfilloval (ballx1, bally1, ballsize, ballsize, 12) %deletes the tail
delay (100)
if whatdotcolour (ballx1, bally1) = black then
exit
end if
end loop


: