var pacman_x, pacman_y : int := 200
var mouth_draw_stage : int := 0
var mouth_move : string := "open"
loop
if mouth_draw_stage < 3 and mouth_move = "open" then
Draw.FillBox (0, 0, maxx, maxy, 255)
Draw.FillOval (pacman_x, pacman_y, 8, 8, 14)
delay (300)
Draw.Line (pacman_x, pacman_y, pacman_x - 2, pacman_y + 8, 255)
Draw.Line (pacman_x, pacman_y, pacman_x + 2, pacman_y + 8, 255)
Draw.Fill (pacman_x, pacman_y + 7, 255, 255)
delay (300)
Draw.Line (pacman_x, pacman_y, pacman_x - 6, pacman_y + 8, 255)
Draw.Line (pacman_x, pacman_y, pacman_x + 6, pacman_y + 8, 255)
Draw.Fill (pacman_x - 3, pacman_y + 6, 255, 255)
Draw.Fill (pacman_x + 3, pacman_y + 7, 255, 255)
delay (300)
elsif mouth_draw_stage = 3 then
Draw.FillBox (0, 0, maxx, maxy, 255)
Draw.FillOval (pacman_x, pacman_y, 8, 8, 14)
delay (300)
Draw.Line (pacman_x, pacman_y, pacman_x + 2, pacman_y - 8, 255)
Draw.Line (pacman_x, pacman_y, pacman_x - 2, pacman_y - 8, 255)
Draw.Fill (pacman_x, pacman_y - 7, 255, 255)
delay (300)
Draw.Line (pacman_x, pacman_y, pacman_x + 6, pacman_y - 8, 255)
Draw.Line (pacman_x, pacman_y, pacman_x - 6, pacman_y - 8, 255)
Draw.Fill (pacman_x + 3, pacman_y - 6, 255, 255)
Draw.Fill (pacman_x - 3, pacman_y - 7, 255, 255)
delay (300)
mouth_move := "close"
end if
if mouth_move = "close" then
Draw.FillBox (0, 0, maxx, maxy, 255)
Draw.FillOval (pacman_x, pacman_y, 8, 8, 14)
delay (300)
Draw.Line (pacman_x, pacman_y, pacman_x + 2, pacman_y - 8, 255)
Draw.Line (pacman_x, pacman_y, pacman_x - 2, pacman_y - 8, 255)
Draw.Fill (pacman_x, pacman_y - 7, 255, 255)
delay (300)
Draw.Line (pacman_x, pacman_y, pacman_x + 6, pacman_y - 8, 255)
Draw.Line (pacman_x, pacman_y, pacman_x - 6, pacman_y - 8, 255)
Draw.Fill (pacman_x + 3, pacman_y - 6, 255, 255)
Draw.Fill (pacman_x - 3, pacman_y - 7, 255, 255)
delay (300)
end if
if mouth_draw_stage = 1 then
mouth_move := "open"
end if
%Main Program Under Here
end loop
|