setscreen("graphics,nocursor,noecho")
var move1, move2, move3 : int
Draw.Fill (1, 1, 18, 18)
loop
move2 := Rand.Int (0, 500)
move3 := 10
move1 := Rand.Int (0, 700)
for decreasing c : 31 .. 18
Draw.Star (move1, move2, move3, move3, c)
delay (100)
Draw.Star (move1, move2, move3, move3, 18)
move3 := move3 + 8
end for
var s,font1, star1x, star1y, star2x, star2y, star3x, star3y, star4x, star4y, chop, speed : int
speed := 300
Draw.Fill (1, 1, 16, 16)
font1 := Font.New ("Tomaha:12")
assert font1 > 0
Font.Draw ("A Starry Night... ", 300, 250, font1, 77)
delay (4000)
Draw.Cls
Draw.Fill(16,16,16,16)
%stars
s := 10
loop
Draw.FillStar (15, 460, 35, 480, 92)
Draw.FillStar (20, 465, 30, 475, 92)
delay(100)
Draw.FillBox (20, 465, 30, 475, 16)
Draw.FillStar (55, 435, 65, 445, 92)
delay(100)
Draw.FillBox (55, 435, 65, 445, 16)
Draw.FillStar (105, 465, 115, 475, 67)
Draw.FillStar (150, 450, 160, 460, 68)
Draw.FillStar (450, 450, 460, 460, 69)
Draw.FillStar (390, 380, 400, 390, 70)
Draw.FillStar (155, 410, 175, 430, 71)
Draw.FillStar (380, 420, 400, 440, 93)
Draw.FillStar (350, 450, 360, 460, 74)
Draw.FillStar (240, 430, 260, 450, 75)
Draw.FillStar (470, 350, 480, 360, 9)
Draw.FillStar (680, 440, 690, 450, 76)
Draw.FillStar (620, 450, 630, 460, 77)
Draw.FillStar (580, 430, 560, 450, 78)
Draw.FillStar (540, 470, 550, 480, 101)
Draw.FillStar (320, 470, 330, 480, 103)
Draw.FillStar (250, 470, 260, 480, 103)
delay (100)
Draw.FillStar (15, 460, 35, 480, 1)
Draw.FillStar (20, 465, 30, 475, 1)
Draw.FillStar (90, 420, 100, 430, 1)
Draw.FillStar (55, 435, 65, 445, 1)
Draw.FillStar (100, 460, 120, 480, 1)
Draw.FillStar (105, 465, 115, 475, 1)
Draw.FillStar (15, 460, 35, 480, 41)
delay (100)
Draw.FillBox (15, 460, 35, 480, 16)
Draw.FillStar (20, 465, 30, 475, 41)
delay (100)
Draw.FillBox (20, 465, 30, 475, 16)
Draw.FillStar (50, 430, 70, 450, 41)
delay (100)
Draw.FillBox (50, 430, 70, 450, 16)
Draw.FillStar (55, 435, 65, 445, 41)
delay (100)
Draw.FillBox (55, 435, 65, 445, 16)
Draw.FillStar (100, 460, 120, 480, 41)
delay (100)
Draw.FillBox (100, 460, 120, 480, 16)
Draw.FillStar (105, 465, 115, 475, 41)
delay (150)
Draw.FillBox (105, 465, 115, 475, 16)
delay (100)
Draw.FillStar (15, 460, 35, 480, 41)
delay (100)
Draw.FillBox (15, 460, 35, 480, 16)
Draw.FillStar (20, 465, 30, 475, 41)
delay (100)
Draw.FillBox (20, 465, 30, 475, 16)
Draw.FillStar (70, 270, 90, 290, 41)
delay (100)
Draw.FillBox (70, 270, 90, 290, 16)
Draw.FillStar (25, 190, 95, 135, 41)
delay (100)
Draw.FillBox (25, 190, 95, 135, 16)
Draw.FillStar (100, 460, 120, 480, 41)
delay (100)
Draw.FillBox (100, 460, 120, 480, 16)
Draw.FillStar (105, 465, 115, 475, 41)
delay (100)
Draw.FillBox (105, 465, 115, 475, 16)
Draw.FillStar (15, 460, 35, 480, 41)
delay (100)
Draw.FillBox (15, 460, 35, 480, 16)
Draw.FillStar (20, 465, 30, 475, 41)
delay (100)
Draw.FillBox (20, 465, 30, 475, 16)
Draw.FillStar (50, 430, 70, 450, 41)
delay (100)
Draw.FillBox (50, 430, 70, 450, 16)
Draw.FillStar (55, 435, 65, 445, 41)
delay (100)
Draw.FillBox (55, 435, 65, 445, 16)
Draw.FillStar (440, 410, 460, 430, 10)
delay (100)
Draw.FillBox (440, 410, 460, 430, 16)
Draw.FillStar(320, 430, 330, 440, 89)
delay (150)
Draw.FillBox (320, 430, 330, 440, 16)
delay (100)
Draw.FillStar (15, 460, 35, 480, 41)
delay (100)
Draw.FillStar (520, 430, 530, 440, 96)
Draw.FillStar (520, 430, 530, 440, 53)
delay (100)
Draw.FillBox (20, 465, 30, 475, 53)
s := s + 1
exit when s = 30
Draw.Fill (1, 1, 16, 16)
Font.Draw ("Except the stars start to fall out of the sky... ", 190, 190, font1, 12)
delay (4000)
Draw.Fill (1, 1, 77, 77)
Draw.Fill (1, 1, 16, 16)
font1 := Font.New ("Tomaha:15")
assert font1 > 0
Font.Draw ("Can you dodge the stars?... ", 290, 300, font1, 76)
delay (4000)
Font.Draw("Find out and PLAY!",190, 180, font1, 77)
Draw.Fill(1,1,16,16)
Draw.Cls
Draw.Fill (1, 1, 21, 21)
star1x := 280
star1y := 500
star2x := 390
star2y := 650
star3x := 500
star3y := 820
star4x := 610
star4y := 980
loop
%star1
for x : 1..500 by speed
Draw.FillStar (star1x, star1y, star1x + 40, star1y + 40, 75)
Draw.FillStar (star1x, star1y, star1x + 40, star1y + 40, 16)
end for
%box2
for x : 1..500 by speed
Draw.FillStar (star2x, star2y, star2x + 40, star2y + 40, 79)
Draw.FillStar (star2x, star2y, star2x + 40, star2y + 40, 16)
end for
%box3
for x : 1..500 by speed
Draw.FillStar (star3x, star3y, star3x + 40, star3y + 40, 77)
Draw.FillStar (star3x, star3y, star3x + 40, star3y + 40, 16)
end for
%box4
for x : 1..500 by speed
Draw.FillStar (star4x, star4y, star4x + 40, star4y + 40, 74)
Draw.FillStar (star4x, star4y, star4x + 40, star4y + 40, 16)
end for
%box1
for x : 1..500 by speed
Draw.FillStar (star1x, star1y, star1x + 40, star1y + 40, 75)
Draw.FillStar (star1x, star1y, star1x + 40, star1y + 40, 16)
end for
%box2
for x: 1..500 by speed
Draw.FillStar (star2x, star2y, star2x + 40, star2y + 40, 79)
Draw.FillStar (star2x, star2y, star2x + 40, star2y + 40, 16)
end for
%box3
for x :1..500 by speed
Draw.FillStar (star3x, star3y, star3x + 40, star3y + 40, 77)
Draw.FillStar (star3x, star3y, star3x + 40, star3y + 40, 16)
end for
%box4
for x : 1..500 by speed
Draw.FillStar (star4x, star4y, star4x + 40, star4y + 40, 74)
Draw.FillStar (star4x, star4y, star4x + 40, star4y + 40, 16)
end for
if star1y + 40 < 0 or star2y + 40 < 0 or star3y + 40 < 0 or star4y + 40 < 0
then
chop := Rand.Int (1, 4)
if chop = 1 and star1y + 40 < 0 then
star1x := 280
star1y := 500
elsif chop = 2 and star1y + 40 < 0 then
star1x := 390
star1y := 500
elsif chop = 3 and star1y + 40 < 0 then
star1x := 500
star1y := 500
elsif chop = 4 and star1y + 40 < 0 then
star1x := 610
star1y := 500
elsif chop = 1 and star2y + 40 < 0 then
star2x := 280
star2y := 500
elsif chop = 2 and star2y + 40 < 0 then
star2x := 390
star2y := 500
elsif chop = 3 and star2y + 40 < 0 then
star2x := 500
star2y := 500
elsif chop = 4 and star2y + 40 < 0 then
star2x := 610
star2y := 500
elsif chop = 1 and star3y + 40 < 0 then
star3x := 280
star3y := 500
elsif chop = 2 and star3y + 40 < 0 then
star3x := 390
star3y := 500
elsif chop = 3 and star3y + 40 < 0 then
star3x := 500
star3y := 500
elsif chop = 4 and star3y + 40 < 0 then
star3x := 610
star3y := 500
elsif chop = 1 and star4y + 40 < 0 then
star4x := 280
star4y := 500
elsif chop = 2 and star4y + 40 < 0 then
star4x := 390
star4y := 500
elsif chop = 3 and star4y + 40 < 0 then
star4x := 500
star4y := 500
elsif chop = 4 and star4y + 40 < 0 then
star4x := 610
star4y := 500
end if
end if
star1y := star1y - 1
star2y := star2y - 1
star3y := star3y - 1
star4y := star4y - 1
Draw.Fill (1, 1, 16, 16)
end loop
end loop
end loop
|