Jump to content
IGNORED

ZAXXON - Playable DEMO -


ti99iuc

Recommended Posts

In an old italian cassette tape i found this " ZAXXON TRAINER "

 

it is working in XB and i think it could be an interesting demo for developers, in not so much lines of code.

 

KEYS:

 

J = RIGHT

K= LEFT

 

Q=FIRE (working only in the 1st minigame)

 

 

post-24673-0-39362100-1445714605_thumb.jpg post-24673-0-42550500-1445714606_thumb.jpg post-24673-0-29773500-1445714607_thumb.jpg

 

 

 

DOWNLOAD: Zaxxon.dsk

40 REM  *******************
50 REM  ***   ZAXXONS   ***
60 REM  *******************
70 GOTO 200 :: S,A$,PT,K,C,A,TM,FRD,HT :: CALL CLEAR :: CALL SCREEN :: CALL CHAR :: CALL MAGNIFY
90 DATA 32,2,1000,36,12,10,104,15,300,108,10,0,128,5,500,124,16,0,132,5,500,124,16,0
100 DIM PAT(15),COL(15),AM(15)
110 !@P-
200 ON WARNING NEXT
300 CALL CLEAR :: CALL SCREEN(2)
400 FOR A=4 TO 15 :: READ PAT(A),COL(A),AM(A) :: NEXT A
500 CALL CHAR(92,"000000030000000000000000000000000C30C000000000000000000")
600 CALL CHAR(36,"03071F1F1F3F3F7F7FFFFFFF7F1F00008080808000000000C0E0E0E0C")
700 CALL CHAR(32,"6030180C050103273F0E00000000000000000080000080C08")
800 CALL CHAR(108,"000000003F3F3F3F3F3F3F3F3F1F070000000000FCFCFCFCFCFCFCFCFCF8E")
900 CALL CHAR(104,"071F3F7F7F3F1F474020180700000000E0F8FCFEFEFCF8E2020418E")
1000 CALL CHAR(120,"102349D367339E7117317BA76DF0B71105123871C46E55022AF2CFE64C196F86")
1100 CALL CHAR(96,"FFFF0C183060FFFF183C66C3FFFFC3C3C3E7663C3C66E7C37EFFC3C3C3C3FF7E")
1200 CALL CHAR(100,"C3E3F3DBCFC7C3C37EE7C1781E83E77E",64,"3C4299A1A199423C")
1300 FOR A=3 TO 8 :: CALL COLOR(A,16,2) :: NEXT A :: CALL COLOR(1,2,2,9,8,2)
1400 DISPLAY AT(12,:"`abbcde TRAINER" :: DISPLAY AT(20,5):"PRESS ANY KEY TO BEGIN": : : :"@1984 APT SOFTWARE"
1500 CALL KEY(0,K,S) :: IF S=0 THEN 1500
1600 DISPLAY AT(1,12)ERASE ALL BEEP:"OPTIONS": : : :"PRESS": :"   1 FOR FIRE": :"   2 FOR ESCAPE": :"   3 FOR GROUND": :"   4 FOR ENDING"
1700 CALL KEY(0,K,S) :: IF K>52 OR K<49 THEN 1700
1701 IF K=52 THEN CALL CLEAR :: STOP
1705 DISPLAY AT(20,1):"NUMBER OF TIMES?  200" :: ACCEPT AT(20,19)BEEP SIZE(-3)VALIDATE(DIGIT):TM
1800 DISPLAY AT(1,1)BEEP ERASE ALL :: RANDOMIZE
1900 CALL MAGNIFY(3) :: A$="0000000000000000" :: CALL CHAR(96,"181E1FFF3F0F0F00"&A$&"1C7CF8F0F0F0F0F03")
2000 CALL CHAR(124,"0000071F3F7F7F3F1F070000000000000000E0F8FCFEFEFCF8E")
2100 CALL CHAR(128,"030F0F03000000000000000000000000C0F0F0C030F80E030")
2200 CALL CHAR(132,"030F0F030C1F70C00000000000000000C0F0F0C0000000000")
2300 CALL CHAR(100,"000003FF3F0F0F00"&A$&"0C7CF8F0F0F0F0F03")
2400 CALL CHAR(112,"000002201406334B1F3F5F3F2F050000002122889CB8F8FCFFFCFDFCFEF88")
2500 CALL CHAR(116,"000000000000000101070F0701000000000000000000002040E0E0F04")
2600 CALL CHAR(136,"0C0F0F0F0F0F1F3E300000000000000060E0F0F0FCFFE0000")
2800 CALL COLOR(1,14,14,3,2,14,4,2,14)
2900 CALL SPRITE(#1,96,16,147,90,#2,100,2,154,90)
3000 ON K-48 GOSUB 3300,3100,3200
3010 GOTO 1100
3100 CALL COLOR(1,2,2) :: FOR A=3 TO 5 :: C=INT(58*RND)+28 :: HT=C*2+50 :: CALL SPRITE(#A,136,A+9,C,HT) :: NEXT A :: FRD=1
3105 CALL LOCATE(#2,147,90) :: CALL PATTERN(#2,112)
3110 HT=3 :: FOR A=1 TO TM :: DISPLAY AT(1,1):A :: CALL SHIP :: FRD=-FRD :: HT=HT+1+3*(HT=5) :: C=INT(3*RND)+2 :: K=C*2 :: CALL MOTION(#HT,FRD*C,FRD*K)
3120 CALL THEY(HT+1+3*(HT=5)) :: NEXT A :: CALL DELSPRITE(ALL) :: CALL CLEAR :: RETURN
3200 FOR A=4 TO 14 STEP 2 :: C=INT(255*RND)+1 :: CALL SPRITE(#A,PAT(A),COL(A),C,248,4,-8,#A+1,PAT(A+1),COL(A+1),C,247,4,- :: NEXT A
3210 FOR A=1 TO TM :: CALL SHIP :: CALL DEST :: NEXT A
3220 CALL MOTION(#1,0,0,#2,0,0) :: DISPLAY AT(12,5)BEEP:"PRESS REDO OR BACK"
3225 FOR A=1 TO 200 :: NEXT A
3230 FOR A=1 TO 300 :: CALL KEY(0,K,S)
3235 IF K=6 THEN CALL CLEAR :: GOTO 3210 ELSE IF S THEN 3245
3240 NEXT A
3245 CALL DELSPRITE(ALL) :: CALL CLEAR :: RETURN
3300 FOR A=4 TO 10 STEP 2 :: C=INT(255*RND)+1 :: CALL SPRITE(#A,PAT(A),COL(A),C,248,3,-6,#A+1,PAT(A+1),COL(A+1),C,247,3,-6) :: NEXT A
3350 PT,HT,FRD=0
3400 FOR A=1 TO TM :: CALL FIRE(PAT(),COL(),AM(),HT,FRD,PT) :: DISPLAY AT(24,3):A :: NEXT A :: CALL DELSPRITE(ALL)
3410 DISPLAY AT(3,1)ERASE ALL BEEP:"TIMES:";TM: :"SHOTS FIRED:";FRD: :"HIT TARGETS:";HT
3415 DISPLAY AT(9,1):"PERCENTAGE OF HITS:";INT(HT*100/FRD): :"ABILITY:";INT(HT*100/TM): :"SCORE:";PT: :"SCORE RATE:";INT(PT/TM)
3417 FOR A=1 TO 500 :: NEXT A
3420 CALL KEY(0,K,S) :: IF S=0 THEN 3420
3430 CALL CLEAR :: RETURN
3610 DATA 32,2,0,36,12,0,104,15,0,108,10,0
3620 !@P+
3700 SUB SHIP
3800 CALL KEY(2,K,S) :: X=3*((K=2)-(K=3))
3900 Y=6*((K=2)-(K=3)) :: CALL MOTION(#1,X,Y,#2,X,Y)
4000 SUBEND
4100 SUB FIRE(PAT(),COL(),AM(),HT,FRD,PT)
4200 CALL SHIP :: CALL KEY(1,K,S) :: IF S=0 THEN SUBEXIT ELSE CALL POSITION(#1,X,Y,#2,X1,Y) :: FRD=FRD+1
4300 CALL SPRITE(#3,92,16,X,Y,-60,120) :: FOR A=4 TO 10 STEP 2 :: CALL POSITION(#A,X,Y2)
4400 IF ABS((Y2-Y)/(X1-X)-2)<.3 THEN CALL COLOR(#A,12,#A+1,10) :: CALL PATTERN(#A,116,#A+1,112) :: CALL SOUND(-400,-5,0)ELSE 4700
4500 CALL DELSPRITE(#3) :: CALL SHIP :: C=INT(256*RND)+1 :: CALL PATTERN(#A,120) :: PT=PT+AM(A) :: DISPLAY AT(1,1):USING "######":PT
4600 HT=HT+1 :: CALL SPRITE(#A,PAT(A),COL(A),C,248,3,-6,#A+1,PAT(A+1),COL(A+1),C,247,3,-6) :: SUBEXIT
4700 NEXT A :: CALL DELSPRITE(#3)
4800 SUBEND
4900 SUB DEST
5100 CALL SHIP :: FOR A=4 TO 14 STEP 2 :: CALL COINC(#1,#A,9,DE)
5200 IF DE THEN CALL SOUND(500,-7,0) :: C=250*RND+3 :: CALL LOCATE(#A,C,248,#A+1,C,247) :: SUBEXIT
5300 NEXT A
5400 SUBEND
5500 SUB THEY(HT)
5600 CALL POSITION(#1,X,Y,#HT,X1,Y1) :: CALL SPRITE(#6,92,9,X1,Y1,45,-90) :: IF ABS((Y1-Y)/(X-X1)-2)>.3 THEN SUBEXIT
5700 CALL PATTERN(#1,120) :: CALL COLOR(#1,12,#2,10) :: CALL SOUND(-300,-7,0) :: CALL DELSPRITE(#6) :: CALL DEST :: CALL COLOR(#2,2,#1,16)
5710 CALL PATTERN(#1,96)
5800 SUBEND

Edited by ti99iuc
  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...