' j„ttelamt hopkraffs av od0 och Biot pga sysslol”shet

DIM xx(0 TO 360) AS INTEGER, yy(0 TO 360) AS INTEGER
DIM oo(0 TO 360) AS INTEGER, pp(0 TO 360) AS INTEGER
DIM sn(40)
DIM nm(20)
DIM nn(20)

' antal flingor som ska falla †t g†ngen
afl = 7: tal = 1
mat = 5

' declarera variblerna i matrisserna
GOSUB nndeclare
GOSUB snodeclare

' 320x200x256
SCREEN 13

' Visa introtexten
GOSUB odotext

' Visa sn”effekten
GOSUB snofall

' Sn”a lite till
GOSUB mersno

' Bort med sn”n
LINE (0, 0)-(320, 240), 15, BF
SOUND 30000, 1
LINE (0, 0)-(320, 240), 0, BF

' text
text1$ = "First some WireFrame"
text2$ = "3D. Guardshading sux."
text3$ = "This is raw qb power."
GOSUB textp

' G† vidare med kubis
GOSUB kuben
SLEEP 1

' blink
LINE (0, 0)-(320, 240), 15, BF
SOUND 30000, 1
LINE (0, 0)-(320, 240), 0, BF

text1$ = "Gravitation emulation"
text2$ = "is right about to be"
text3$ = "shown...behold.. =)"
GOSUB textp

LINE (0, 0)-(320, 240), 15, BF
SOUND 30000, 1
LINE (0, 0)-(320, 240), 0, BF

' bollarna
GOSUB gravity

LINE (0, 0)-(320, 240), 15, BF
SOUND 30000, 1
LINE (0, 0)-(320, 240), 0, BF

text1$ = "Now it is time for"
text2$ = "the thrilling laser!"
text3$ = "weeeeho!!! =)))"
GOSUB textp

CLS
LINE (0, 0)-(320, 240), 15, BF
SOUND 30000, 1
LINE (0, 0)-(320, 240), 0, BF

' lasern
GOSUB laser

LINE (0, 0)-(320, 240), 15, BF
SOUND 30000, 1
LINE (0, 0)-(320, 240), 0, BF

' Robins m”g
GOSUB samba

LINE (0, 0)-(320, 240), 15, BF
SOUND 30000, 1
LINE (0, 0)-(320, 240), 0, BF

text1$ = "Thats it (not to bad for a night"
text2$ = "of coding). There will be more to"
text3$ = "see next year!! =)    /Biot & od0"
GOSUB textp

LINE (0, 0)-(320, 240), 15, BF
SOUND 30000, 1
LINE (0, 0)-(320, 240), 0, BF

'eftertexter
GOSUB etxt

END

nyvar:
RANDOMIZE TIMER
nm(z) = INT(RND * 39 + 1)
nn(z) = 1
RETURN

rewrite:
' rita om allt
ferg = 15
COLOR ferg
CIRCLE (105, 100), 20
CIRCLE (150, 100), 20
LINE (170, 117)-(170, 57)
CIRCLE (200, 87), 31, ferg, , , 1.19
RETURN

odotext:
COLOR 15
FOR i = 200 TO 1 STEP -1

   CIRCLE (150, 100 + i), 20 + i                                                 'real
   CIRCLE (150, 100 + i + 1), 20 + i + 1, 0                                         'hide old
   LINE (170 + i + 1, 117 + ((i + 1) * 1.7))-(170 + i + 1, 57 - ((i + 1) / 2)), 0'real
   LINE (170 + i, 117 + (i * 1.7))-(170 + i, 57 - (i / 2))                      'hide old

   CIRCLE (105 - ((i + 1) * 2), 100 + (i + 1)), 20 + i + 1, 0  'hide old one
   CIRCLE (105 - (i * 2), 100 + i), 20 + i                     'show new

   CIRCLE (200 + ((i + 1) * 2), 87 + (i + 1)), 31 + (i + 1), 0, , , 1.19
   CIRCLE (200 + (i * 2), 87 + i), 31 + i, 15, , , 1.19
   SOUND 30000, .1                                                'short paus
NEXT
CLS
GOSUB rewrite
RETURN

snodeclare:
' S„tta upp maxv„rde f”r sn”n
FOR i = 1 TO 10
 sn(i) = 23
NEXT

sn(11) = 12: sn(12) = 12: sn(13) = 11: sn(14) = 11
sn(15) = 11: sn(16) = 12: sn(17) = 12: sn(18) = 11
sn(19) = 11: sn(20) = 11: sn(21) = 12: sn(22) = 8
sn(23) = 8: sn(24) = 7: sn(25) = 7: sn(26) = 7
sn(27) = 8: sn(28) = 9: sn(29) = 12
FOR i = 30 TO 40
 sn(i) = 23
NEXT
RETURN

nndeclare:
FOR i = 1 TO 20
   nn(i) = 1
NEXT
RETURN

snofall:
igen:
i = 1
RANDOMIZE TIMER

FOR z = 1 TO afl
   nm(z) = INT(RND * 39 + 1)
NEXT

DO
tot = tot + 1
   FOR z = 1 TO afl
      IF nn(z) > 23 THEN GOSUB nyvar
      COLOR 15: LOCATE nn(z), nm(z): PRINT "*"
   NEXT
   SOUND 30000, 1.5
 
   FOR z = 1 TO afl
      IF nn(z) = sn(nm(z)) THEN
         sn(nm(z)) = sn(nm(z)) - 1
         GOSUB nyvar
      END IF
   NEXT

   FOR z = 1 TO afl
      COLOR 0: LOCATE nn(z), nm(z): PRINT "*"
      nn(z) = nn(z) + 1
   NEXT

IF endlich = 1 THEN
   IF tot = 3 THEN
      RETURN
   END IF
   GOTO cp
END IF
IF tot = mat THEN GOSUB text1
IF tot > 200 THEN GOSUB sink
IF tot < 200 THEN GOSUB rewrite
IF tot = 210 THEN LINE (20, 20)-(300, 120), 0, BF
IF tot = 218 THEN RETURN
cp:
LOOP
RETURN

sink:
   COLOR 15
   CIRCLE (105, 100 + bi), 20, 0
   CIRCLE (150, 100 + bi), 20, 0
   LINE (170, 117 + bi)-(170, 57 + bi), 0
   CIRCLE (200, 87 + bi), 31, 0, , , 1.19
   bi = bi + bt
   bt = bt + 2
   CIRCLE (105, 100 + bi), 20
   CIRCLE (150, 100 + bi), 20
   LINE (170, 117 + bi)-(170, 57 + bi)
   CIRCLE (200, 87 + bi), 31, 15, , , 1.19
   GOSUB sinktxt
RETURN

sinktxt:
' sn(11-29)

FOR i = 11 TO 29
   IF sn(i) <= 1 THEN i = i + 1
   IF sn(i) >= 22 THEN i = i + 1
   IF i > 29 GOTO slutet
   COLOR 0: LOCATE sn(i), i: PRINT "*"
   sn(i) = sn(i) + (bi / 10)
   IF sn(i) >= 22 THEN
      sn(i) = 1
      GOTO hopet
   END IF
   COLOR 15: LOCATE sn(i), i: PRINT "*"
hopet:
NEXT
slutet:
RETURN

mersno:
FOR i = 1 TO 40
   sn(i) = 22
NEXT
tot = 0
endlich = 1
GOSUB snofall
RETURN

text1:
mat = mat + 1
grym = grym + tal
COLOR 16 + grym
IF qw = 0 OR qw = 1 THEN
   LOCATE 17, 17: PRINT "and"
   END IF
IF qw = 3 OR qw = 2 THEN
   LOCATE 19, 13: PRINT "Biot"
END IF
IF qw = 4 OR qw = 5 THEN
   LOCATE 18, 14: PRINT "proudly (hehe)"
END IF

IF qw = 6 OR qw = 7 THEN
   LOCATE 17, 13: PRINT "presents our"
   END IF
IF qw = 8 OR qw = 9 THEN
   LOCATE 19, 13: PRINT "first demo.. =)"
END IF
IF qw = 10 OR qw = 11 THEN
   LOCATE 18, 14: PRINT "NIVSRATJEKS!"
END IF

IF qw = 12 OR qw = 13 THEN
   LOCATE 17, 13: PRINT "here"
   END IF
IF qw = 14 OR qw = 15 THEN
   LOCATE 19, 13: PRINT "it COMES!"
END IF
IF qw = 16 OR qw = 17 THEN
   LOCATE 18, 14: PRINT ""
END IF
IF qw = 18 OR qw = 19 THEN
   LOCATE 18, 14: PRINT ""
END IF


IF grym = 0 OR grym = 13 THEN
   tal = -tal: qw = qw + 1
END IF
RETURN

kuben:
SCREEN 13
ef1 = 41: ef2 = 40: ef3 = 39: ef4 = 38: ef5 = 37: ef6 = 36: ef7 = 35

FOR i = 0 TO 360
xx(i) = COS(i * 3.14 / 180) * 20 * 2
yy(i) = SIN(i * 3.14 / 180) * 20
NEXT

xa = 150: ya = 70 + 8
xb = 150: yb = 110 + 8
offcolor = 0
oncolor = 15

DO UNTIL INKEY$ <> ""
 m = m + 1
 IF m = 30 THEN RETURN
 FOR i = 1 TO 90
   'ovan enabla
   LINE (xa + xx(i), ya + yy(i))-(xa + xx(i + 90), ya + yy(i + 90)), oncolor
   LINE (xa + xx(i + 90), ya + yy(i + 90))-(xa + xx(i + 180), ya + yy(i + 180)), oncolor
   LINE (xa + xx(i + 180), ya + yy(i + 180))-(xa + xx(i + 270), ya + yy(i + 270)), oncolor
   LINE (xa + xx(i + 270), ya + yy(i + 270))-(xa + xx(i), ya + yy(i)), oncolor
   'under enabla
   LINE (xb + xx(i), yb + yy(i))-(xb + xx(i + 90), yb + yy(i + 90)), oncolor
   LINE (xb + xx(i + 90), yb + yy(i + 90))-(xb + xx(i + 180), yb + yy(i + 180)), oncolor
   LINE (xb + xx(i + 180), yb + yy(i + 180))-(xb + xx(i + 270), yb + yy(i + 270)), oncolor
   LINE (xb + xx(i + 270), yb + yy(i + 270))-(xb + xx(i), yb + yy(i)), oncolor
   'mellan enabla
   LINE (xa + xx(i), ya + yy(i))-(xb + xx(i), yb + yy(i)), oncolor
   LINE (xa + xx(i + 90), ya + yy(i + 90))-(xb + xx(i + 90), yb + yy(i + 90)), oncolor
   LINE (xa + xx(i + 180), ya + yy(i + 180))-(xb + xx(i + 180), yb + yy(i + 180)), oncolor
   LINE (xa + xx(i + 270), ya + yy(i + 270))-(xb + xx(i + 270), yb + yy(i + 270)), oncolor
  
   SOUND 30000, .09
   'ovan off
   LINE (xa + xx(i), ya + yy(i))-(xa + xx(i + 90), ya + yy(i + 90)), offcolor
   LINE (xa + xx(i + 90), ya + yy(i + 90))-(xa + xx(i + 180), ya + yy(i + 180)), offcolor
   LINE (xa + xx(i + 180), ya + yy(i + 180))-(xa + xx(i + 270), ya + yy(i + 270)), offcolor
   LINE (xa + xx(i + 270), ya + yy(i + 270))-(xa + xx(i), ya + yy(i)), offcolor
   'under off
   LINE (xb + xx(i), yb + yy(i))-(xb + xx(i + 90), yb + yy(i + 90)), offcolor
   LINE (xb + xx(i + 90), yb + yy(i + 90))-(xb + xx(i + 180), yb + yy(i + 180)), offcolor
   LINE (xb + xx(i + 180), yb + yy(i + 180))-(xb + xx(i + 270), yb + yy(i + 270)), offcolor
   LINE (xb + xx(i + 270), yb + yy(i + 270))-(xb + xx(i), yb + yy(i)), offcolor
   'mellan off
   LINE (xa + xx(i), ya + yy(i))-(xb + xx(i), yb + yy(i)), offcolor
   LINE (xa + xx(i + 90), ya + yy(i + 90))-(xb + xx(i + 90), yb + yy(i + 90)), offcolor
   LINE (xa + xx(i + 180), ya + yy(i + 180))-(xb + xx(i + 180), yb + yy(i + 180)), offcolor
   LINE (xa + xx(i + 270), ya + yy(i + 270))-(xb + xx(i + 270), yb + yy(i + 270)), offcolor
 NEXT
 GOSUB suben1
LOOP
RETURN

suben1:
cpcolor = 33
IF ef + cpcolor = 42 THEN RETURN
COLOR cpcolor + ef
ef = ef + 1

COLOR ef1
LOCATE 2, 18: PRINT "F"
IF ef = 1 THEN ef2 = ef1

COLOR ef2
LOCATE 2, 17: PRINT "e"
LOCATE 2, 19: PRINT "r"
IF ef = 2 THEN ef3 = ef2

COLOR ef3
LOCATE 2, 16: PRINT "r"
LOCATE 2, 20: PRINT "a"
IF ef = 3 THEN ef4 = ef3

COLOR ef4
LOCATE 2, 15: PRINT "i"
LOCATE 2, 21: PRINT "m"
IF ef = 4 THEN ef5 = ef4

COLOR ef5
LOCATE 2, 14: PRINT "W"
LOCATE 2, 22: PRINT "e"
IF ef = 5 THEN ef6 = ef5

COLOR ef6
LOCATE 2, 13: PRINT "="
LOCATE 2, 23: PRINT "="
IF ef = 6 THEN ef7 = ef6

COLOR ef7
LOCATE 2, 12: PRINT "-"
LOCATE 2, 24: PRINT "-"
IF ef = 7 THEN
   ef1 = 41: ef2 = 40: ef3 = 39: ef4 = 38: ef5 = 37: ef6 = 36: ef7 = 35: ef = 0
END IF
RETURN


textp:
SCREEN 12
LOCATE 12, 50 - LEN(text1$): PRINT text1$
LOCATE 13, 50 - LEN(text2$): PRINT text2$
LOCATE 14, 50 - LEN(text3$): PRINT text3$
SLEEP 3
RETURN

samba:
'COLOR 27: PRINT hej
'COLOR 20: PRINT gfsd
'COLOR 30: PRINT fds

x = 0: y = 0: g = 0: c = 0

tome:
'RANDOMIZE TIMER
'x = INT(RND * 319) + 1
'y = INT(RND * 199) + 1
'u = u + 1
'g = g + 1
'IF g = 1 THEN c = 0
'IF g = 2 THEN c = 30
'IF g = 3 THEN g = 0
'COLOR c
'LINE (x, y)-(x + 20, y + 2), c, BF
'IF u = 6000 GOTO gf
'GOTO tome

gf:
LINE (0, 0)-(320, 240), 15, BF
SOUND 30000, 1
LINE (0, 0)-(320, 240), 0, BF
text1$ = "Now some more 3D!"
text2$ = "enjoy those ..."
text3$ = "hm..whatever..."
GOSUB textp
SCREEN 13
LINE (0, 0)-(320, 240), 15, BF
SOUND 30000, 1
LINE (0, 0)-(320, 240), 0, BF

SCREEN 13: CLS
CONST PI = 3.141592653589793#

CheckVal = 0: Vari1 = 0
Add = .1: Speed = .5
Change = 30: XY = 50
TheColor = 18: haha = 0

COLOR 15: LOCATE 1, 1: PRINT "QB raw power! =)"

TheDecLoop:

CIRCLE (XY + 60, XY), 30, TheColor, -PI + Add, -PI / 2 + Add
CIRCLE (XY + Change + 60, XY + Change), 35, TheColor + 2, -PI + Add, -PI / 2 + Add
CIRCLE (XY + (Change * 2) + 60, XY + (Change * 2)), 40, TheColor + 4, -PI + Add, -PI / 2 + Add
CIRCLE (XY + (Change * 3) + 60, XY + (Change * 3)), 45, TheColor + 6, -PI + Add, -PI / 2 + Add

LINE (XY + 60, XY)-(XY + Change + 60, XY + Change), TheColor + 2
LINE (XY + Change + 60, XY + Change)-(XY + Change * 2 + 60, XY + Change * 2), TheColor + 4
LINE (XY + Change * 2 + 60, XY + Change * 2)-(XY + Change * 3 + 60, XY + Change * 3), TheColor + 6

SOUND 30000, Speed

CIRCLE (XY + 60, XY), 30, 0, -PI + Add, -PI / 2 + Add
CIRCLE (XY + Change + 60, XY + Change), 35, 0, -PI + Add, -PI / 2 + Add
CIRCLE (XY + (Change * 2) + 60, XY + (Change * 2)), 40, 0, -PI + Add, -PI / 2 + Add
CIRCLE (XY + (Change * 3) + 60, XY + (Change * 3)), 45, 0, -PI + Add, -PI / 2 + Add

LINE (XY + 120, XY + 60)-(XY + Change + 60, XY + Change), 0
LINE (XY + Change + 60, XY + Change)-(XY + Change * 2 + 60, XY + Change * 2), 0
LINE (XY + Change * 2 + 60, XY + Change * 2)-(XY + Change * 3 + 60, XY + Change * 3), 0

Vari1 = Vari1 + 1: Change = Change - 1

IF Change = 0 THEN GOTO TheIncLoop

IF CheckVal = 0 THEN
   Add = Add + .1
ELSE
   Add = Add - .1
END IF

IF Add > 1.2 THEN CheckVal = 1
IF Add < -3 THEN CheckVal = 0

GOTO TheDecLoop

TheIncLoop:

mjau = mjau + 1
IF mjau = 300 THEN RETURN

IF haha = 0 THEN hehe = hehe + 1
IF hehe = 100 THEN
   COLOR 0: LOCATE 1, 1: PRINT "QBasic power. =)"
   haha = 1
   hehe = 0
END IF
CIRCLE (XY + 60, XY), 30, TheColor, -PI + Add, -PI / 2 + Add
CIRCLE (XY + Change + 60, XY + Change), 35, TheColor + 2, -PI + Add, -PI / 2 + Add
CIRCLE (XY + (Change * 2) + 60, XY + (Change * 2)), 40, TheColor + 4, -PI + Add, -PI / 2 + Add
CIRCLE (XY + (Change * 3) + 60, XY + (Change * 3)), 45, TheColor + 6, -PI + Add, -PI / 2 + Add

LINE (XY + 60, XY)-(XY + Change + 60, XY + Change), TheColor + 2
LINE (XY + Change + 60, XY + Change)-(XY + Change * 2 + 60, XY + Change * 2), TheColor + 4
LINE (XY + Change * 2 + 60, XY + Change * 2)-(XY + Change * 3 + 60, XY + Change * 3), TheColor + 6

SOUND 30000, Speed

CIRCLE (XY + 60, XY), 30, 0, -PI + Add, -PI / 2 + Add
CIRCLE (XY + Change + 60, XY + Change), 35, 0, -PI + Add, -PI / 2 + Add
CIRCLE (XY + (Change * 2) + 60, XY + (Change * 2)), 40, 0, -PI + Add, -PI / 2 + Add
CIRCLE (XY + (Change * 3) + 60, XY + (Change * 3)), 45, 0, -PI + Add, -PI / 2 + Add

LINE (XY + 120, XY + 60)-(XY + Change + 60, XY + Change), 0
LINE (XY + Change + 60, XY + Change)-(XY + Change * 2 + 60, XY + Change * 2), 0
LINE (XY + Change * 2 + 60, XY + Change * 2)-(XY + Change * 3 + 60, XY + Change * 3), 0

Vari1 = Vari1 + 1: Change = Change + 1

IF Change = 30 THEN GOTO TheDecLoop

IF CheckVal = 0 THEN
   Add = Add + .1
ELSE
   Add = Add - .1
END IF

IF Add > 1.2 THEN CheckVal = 1
IF Add < -3 THEN CheckVal = 0

GOTO TheIncLoop
RETURN

gravity:
SCREEN 13

x1 = 1: f1 = 10: upp1 = 0: ner1 = 1: holl1 = 0: d1 = 10: vh1 = -1
x2 = 1: f2 = 10: upp2 = 0: ner2 = 1: holl2 = 0: d2 = 100: vh2 = 1
GOSUB stena
GOSUB stenb

DO
LINE (0, 175)-(320, 200), 2, BF

f2 = f2 + .7
IF f2 > 158 THEN GOSUB stenb

f1 = f1 + .8
IF f1 > 158 THEN GOSUB stena

IF holl1 = ner1 THEN x1 = x1 * 1.3
IF holl1 = upp1 THEN x1 = x1 * .8
IF holl2 = ner2 THEN x2 = x2 * 1.3
IF holl2 = upp2 THEN x2 = x2 * .8

IF x1 + f1 > 160 THEN holl1 = upp1
IF x1 < 2 AND holl1 = upp1 THEN holl1 = ner1
IF x2 + f2 > 160 THEN holl2 = upp2
IF x2 < 2 AND holl2 = upp2 THEN holl2 = ner2

d1 = d1 + vh1
IF d1 <= 0 THEN vh1 = -vh1
IF d1 >= 300 THEN vh1 = -vh1
d2 = d2 + vh2
IF d2 <= 0 THEN vh2 = -vh2
IF d2 >= 300 THEN vh2 = -vh2

CIRCLE (d1, x1 + f1), 10, 15
CIRCLE (d2, x2 + f2), 10, 15
SOUND 30000, 1
CIRCLE (d1, x1 + f1), 10, 0
CIRCLE (d2, x2 + f2), 10, 0
IF man = 5 THEN RETURN
LOOP
RETURN

stena:
man = man + 1
RANDOMIZE TIMER
d1 = INT(RND * 200) + 1
x1 = 1: f1 = 10: upp1 = 0: ner1 = 1: holl1 = 0: vh1 = -1
RETURN

stenb:
man = man + 1
RANDOMIZE TIMER
d2 = INT(RND * 200) + 1
x2 = 1: f2 = 10: upp2 = 0: ner2 = 1: holl2 = 0: vh2 = 1
RETURN

laser:
SCREEN 12

FOR i = 0 TO 360
oo(i) = COS(i * 3.14 / 180) * 70
pp(i) = SIN(i * 3.14 / 180) * 70
NEXT

h = 1: k = 180: sn = 1
DO
t = t + 1
IF t = 8 THEN sn = 0
 FOR i = 1 TO 360

   k = k + 1
   IF k >= 361 THEN k = 1
  
   IF sn = 1 THEN
      x = x + .003
      a = (oo(i)) * x
      b = (pp(i)) * x
      c = (oo(k)) * x
      d = (pp(k)) * x
   END IF
  
   IF sn = 0 THEN
      x = x - .003
      a = (oo(i)) * x
      b = (pp(i)) * x
      c = (oo(k)) * x
      d = (pp(k)) * x
   END IF
  
   
   LINE (300 + a, 200 + b)-(300 + c, 200 + d), 15
   SOUND 30000, .06
   LINE (300 + a, 200 + b)-(300 + c, 200 + d), 0

 NEXT
IF t = 14 THEN
   SCREEN 13
   RETURN
END IF
LOOP

etxt:
SCREEN 12
LINE (0, 70)-(640, 385), 0, BF
LINE (0, 0)-(640, 70), 8, BF
LINE (0, 385)-(640, 470), 8, BF

text$ = "Coding"
GOSUB ppt
text$ = "  "
GOSUB ppt
text$ = "od0/mgfx"
GOSUB ppt
text$ = "Biot/mgfx"
GOSUB ppt
text$ = "  "
GOSUB ppt
text$ = "  "
GOSUB ppt
text$ = "Graphics"
GOSUB ppt
text$ = "  "
GOSUB ppt
text$ = "Biot/mgfx"
GOSUB ppt
text$ = "od0/mgfx"
GOSUB ppt
text$ = "  "
GOSUB ppt
text$ = "  "
GOSUB ppt
text$ = "Hello to"
GOSUB ppt
text$ = "Area51/mgfx, [x-tp]/mgfx, Perra/mgfx, Mogwie/mgfx,  "
GOSUB ppt
text$ = "(all mgfx members), freeman, The_Pal, Polly, Angela_,"
GOSUB ppt
text$ = "ex-vater ;), Beak^MC, Koraxx, Plasma, t0M, Marcus,"
GOSUB ppt
text$ = "****MALIN****, all old #prat'ers (you knw how u r =)"
GOSUB ppt
text$ = "check out: www.mindgfx.net"
GOSUB ppt
text$ = "  "
GOSUB ppt
text$ = "At last"
GOSUB ppt
text$ = "  "
GOSUB ppt
text$ = "We (od0 and Biot) made this crap _ONLY_ for fun. =)"
GOSUB ppt
text$ = "Just in case you took this seriously....hehe =)"
GOSUB ppt
text$ = "  "
GOSUB ppt
text$ = "Be Good."
GOSUB ppt
text$ = "  "
GOSUB ppt
text$ = "  "
GOSUB ppt
text$ = "  "
GOSUB ppt
text$ = "  "
GOSUB ppt
text$ = "  "
GOSUB ppt
text$ = "  "
GOSUB ppt
text$ = "  "
GOSUB ppt
text$ = "  "
GOSUB ppt
text$ = "  "
GOSUB ppt
text$ = "  "
GOSUB ppt
text$ = "  "
GOSUB ppt
text$ = "&eof  "
GOSUB ppt
text$ = "  "
GOSUB ppt
text$ = "  "
GOSUB ppt
text$ = "  "
GOSUB ppt
text$ = "  "
GOSUB ppt
text$ = "  "
GOSUB ppt
text$ = "  "
GOSUB ppt
text$ = "  "
GOSUB ppt
text$ = "  "
GOSUB ppt
text$ = "  "
GOSUB ppt
SLEEP
END

ppt:
SOUND 30000, 15
COLOR 15
t20$ = t19$
t19$ = t18$
t18$ = t17$
t17$ = t16$
t16$ = t15$
t15$ = t14$
t14$ = t13$
t13$ = t12$
t12$ = t11$
t11$ = t10$
t10$ = t9$
t9$ = t8$
t8$ = t7$
t7$ = t6$
t6$ = t5$
t5$ = t4$
t4$ = t3$
t3$ = t2$
t2$ = t1$
t1$ = text$
LINE (0, 70)-(640, 385), 0, BF
LOCATE 24, 37 - (LEN(t1$) / 2): PRINT t1$
LOCATE 23, 37 - (LEN(t2$) / 2): PRINT t2$
LOCATE 22, 37 - (LEN(t3$) / 2): PRINT t3$
LOCATE 21, 37 - (LEN(t4$) / 2): PRINT t4$
LOCATE 20, 37 - (LEN(t5$) / 2): PRINT t5$
LOCATE 19, 37 - (LEN(t6$) / 2): PRINT t6$
LOCATE 18, 37 - (LEN(t7$) / 2): PRINT t7$
LOCATE 17, 37 - (LEN(t8$) / 2): PRINT t8$
LOCATE 16, 37 - (LEN(t9$) / 2): PRINT t9$
LOCATE 15, 37 - (LEN(t10$) / 2): PRINT t10$
LOCATE 14, 37 - (LEN(t11$) / 2): PRINT t11$
LOCATE 13, 37 - (LEN(t12$) / 2): PRINT t12$
LOCATE 12, 37 - (LEN(t13$) / 2): PRINT t13$
LOCATE 11, 37 - (LEN(t14$) / 2): PRINT t14$
LOCATE 10, 37 - (LEN(t15$) / 2): PRINT t15$
LOCATE 9, 37 - (LEN(t16$) / 2): PRINT t16$
LOCATE 8, 37 - (LEN(t17$) / 2): PRINT t17$
LOCATE 7, 37 - (LEN(t18$) / 2): PRINT t18$
LOCATE 6, 37 - (LEN(t19$) / 2): PRINT t19$
LOCATE 5, 37 - (LEN(t20$) / 2): PRINT t20$
LINE (0, 0)-(640, 70), 8, BF
LINE (0, 385)-(640, 470), 8, BF
RETURN






