setscreen ("offscreenonly")
var x, y, button : int
var plx, ply, plhealth, explx, exply, expls : int
var bulx, buly, speed : array 1 .. 10 of int
var explosion : boolean := false
plhealth := 600
bulx (1) := 0
buly (1) := 100
bulx (2) := 0
buly (2) := 200
bulx (3) := 0
buly (3) := 300
bulx (4) := 0
buly (4) := 400
bulx (5) := 0
buly (5) := 500
bulx (6) := 100
buly (6) := 0
bulx (7) := 250
buly (7) := 0
bulx (8) := 300
buly (8) := 0
bulx (9) := 400
buly (9) := 0
bulx (10) := 500
buly (10) := 0
speed (1) := 3
speed (2) := 4
speed (3) := 5
speed (4) := 6
speed (5) := 7
speed (6) := 4
speed (7) := 5
speed (8) := 6
speed (9) := 7
speed (10) := 4
expls := 1
loop
if bulx (1) > maxx then
bulx (1) := -50
randint (buly (1), 20, maxy - 20)
randint (speed (1), 3, 7)
end if
if bulx (2) > maxx then
bulx (2) := -50
randint (buly (2), 20, maxy - 20)
randint (speed (2), 3, 7)
end if
if bulx (3) > maxx then
bulx (3) := -50
randint (buly (3), 20, maxy - 20)
randint (speed (3), 3, 7)
end if
if bulx (4) > maxx then
bulx (4) := -50
randint (buly (4), 20, maxy - 20)
randint (speed (4), 3, 7)
end if
if bulx (5) > maxx then
bulx (5) := -50
randint (buly (5), 20, maxy - 20)
randint (speed (5), 3, 7)
end if
if buly (6) > maxy then
buly (6) := -50
randint (bulx (6), 20, maxx - 20)
randint (speed (6), 3, 7)
end if
if buly (7) > maxy then
buly (7) := -50
randint (bulx (7), 20, maxx - 20)
randint (speed (7), 3, 7)
end if
if buly (8) > maxy then
buly (8) := -50
randint (bulx (8), 20, maxx - 20)
randint (speed (8), 3, 7)
end if
if buly (9) > maxy then
buly (9) := -50
randint (bulx (9), 20, maxx - 20)
randint (speed (9), 3, 7)
end if
if buly (10) > maxy then
buly (10) := -50
randint (bulx (10), 20, maxx - 20)
randint (speed (10), 3, 7)
end if
mousewhere (x, y, button)
View.Update
delay (20)
cls
drawfillbox (10, 10, plhealth, 17, 12)
drawfilloval (x, y, 10, 10, black)
drawline (bulx (1), buly (1), bulx (1) - 20, buly (1), 7)
drawline (bulx (2), buly (2), bulx (2) - 20, buly (2), 7)
drawline (bulx (3), buly (3), bulx (3) - 20, buly (3), 7)
drawline (bulx (4), buly (4), bulx (4) - 20, buly (4), 7)
drawline (bulx (5), buly (5), bulx (5) - 20, buly (5), 7)
drawline (bulx (6), buly (6), bulx (6), buly (6) - 20, 7)
drawline (bulx (7), buly (7), bulx (7), buly (7) - 20, 7)
drawline (bulx (8), buly (8), bulx (8), buly (8) - 20, 7)
drawline (bulx (9), buly (9), bulx (9), buly (9) - 20, 7)
drawline (bulx (10), buly (10), bulx (10), buly (10) - 20, 7)
bulx (1) += speed (1)
bulx (2) += speed (2)
bulx (3) += speed (3)
bulx (4) += speed (4)
bulx (5) += speed (5)
buly (6) += speed (6)
buly (7) += speed (7)
buly (8) += speed (8)
buly (9) += speed (9)
buly (10) += speed (10)
if x > bulx (1) - 30 and x < bulx (1) + 10 and y > buly (1) - 10 and y < buly (1) + 10 then
explosion := true
plhealth -= 10
end if
if x > bulx (2) - 30 and x < bulx (2) + 10 and y > buly (2) - 10 and y < buly (2) + 10 then
explosion := true
plhealth -= 10
end if
if x > bulx (3) - 30 and x < bulx (3) + 10 and y > buly (3) - 10 and y < buly (3) + 10 then
explosion := true
plhealth -= 10
end if
if x > bulx (4) - 30 and x < bulx (4) + 10 and y > buly (4) - 10 and y < buly (4) + 10 then
explosion := true
plhealth -= 10
end if
if x > bulx (5) - 30 and x < bulx (5) + 10 and y > buly (5) - 10 and y < buly (5) + 10 then
explosion := true
plhealth -= 10
end if
if explosion = true then
explx := x - 7
exply := y
drawfilloval (explx, exply, expls, expls, yellow)
expls += 1
end if
if expls >= 13 then
explosion := false
expls := 1
end if
if plhealth <= 0 then
quit
end if
end loop
|