Si ha a disposizione tre vite e con la navicella si deve distruggere asteroidi ed alieni. La collisione con asteroidi o alieni toglie una vita. Il tasto Z permette di ruotare a sinistra, C a destra ed M fa spostare in avanti. Il tasto RETURN consente di spostarsi in un altra zona dello spazio e la BARRA SPAZIATRICE fa sparare.
5 S=0:li=3:poke36879,8:print"[carattere cuore in reverse per pulire schermo]"
10 sc=7680:co=30720:cl=38400:as=7680
15 dim a(7),d(7)
16 y=11:x=10:d=1:sx=0:sy=0
20 a=8
25 fori=0to7:a(i)=7680+int(rnd(1)*506):d(i)=int(rnd(1)*3+21):ifrnd(1)>0.5then d(i)=-d(i)
30 next
35 pokecl+y*22+x,3:pokesc+y*22+x,107
36 ifas>0then pokeas,32
40 ad=int(rnd(1)*3+21):ifrnd(1)>0.5then ad=-ad
45 as=int(rnd(1)*506)+7680
50 fori=0to7:k=peek(197):ifabs(sx)+abs(sy)=0 then poke36877,0:goto55
51 poke36878,15:poke36877,235:sx=0:sy=0:goto55
55 d=d+(k=34)-(k=33):ifd<0thend=d+4
60 ifd>3thend=d-4
65 sx=sx+((d=1)-(d=3))*(k=36):sy=sy+((d=2)-(d=0))*(k=36)
70 ifsx<-1thensx=-1
75 if sx>1thensx=1
80 if sy<-1thensy=-1
85 if sy>1 then sy=1
90 pokesc+y*22+x,32:x=x+sx:y=y+sy
95 if k=15 then x=int(rnd(1)*22):y=int(rnd(1)*23)
100 if x<0 then x=21
105 if x>21 then x=0
110 if y<0 then y=22
115 if y>22 then y=0
116 if peek(sc+y*22+x)<>32then 1000
120 pokecl+y*22+x,3:c=107:if d=2 then c=114
125 if d=3 then c=115
130 if d=0 then c=113
135 poke sc+y*22+x,c
140 if a(i)=0 then 200
141 if a(i)=sc+y*22+x then 1000
145 pokea(i),32:a(i)=a(i)+d(i)
150 if a(i)<7680 then a(i)=a(i)+506
155 if a(i)>8185 then a(i)=a(i)-506
160 pokea(i)+co,2:pokea(i),81
200 if k<>32 or int(i/2)*2=i then 260
201 poke36878,12:forx1=255to230 step -1:poke36877,x1:next
205 x1=x:y1=y:dx=(d=3)-(d=1):dy=(d=0)-(d=2):c=64:if dy<>0 then c=93
210 1=x1+dx:y1=y1+dy
215 pokecl+y1*22+x1,5:if peek(sc+y1*22+x1)=32 then 240
216 poke36878,15:poke36877,130
220 pokesc+y1*22+x1,42
225 forj=0to7:ifa(j)=sc+y1*22+x1 then a=a-1:a(j)=0:s=s+20
230 nextj
231 if sc+y1*22+x1=as then s=s+100:as=0
232 poke 36877,0
235 goto 250
240 pokesc+y*22+x1,c:ifx1<21andx1>0andy1>22andy1>0 then 210
250 x2=x:y2=y
251 x2=x2+dx:y2=y2+dy:pokesc+y2*22+x2,32
255 ifx2<>x1ory2<>y1then 251
256 poke36877,0
260 ifas=0 then 300
265 pokeas,32:if rnd(1)>0.9then ad=int(rnd(1)*3+21):if rnd(1)>0.5 then ad=-ad
267 as=as+ad:if peek(as+ad*2)=81 then ad=-ad
270 if as<7680 then as=as+506
275 if as>8185 then as=as-506
280 pokeas+co,7:pokeas,88
285 if as=sc+y*22+x then 1000
300 next i:if a=0 then 20
305 if as=0 and rnd(1)>0.9 then 40
310 goto 50
100 print"[freccia in alto in reverse]PUNTI"s
1005 fori=1to2000:next:li=li-1:if li>0 then print"[cuore in reverse]":goto 16
1010 poke36878,0:poke198,0
9999 end