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 |