PCjs Machines

Home of the original IBM PC emulator for browsers.

Logo

PC-SIG Diskette Library (Disk #1814)

[PCjs Machine "ibm5150"]

Waiting for machine "ibm5150" to load....

Information about “PAUL’S GAMES”

PAUL'S GAMES is a collection of three games:  TANKS, BLASTER, and the
card game MEMORY.

TANKS is a real-time, two-player game where you must manuever your tank
through a maze to hit your opponent.  The option to design your own maze
adds unpredictability to the action.  (The BASIC source code is included
for your modification.)  The secret to winning?  Don't hit your own
tank.  Score is automatically kept by the computer.

BLASTER is a game that puts you in the cockpit of a spaceship.  Your
mission is to destroy as many enemy ships as possible within a certain
time limit.  With a front viewing screen and radar to track enemy
spaceships and their missiles, you must defend your ship while attacking
theirs.  Look out behind you!

MEMORY is that childhood favorite, matching pairs of cards, brought up
to date in this computer version.  A multiple-player game with 32 pairs
of cards, pick two cards that might match.  If you're right, you score
the points that are displayed on the card.  Otherwise the cards are
turned over for the next player's turn.  At the end of the game the
computer will anounce the winner.  How's your short-term memory?

BLASTER.BAS

'****************
'* ------------ *
'* STAR BLASTER *
'* ------------ *
'*      BY      *
'*              *
'*  PAUL HILTS  *
'*              *
'* DATE:6/19/88 *
'*              *
'****************

START:
GOSUB INTRO
CLS

'* DRAW SPACESHIP *

LINE(109,74)-(211,126),3,B
LINE(0,0)-(109,74),3
LINE(319,0)-(211,74),3
LINE(0,199)-(109,126),3
LINE(319,199)-(211,126),3
LINE(134,147)-(185,198),3,B
LOCATE 13,28:PRINT"SCORE:"
LOCATE 18,18:PRINT"RADAR:"
LOCATE 12,1:PRINT"TIME LEFT:"
LOCATE 14,1:PRINT"SHIPS LEFT:"

'* INITIALIZE VARIABLES *

DEFINT A-Z
RANDOMIZE VAL(RIGHT$(TIME$,2))
SHIPX=500:SHIPY=500
SCORE=0
TIME=10000
SHIPS=3
STARTZ=1000
NUMAL=5
DIM ALX(NUMAL),ALY(NUMAL),ALZ(NUMAL),ALSHT(NUMAL),ALDONE(NUMAL),MISX(NUMAL),MISY(NUMAL),MISZ(NUMAL),MISFIRE(NUMAL),STX(10),STY(10)

FOR I=1 TO 10:STX(I)=500*RND:STY(I)=250*RND:NEXT I
FOR I=1 TO NUMAL:ALDONE(I)=1:NEXT I

'* MAIN LOOP *

MAINLOOP:

TIME=TIME-25
IF TIME<0 THEN GOTO GAMEEND
S$="":IF TIME<1000 THEN S$=" "
LOCATE 12,11:PRINT STR$(INT(TIME/100))+S$
LOCATE 14,12:PRINT STR$(SHIPS)
LOCATE 13,34:PRINT STR$(SCORE)

FOR I=1 TO 16
IK$=INKEY$
IF IK$=CHR$(27) THEN GOSUB ESC
IF IK$=CHR$(32) THEN SHT$="1"
M$=RIGHT$(IK$,1)
IF M$="H" THEN U$="1"
IF M$="K" THEN L$="1"
IF M$="M" THEN R$="1"
IF M$="P" THEN D$="1"
NEXT I

IF SHT$="1" THEN GOSUB SHOOT
IF U$="1" THEN GOSUB UP
IF L$="1" THEN GOSUB LEFT
IF R$="1" THEN GOSUB RIGHT
IF D$="1" THEN GOSUB DOWN
GOTO ALIENS

UP:
U$=""
IF SHIPY-50<0 THEN RETURN
SHIPY=SHIPY-50
FOR I=1 TO 10
STY(I)=STY(I)+10
IF STY(I)>250 THEN STY(I)=5
NEXT I
RETURN

LEFT:
L$=""
IF SHIPX-50<0 THEN RETURN
SHIPX=SHIPX-50
FOR I=1 TO 10
STX(I)=STX(I)+10
IF STX(I)>500 THEN STX(I)=5
NEXT I
RETURN

RIGHT:
R$=""
IF SHIPX+50>1000 THEN RETURN
SHIPX=SHIPX+50
FOR I=1 TO 10
STX(I)=STX(I)-10
IF STX(I)<0 THEN STX(I)=495
NEXT I
RETURN

DOWN:
D$=""
IF SHIPY+50>1000 THEN RETURN
SHIPY=SHIPY+50
FOR I=1 TO 10
STY(I)=STY(I)-10
IF STY(I)<0 THEN STY(I)=245
NEXT I
RETURN

SHOOT:
SHT$=""
VIEW(110,75)-(210,125),,3
WINDOW SCREEN(0,0)-(500,250)
FOR I=0 TO 125 STEP+10
PSET(I*2,I),2
PSET(I*2,250-I),2
PSET(500-I*2,I),2
PSET(500-I*2,250-I),2
SOUND I*2+50,.1
NEXT I
FOR I=1 TO NUMAL
IF ABS(SHIPX-ALX(I))<(STARTZ-ALZ(I))/10 AND ABS(SHIPY-ALY(I))<(STARTZ-ALZ(I))/10 THEN GOSUB ALIENHIT
NEXT I
RETURN

ALIENS:

'* CHECK FOR DESTROYED ALIENS *

FOR I=1 TO NUMAL
IF ALDONE(I)=1 AND TIME/100=INT(TIME/100) THEN GOSUB NEWALIEN
NEXT I

'* MOVE ALIENS *

FOR I=1 TO NUMAL:IF ALDONE(I)=1 THEN GOTO ENDALIENS
IF TIME/50=INT(TIME/50) THEN GOTO MOVEX ELSE GOTO MOVERAND

MOVEX:
SIGN1=1:IF MISFIRE(I)=1 THEN SIGN1=-1
SIGN2=1:IF I/2=INT(I/2) THEN SIGN2=-1
X=SGN(SHIPX+(100*SIGN2)-ALX(I))*SIGN1*20
IF NOT(ALX(I)+X<0 OR ALX(I)+X>1000) THEN ALX(I)=ALX(I)+X
MOVEY:
Y=SGN(SHIPY+(50*SIGN2)-ALY(I))*SIGN1*20
IF NOT(ALY(I)+Y<0 OR ALY(I)+Y>1000) THEN ALY(I)=ALY(I)+Y
MOVEZ:
ALZ(I)=ALZ(I)-10*RND:IF ALZ(I)<400 THEN ALDONE(I)=1
GOTO ALFIRE

MOVERAND:
X=30-(60*RND)
IF NOT(ALX(I)+X<0 OR ALX(I)+X>1000) THEN ALX(I)=ALX(I)+X
Y=30-(60*RND)
IF NOT(ALY(I)+Y<0 OR ALY(I)+Y>1000) THEN ALY(I)=ALY(I)+Y
GOTO MOVEZ

'* ALIENS FIRE *

ALFIRE:
IF ABS(SHIPX-ALX(I))<250 AND ABS(SHIPY-ALY(I))<125 AND ALZ(I)<850 AND MISFIRE(I)=0 THEN GOSUB FIREMISSLE

ENDALIENS:
NEXT I

'* MOVE AND CHECK MISSILES *

FOR I=1 TO NUMAL
IF MISFIRE(I)=1 THEN MISZ(I)=MISZ(I)-40
IF MISFIRE(I)=1 AND ABS(SHIPX-MISX(I))<250 AND ABS(SHIPY-MISY(I))<125 AND MISZ(I)<100 THEN GOSUB SHIPHIT
IF MISZ(I)<100 THEN MISFIRE(I)=0
NEXT I

GOTO DRAWSCREEN

DRAWSCREEN:
VIEW(110,75)-(210,125),,3
CLS
WINDOW SCREEN(0,0)-(500,250)

'* DRAW STARS AND SIGHT *

FOR I=1 TO 10:PSET(STX(I),STY(I)),3:NEXT
LINE(220,125)-(280,125),3:LINE(250,95)-(250,155),3

'* DRAW ALIENS *

WINDOW SCREEN(SHIPX-249,SHIPY-124)-(SHIPX+250,SHIPY+125)
FOR I=1 TO NUMAL
IF ALDONE(I)=1 THEN GOTO ENDDRAW
Z=(STARTZ-ALZ(I))/5
CIRCLE(ALX(I),ALY(I)),Z/2,2
IF MISFIRE(I)=0 THEN CIRCLE(ALX(I),ALY(I)),Z/4,3
LINE(ALX(I)-Z,ALY(I))-(ALX(I),ALY(I)-Z/2),1
LINE(ALX(I)-Z,ALY(I))-(ALX(I),ALY(I)+Z/2),1
LINE(ALX(I)+Z,ALY(I))-(ALX(I),ALY(I)-Z/2),1
LINE(ALX(I)+Z,ALY(I))-(ALX(I),ALY(I)+Z/2),1
ENDDRAW:
IF MISFIRE(I)=1 THEN CIRCLE(MISX(I),MISY(I)),(STARTZ-MISZ(I))/10,3
NEXT I

'* DRAW RADAR *

VIEW(135,148)-(184,197),,3
CLS
WINDOW SCREEN(0,0)-(1000,1000)
CIRCLE(SHIPX,SHIPY),50,3:PAINT(SHIPX,SHIPY),3,3
FOR I=1 TO NUMAL
IF ALDONE(I)=0 THEN CIRCLE(ALX(I),ALY(I)),(STARTZ-ALZ(I))/15,1:PAINT(ALX(I),ALY(I)),1,1
IF MISFIRE(I)=1 THEN CIRCLE(MISX(I),MISY(I)),(STARTZ-ALZ(I))/15,2:PAINT(MISX(I),MISY(I)),2,2
NEXT I

GOTO MAINLOOP

NEWALIEN:
ALZ(I)=STARTZ:ALX(I)=1000*RND:ALY(I)=1000*RND:ALDONE(I)=0
RETURN

ALIENHIT:
ALDONE(I)=1
VIEW(110,75)-(210,125),,3
WINDOW SCREEN(SHIPX-249,SHIPY-124)-(SHIPX+250,SHIPY+125)
FOR J=0 TO (STARTZ-ALZ(I))/5 STEP+20
X=ALX(I):Y=ALY(I)
IF J/40=INT(J/40) THEN C=2 ELSE C=3
PSET(X,Y-J),C
PSET(X+J,Y-J),C
PSET(X+J,Y),C
PSET(X+J,Y+J),C
PSET(X,Y+J),C
PSET(X-J,Y+J),C
PSET(X-J,Y),C
PSET(X-J,Y-J),C
SOUND J+200,.8
NEXT
SCORE=SCORE+INT((ALZ(I)-300)/10)*10
RETURN

FIREMISSLE:
MISFIRE(I)=1
MISX(I)=ALX(I):MISY(I)=ALY(I):MISZ(I)=ALZ(I)
SOUND 50,2
RETURN

SHIPHIT:
VIEW(0,0)-(319,199)
WINDOW SCREEN(0,0)-(319,199)
FOR J=1 TO 10
C=2:IF J/2=INT(J/2) THEN C=3
LINE(109,74)-(211,126),C,B
LINE(134,147)-(185,198),C,B
LINE(0,0)-(109,74),C
LINE(319,0)-(211,74),C
LINE(0,199)-(109,126),C
LINE(319,199)-(211,126),C
IF C=2 THEN SOUND 80,.8
NEXT
SHIPS=SHIPS-1:IF SHIPS=-1 THEN GOTO GAMEEND
RETURN

ESC:
IK$=INKEY$
IF IK$=CHR$(27) THEN RETURN ELSE GOTO ESC

INTRO:
SCREEN 1
COLOR 0,0
CLS
LOCATE 10,12:PRINT"* STAR  BLASTER *"
LOCATE 14,14:PRINT"BY PAUL HILTS"
LOCATE 20,11:PRINT"INSTRUCTIONS (Y/N)"
INKYBD:
IK$=INKEY$
IF IK$="N" OR IK$="n" THEN RETURN
IF IK$="Y" OR IK$="y" THEN GOTO INSTRUCTIONS
GOTO INKYBD

INSTRUCTIONS:
CLS
PRINT"YOUR OBJECTIVE: TO DESTROY AS MANY"
PRINT"                ALIEN SHIPS AS POSSIBLE"
PRINT
PRINT"FIGHTER"
PRINT"CONTROLS: <SPACE BAR> FIRES LASERS"
PRINT"          <ARROW KEYS> MOVE SHIP"
PRINT
PRINT"ON-BOARD"
PRINT"COMPUTER: USE RADAR TO TRACK TARGETS"
PRINT
PRINT"          YELLOW DOT: YOUR FIGHTER"
PRINT"          GREEN DOTS: ALIEN SHIPS"
PRINT"          RED DOTS: ENEMY MISSILES"
PRINT
PRINT"TO PAUSE GAME: PRESS <ESC>"
PRINT
PRINT
PRINT"ALIEN SHIP:
PRINT
PRINT"HIT INSIDE RED            YELLOW CIRCLE"
PRINT"CIRCLE TO DESTROY        IS ITS MISSILE"
PRINT
PRINT"** PRESS ANY KEY TO BEGIN GAME **"
CIRCLE(160,146),20,2:CIRCLE(160,146),10,3
LINE(160,126)-(120,146),1:LINE(160,126)-(200,146),1
LINE(160,166)-(120,146),1:LINE(160,166)-(200,146),1
KBD:
IF INKEY$="" THEN GOTO KBD ELSE RETURN

GAMEEND:
IF TIME<0 THEN GOTO TIMEUP
FOR J=1 TO 16
C=2:IF J/2=INT(J/2) THEN C=0
VIEW(110,75)-(210,125),C,3
SOUND (C+1)*200,2
NEXT J
LOCATE 12,17:PRINT"ALL SHIPS"
LOCATE 14,17:PRINT"DESTROYED"
GOTO ENDING

TIMEUP:
VIEW(110,75)-(210,125),0,3
LOCATE 13,17:PRINT"TIME'S UP"
GOTO ENDING

ENDING:
FOR J=1 TO 40
SOUND J*50,1
NEXT J
VIEW(0,0)-(319,199)
WINDOW SCREEN(0,0)-(319,199)
FOR I=0 TO 160
LINE(160-I,100-I)-(159+I,100+I),2,B
LINE(161-I,101-I)-(158+I,99+I),0,B
IF I>100 THEN LINE(160-I,0)-(159+I,0),2:LINE(160-I,199)-(159+I,199),2
SOUND 50,.3
NEXT I
LOCATE 12,2:PRINT"YOUR SCORE: ";SCORE
LOCATE 14,2:PRINT"PLAY AGAIN (Y/N): "
KYBD:
IK$=INKEY$
IF IK$="N" OR IK$="n" THEN END
IF IK$="Y" OR IK$="y" THEN CLEAR:GOTO START
GOTO KYBD

DSCRPTN.DOC

TANKS.EXE : FAST-PACED TANK BATTLE WITH OPTION TO PLAY ON USER-CREATED MAZE
TANKS.BAS : SOURCE CODE FOR TANKS.EXE (BASICA)
TANKS.OBJ : DATA FILE FOR TANKS.EXE
MAZE.OBJ : DATA FILE FOR TANKS.EXE
BLASTER.EXE : FIGHT ALIEN SHIPS IN A 3-D SPACE ENVIRONMENT
BLASTER.BAS : SOURCE CODE FOR BLASTER.EXE (QUICK BASIC)
MEMORY.EXE : UPDATED VERSION OF OLD CARD MATCHING GAME
MEMORY.BAS : SOURCE CODE FOR MEMORY.EXE (BASICA)
CARDS.OBJ : DATA FILE FOR MEMORY.EXE

FILE1814.TXT

Disk No: 1814                                                           
Disk Title: Paul's Games                                                
PC-SIG Version: S1                                                      
                                                                        
Program Title: Paul's Games                                             
Author Version: 8/22/                                                   
Author Registration: None.                                              
Special Requirements: CGA.                                              
                                                                        
PAUL'S GAMES is a collection of three games: TANKS, BLASTER, and the    
card game MEMORY.                                                       
                                                                        
TANKS is a real-time, two-player game where you must manuever your tank 
through a maze to hit your opponent.  The option to design your own maze
adds unpredictability to the action.  (The BASIC source code is included
for your modification.)  The secret to winning?  Don't hit your own     
tank.  Score is automatically kept by the computer.                     
                                                                        
BLASTER is a game that puts you in the cockpit of a spaceship.  Your    
mission is to destroy as many enemy ships as possible within a certain  
time limit.  With a front viewing screen and radar to track enemy       
spaceships and their missles, you must defend your ship while attacking 
theirs.  Look out behind you!                                           
                                                                        
MEMORY is that childhood favorite, matching pairs of cards, brought up  
to date in this computer version.  A multiple-player game with 32 pairs 
of cards, pick two cards that might match.  If you're right, you score  
the points that are displayed on the card.  Otherwise the cards are     
turned over for the next player's turn.  At the end of the game the     
computer will anounce the winner.  How's your short-term memory?        
                                                                        
PC-SIG                                                                  
1030D East Duane Avenue                                                 
Sunnyvale  Ca. 94086                                                    
(408) 730-9291                                                          
(c) Copyright 1989 PC-SIG, Inc.                                         

GO.TXT

╔═════════════════════════════════════════════════════════════════════════╗
║                 <<<<  Disk #1814  PAUL'S GAMES  >>>>                    ║
╠═════════════════════════════════════════════════════════════════════════╣
║ To start TANKS, type:  TANKS (press enter)                              ║
║ To start BLASTER, type:  BLASTER (press enter)                          ║
║ To start MEMORY, type:  MEMORY (press enter)                            ║
║                                                                         ║
║ To print documentation, type:  COPY FILE1814.TXT PRN                    ║
╚═════════════════════════════════════════════════════════════════════════╝

MEMORY.BAS

10 CLS:DEF SEG=&HB800:SCREEN 1:COLOR 0,1:KEY OFF
20 LOCATE 10,18:PRINT"MEMORY":LOCATE 14,14:PRINT"BY PAUL HILTS":LOCATE 23,11:PRINT"INSTRUCTIONS? (Y/N)"
30 IK$=INKEY$:IF IK$="Y" THEN 50
40 IF IK$="N" THEN 60 ELSE 30
50 GOSUB 760
60 DIM S$(6):OPEN "I",#1,"CARDS.OBJ"
70 FOR I=1 TO 6:INPUT#1,S$(I):INPUT#1,X$(I):NEXT I:CLOSE#1
80 CLS:INPUT "ENTER NUMBER OF PLAYERS: ";NP:IF NP<1 THEN 80
90 CLS
100 DIM GRID(8,8),USED(8,8),SCOR(NP)
110 FOR I=0 TO 8:FOR J=0 TO 8:USED(I,J)=0:NEXT J:NEXT I:FOR I=1 TO NP:SCOR(I)=0:NEXT I
120 V=VAL(RIGHT$(TIME$,2)):RANDOMIZE V*10
130 LOCATE 12,1:PRINT"WAIT A MOMENT WHILE I SHUFFLE THE CARDS."
140 FOR A=1 TO 32:CRD=INT(6*RND)+1:FOR I=1 TO 2
150 X=INT(8*RND)+1:Y=INT(8*RND)+1
160 IF USED(X,Y)=1 THEN 150
170 USED(X,Y)=1:GRID(X,Y)=CRD:NEXT I:NEXT A
180 FOR I=1 TO 8:FOR J=1 TO 8:USED(I,J)=0:NEXT J:NEXT I
190 CLS
200 FOR I=0 TO 168 STEP+24:FOR B=80 TO 276 STEP+28:LINE(B,I)-(B+19,I+19),3,BF:NEXT B:NEXT I
210 FOR I=2 TO 23 STEP+3:LOCATE I,9:PRINT CHR$((I+1)/3+64):NEXT I
220 LOCATE 25,12:PRINT"1  2   3  4   5   6  7   8"
230 FOR PLAYER=1 TO NP:LOCATE 1,1:PRINT "PLAYER":PRINT"#";PLAYER
240 FOR I=1 TO 10:I$=INKEY$:NEXT
250 LOCATE 4,1:PRINT "ENTER":PRINT "FIRST":PRINT"LETTER":PRINT"A-H:"
260 IK$=INKEY$:IF IK$="" THEN 260
270 IK=ASC(IK$)-64:IF IK<1 OR IK>8 THEN 260 ELSE Y1=IK
280 LOCATE 7,6:PRINT CHR$(Y1+64)
290 LOCATE 9,1:PRINT"ENTER":PRINT "FIRST":PRINT"NUMBER":PRINT"1-8:"
300 IK$=INKEY$:IF IK$="" THEN 300
310 IK=ASC(IK$)-48:IF IK<1 OR IK>8 THEN 300 ELSE X1=IK
320 LOCATE 12,6:PRINT CHR$(X1+48)
330 FOR I=4 TO 23:LOCATE I,1:PRINT "        ":NEXT I
340 IF USED(X1,Y1)=0 THEN 360
350 SOUND 100,10:LOCATE 20,1:PRINT "CARD":PRINT "ALREADY":PRINT "USED!":GOTO 250
360 FOR I=0 TO 18 STEP+2:FOR J=0 TO 1:FOR K=0 TO 4:P=ASC(MID$(S$(GRID(X1,Y1)),I*5+5*J+K+1,1)):IF P=108 THEN P=0
370 POKE (((Y1-1)*12)+I/2)*80+20+(X1-1)*7+J*8192+K,P:NEXT K:NEXT J:NEXT I
380 FOR I=1 TO 10:I$=INKEY$:NEXT
390 LOCATE 4,1:PRINT"ENTER":PRINT "SECOND":PRINT"LETTER":PRINT"A-H:"
400 IK$=INKEY$:IF IK$="" THEN 400
410 IK=ASC(IK$)-64:IF IK<1 OR IK>8 THEN 400 ELSE Y2=IK
420 LOCATE 7,6:PRINT CHR$(Y2+64)
430 LOCATE 9,1:PRINT"ENTER":PRINT"SECOND":PRINT"NUMBER":PRINT"1-8:"
440 IK$=INKEY$:IF IK$="" THEN 440
450 IK=ASC(IK$)-48:IF IK<1 OR IK>8 THEN 440 ELSE X2=IK
460 LOCATE 12,6:PRINT CHR$(X2+48)
470 FOR I=4 TO 23:LOCATE I,1:PRINT"        ":NEXT I
480 IF X1=X2 AND Y1=Y2 THEN 500
490 IF USED(X2,Y2)=0 THEN 510
500 SOUND 100,10:LOCATE 20,1:PRINT"CARD":PRINT"ALREADY":PRINT"USED!":GOTO 390
510 FOR I=0 TO 18 STEP+2:FOR J=0 TO 1:FOR K=0 TO 4:P=ASC(MID$(S$(GRID(X2,Y2)),I*5+5*J+K+1,1)):IF P=108 THEN P=0
520 POKE (((Y2-1)*12)+I/2)*80+20+(X2-1)*7+J*8192+K,P:NEXT K:NEXT J:NEXT I
530 IF GRID(X1,Y1)=GRID(X2,Y2) THEN 570
540 SOUND 220,10:LOCATE 4,1:PRINT "NO":PRINT"MATCH!":LOCATE 15,1:PRINT"PRESS":PRINT"ANY KEY":PRINT"TO GO":PRINT"ON..."
550 IF INKEY$="" THEN 550
560 LINE(80+((X1-1)*28),(Y1-1)*24)-(80+((X1-1)*28)+19,(Y1-1)*24+19),3,BF:LINE(80+((X2-1)*28),(Y2-1)*24)-(80+((X2-1)*28)+19,(Y2-1)*24+19),3,BF:FOR I=4 TO 23:LOCATE I,1:PRINT"        ":NEXT I:GOTO 680
570 SOUND 523,10:Q=GRID(X1,Y1):LOCATE 4,1:PRINT"PERFECT":PRINT"MATCH!":PRINT
580 USED(X1,Y1)=1:USED(X2,Y2)=1
590 IF LEFT$(X$(Q),1)="+" THEN 630
600 IF LEFT$(X$(Q),1)="X" THEN 620
610 RAN=INT(RND*VAL(MID$(X$(Q),2,LEN(X$(Q))-1))):SCOR(PLAYER)=SCOR(PLAYER)+RAN:RAN$=STR$(RAN):GOTO 640
620 RAN=VAL(MID$(X$(Q),2,LEN(X$(Q))-1)):SCOR(PLAYER)=SCOR(PLAYER)*RAN:RAN$=STR$(RAN)+"TIMES":GOTO 640
630 RAN=VAL(MID$(X$(Q),2,LEN(X$(Q))-1)):SCOR(PLAYER)=SCOR(PLAYER)+RAN:RAN$=STR$(RAN):GOTO 640
640 PRINT"YOUR":PRINT"SCORE":PRINT"GOES":PRINT"UP BY":PRINT RAN$;"!":PRINT:PRINT"YOUR":PRINT"SCORE":PRINT"IS NOW":PRINT SCOR(PLAYER);"!"
650 PRINT:PRINT"PRESS":PRINT"ANY KEY":PRINT"TO GO":PRINT"ON..."
660 IF INKEY$="" THEN 660
670 FOR I=4 TO 23:LOCATE I,1:PRINT"        ":NEXT I
680 FOR I=1 TO 8:FOR J=1 TO 8:IF USED(I,J)=0 THEN 700
690 NEXT J:NEXT I:GOTO 720
700 IF GRID(X1,Y1)=GRID(X2,Y2) THEN 240
710 NEXT PLAYER:GOTO 230
720 CLS:SCREEN 2:SCREEN 0,0,0:PRINT"*** GAME OVER ***":PRINT
730 FOR I=1 TO NP:PRINT"PLAYER #";I;"'S SCORE: ";SCOR(I):NEXT I:PRINT
740 SCOR(0)=0:X=0:FOR I=1 TO NP:IF SCOR(I)>SCOR(X) THEN X=I
750 NEXT I:PRINT"PLAYER #";X;" HAS WON!!!":PRINT:END
760 CLS:SCREEN 2
770 PRINT"THERE ARE 32 PAIRS OF CARDS RANDOMLY DISTRIBUTED THROUGHOUT THE 8x8 MATRIX.":PRINT
780 PRINT"EACH CARD HAS ON IT A NUMBER THAT WILL ADD TO YOUR SCORE.":PRINT
790 PRINT"EACH PLAYER WILL BE GIVEN A CHANCE TO FLIP OVER TWO NON-USED CARDS.":PRINT:PRINT"IF THE CARDS ARE THE SAME, THE VALUE ON THE CARDS WILL BE ADDED TO THAT":PRINT"PLAYER'S SCORE, AND THAT PLAYER WILL CONTINUE HIS TURN UNITL HE MISMATCHES"
800 PRINT"TWO CARDS. THEN THE NEXT PLAYER WILL TAKE HIS TURN.":PRINT
810 PRINT"ONCE ALL OF THE CARDS HAVE BEEN USED, ALL PLAYERS' SCORES WILL BE":PRINT"LISTED, AND THE WINNER WILL BE ANNOUNCED."
820 LOCATE 25,30:PRINT"PRESS ANY KEY TO BEGIN"
830 IF INKEY$="" THEN 830
840 CLS:SCREEN 1:RETURN

TANKS.BAS

100 REM TANK GAME
110 CLS:SCREEN 1:COLOR 0,0:KEY OFF
120 DEF SEG=&HB800
121 DEFINT A-Z
130 DIM DIR(2),SPD(2),SHT(2),SHDR(2),SHCT(2),SCOR(2),T1#(13),T2#(13),T3#(13),T4#(13),T5#(13),T6#(13),T7#(13),T8#(13),T9#(13),X(2),Y(2),SHX(2),SHY(2)
140 BLOAD"TANKS.OBJ",0
150 GET(0,0)-(19,19),T1#:GET(20,0)-(39,19),T2#:GET(40,0)-(59,19),T3#:GET(60,0)-(79,19),T4#:GET(80,0)-(99,19),T5#:GET(100,0)-(119,19),T6#:GET(120,0)-(139,19),T7#:GET(140,0)-(159,19),T8#:GET(160,0)-(179,19),T9#
160 CLS:SCREEN 0,0,0
170 LOCATE 8,18:COLOR 4,0:PRINT"TANKS":LOCATE 17,9:COLOR 1,0:PRINT"DESIGNED BY PAUL HILTS":LOCATE 25,10:COLOR 2:PRINT"INSTRUCTIONS? (Y/N)
180 IK$=INKEY$:IF IK$="N" THEN 210
185 IF IK$=CHR$(27) THEN SYSTEM
190 IF IK$="Y" THEN 200 ELSE 180
200 GOSUB 2000
210 CLS:SCREEN 1
220 COLOR 0,0:INPUT"OPTIONAL MAZE FILE NAME?(RTN FOR NORMAL)";MFN$:IF MFN$="" THEN MFN$="MAZE.OBJ"
225 CLS
230 BLOAD MFN$,0
240 REM *** INITAILIZATION ***
245 Q=5
250 DIR(1)=3:DIR(2)=7:SCOR(1)=0:SCOR(2)=0:SPD(1)=0:SPD(2)=0:SHT(1)=0:SHT(2)=0:SHDR(1)=0:SHDR(2)=0:SHCT(1)=0:SHCT(2)=0
260 Y(1)=85:X(1)=5:Y(2)=85:X(2)=294:PUT(X(1),Y(1)),T2#:PUT(X(2),Y(2)),T4#
270 LOCATE 1 ,1:PRINT"LEFT SCORE: "SCOR(1):LOCATE 1 ,20:PRINT"RIGHT SCORE: "SCOR(2)
280 REM
290 REM *** MAIN LOOP ***
300 FOR TNK=1 TO 2
301 FOR K=1 TO 10:IK$=INKEY$
302 IF IK$="E" OR IK$="e" THEN E$="1"
303 IF IK$="S" OR IK$="s" THEN S$="1"
304 IF IK$="D" OR IK$="d" THEN D$="1"
305 IF IK$="X" OR IK$="x" THEN X$="1"
306 IF IK$="I" OR IK$="i" THEN I$="1"
307 IF IK$="J" OR IK$="j" THEN J$="1"
308 IF IK$="K" OR IK$="k" THEN K$="1"
309 IF IK$="M" OR IK$="m" THEN M$="1"
310 IF IK$=CHR$(27) THEN 160
320 NEXT K
330 ON TNK GOTO 340,590
340 REM LEFT TANK
350 IF E$="1" THEN 360 ELSE 380
360 E$="":IF SPD(TNK)=1 THEN SPD(TNK)=0 ELSE SPD(TNK)=1
370 GOTO 330
380 IF S$="1" THEN 390 ELSE 410
390 S$="":GOSUB 1590:DIR(TNK)=DIR(TNK)-1:IF DIR(TNK)=0 THEN DIR(TNK)=8
400 GOSUB 1480:GOTO 330
410 IF D$="1" THEN 420 ELSE 440
420 D$="":GOSUB 1590:DIR(TNK)=DIR(TNK)+1:IF DIR(TNK)=9 THEN DIR(TNK)=1
430 GOSUB 1480:GOTO 330
440 IF X$="1" THEN 450 ELSE 580
450 X$="":IF SHT(TNK)=1 THEN 330
470 ON DIR(TNK) GOTO 475,485,495,505,515,525,535,545
475 FOR I=1 TO 2:IF POINT(X(TNK)+10,Y(TNK)-I)>0 THEN 330
476 NEXT I
480 SHX(TNK)=X(TNK)+10:SHY(TNK)=Y(TNK)-1:GOTO 560
485 FOR I=1 TO 2:IF POINT(X(TNK)+19+I,Y(TNK)-I)>0 THEN 330
486 NEXT I
490 SHX(TNK)=X(TNK)+19:SHY(TNK)=Y(TNK):GOTO 560
495 FOR I=20 TO 21:IF POINT(X(TNK)+I,Y(TNK)+10)>0 THEN 330
496 NEXT I
500 SHX(TNK)=X(TNK)+20:SHY(TNK)=Y(TNK)+10:GOTO 560
505 FOR I=20 TO 21:IF POINT(X(TNK)+I,Y(TNK)+I)>0 THEN 330
506 NEXT I
510 SHX(TNK)=X(TNK)+19:SHY(TNK)=Y(TNK)+19:GOTO 560
515 FOR I=20 TO 21:IF POINT(X(TNK)+10,Y(TNK)+I)>0 THEN 330
516 NEXT I
520 SHX(TNK)=X(TNK)+10:SHY(TNK)=Y(TNK)+20:GOTO 560
525 FOR I=1 TO 2:IF POINT(X(TNK)-I,Y(TNK)+19+I)>0 THEN 330
526 NEXT I
530 SHX(TNK)=X(TNK):SHY(TNK)=Y(TNK)+19:GOTO 560
535 FOR I=1 TO 2:IF POINT(X(TNK)-I,Y(TNK)+10)>0 THEN 330
536 NEXT I
540 SHX(TNK)=X(TNK)-1:SHY(TNK)=Y(TNK)+10:GOTO 560
545 FOR I=1 TO 2:IF POINT(X(TNK)-I,Y(TNK)-I)>0 THEN 330
546 NEXT I
550 SHX(TNK)=X(TNK):SHY(TNK)=Y(TNK):GOTO 560
560 PSET(SHX(TNK),SHY(TNK)),3
565 SHT(TNK)=1:SHDR(TNK)=DIR(TNK):SHCT(TNK)=0
570 GOTO 330
580 GOTO 640
590 REM RIGHT TANK
600 IF I$="1" THEN 601 ELSE 610
601 I$="":GOTO 360
610 IF J$="1" THEN 611 ELSE 620
611 J$="":GOTO 390
620 IF K$="1" THEN 621 ELSE 630
621 K$="":GOTO 420
630 IF M$="1" THEN 631 ELSE 580
631 M$="":GOTO 450
640 IF SHT(TNK)=0 THEN 1010
650 SHCT(TNK)=SHCT(TNK)+1:IF SHCT(TNK)<25 THEN 670
660 PSET(SHX(TNK),SHY(TNK)),0:SHT(TNK)=0:GOTO 1010
670 ON SHDR(TNK) GOTO 680,720,760,800,840,880,920,960
680 FOR I=1 TO 15:IF POINT(SHX(TNK),SHY(TNK)-I)>0 THEN 690
681 NEXT I:GOTO 700
690 PSET(SHX(TNK),SHY(TNK)),0:SHY(TNK)=SHY(TNK)-I+1:PSET(SHX(TNK),SHY(TNK)),3
691 IF POINT(SHX(TNK),SHY(TNK)-1)<3 THEN 1600 ELSE 1370
700 PSET(SHX(TNK),SHY(TNK)),0:SHY(TNK)=SHY(TNK)-15:PSET(SHX(TNK),SHY(TNK)),3
710 GOTO 1000
720 FOR I=1 TO 15:IF POINT(SHX(TNK)+I,SHY(TNK)-I)>0 THEN 730
721 NEXT I:GOTO 740
730 PSET(SHX(TNK),SHY(TNK)),0:SHX(TNK)=SHX(TNK)+I-1:SHY(TNK)=SHY(TNK)-I+1:PSET(SHX(TNK),SHY(TNK)),3
731 IF POINT(SHX(TNK)+1,SHY(TNK)-1)<3 THEN 1600 ELSE 1370
740 PSET(SHX(TNK),SHY(TNK)),0:SHY(TNK)=SHY(TNK)-15:SHX(TNK)=SHX(TNK)+15:PSET(SHX(TNK),SHY(TNK)),3
750 GOTO 1000
760 FOR I=1 TO 15:IF POINT(SHX(TNK)+I,SHY(TNK))>0 THEN 770
761 NEXT I:GOTO 780
770 PSET(SHX(TNK),SHY(TNK)),0:SHX(TNK)=SHX(TNK)+I-1:PSET(SHX(TNK),SHY(TNK)),3
771 IF POINT(SHX(TNK)+1,SHY(TNK))<3 THEN 1600 ELSE 1370
780 PSET(SHX(TNK),SHY(TNK)),0:SHX(TNK)=SHX(TNK)+15:PSET(SHX(TNK),SHY(TNK)),3
790 GOTO 1000
800 FOR I=1 TO 15:IF POINT(SHX(TNK)+I,SHY(TNK)+I)>0 THEN 810
801 NEXT I:GOTO 820
810 PSET(SHX(TNK),SHY(TNK)),0:SHX(TNK)=SHX(TNK)+I-1:SHY(TNK)=SHY(TNK)+I-1:PSET(SHX(TNK),SHY(TNK)),3
811 IF POINT(SHX(TNK)+1,SHY(TNK)+1)<3 THEN 1600 ELSE 1370
820 PSET(SHX(TNK),SHY(TNK)),0:SHX(TNK)=SHX(TNK)+15:SHY(TNK)=SHY(TNK)+15:PSET(SHX(TNK),SHY(TNK)),3
830 GOTO 1000
840 FOR I=1 TO 15:IF POINT(SHX(TNK),SHY(TNK)+I)>0 THEN 850
841 NEXT I:GOTO 860
850 PSET(SHX(TNK),SHY(TNK)),0:SHY(TNK)=SHY(TNK)+I-1:PSET(SHX(TNK),SHY(TNK)),3
851 IF POINT(SHX(TNK),SHY(TNK)+1)<3 THEN 1600 ELSE 1370
860 PSET(SHX(TNK),SHY(TNK)),0:SHY(TNK)=SHY(TNK)+15:PSET(SHX(TNK),SHY(TNK)),3
870 GOTO 1000
880 FOR I=1 TO 15:IF POINT(SHX(TNK)-I,SHY(TNK)+I)>0 THEN 890
881 NEXT I:GOTO 900
890 PSET(SHX(TNK),SHY(TNK)),0:SHX(TNK)=SHX(TNK)-I+1:SHY(TNK)=SHY(TNK)+I-1:PSET(SHX(TNK),SHY(TNK)),3
891 IF POINT(SHX(TNK)-1,SHY(TNK)+1)<3 THEN 1600 ELSE 1370
900 PSET(SHX(TNK),SHY(TNK)),0:SHX(TNK)=SHX(TNK)-15:SHY(TNK)=SHY(TNK)+15:PSET(SHX(TNK),SHY(TNK)),3
910 GOTO 1000
920 FOR I=1 TO 15:IF POINT(SHX(TNK)-I,SHY(TNK))>0 THEN  930
921 NEXT I:GOTO 940
930 PSET(SHX(TNK),SHY(TNK)),0:SHX(TNK)=SHX(TNK)-I+1:PSET(SHX(TNK),SHY(TNK)),3
931 IF POINT(SHX(TNK)-1,SHY(TNK))<3 THEN 1600 ELSE 1370
940 PSET(SHX(TNK),SHY(TNK)),0:SHX(TNK)=SHX(TNK)-15:PSET(SHX(TNK),SHY(TNK)),3
950 GOTO 1000
960 FOR I=1 TO 15:IF POINT(SHX(TNK)-I,SHY(TNK)-I)>0 THEN 970
961 NEXT I:GOTO 980
970 PSET(SHX(TNK),SHY(TNK)),0:SHX(TNK)=SHX(TNK)-I+1:SHY(TNK)=SHY(TNK)-I+1:PSET(SHX(TNK),SHY(TNK))
971 IF POINT(SHX(TNK)-1,SHY(TNK)-1)<3 THEN 1600 ELSE 1370
980 PSET(SHX(TNK),SHY(TNK)),0:SHX(TNK)=SHX(TNK)-15:SHY(TNK)=SHY(TNK)-15:PSET(SHX(TNK),SHY(TNK)),3
990 GOTO 1000
1000 GOTO 1010
1010 IF SPD(TNK)=0 THEN 1360
1020 ON DIR(TNK) GOTO 1030,1070,1110,1150,1190,1230,1270,1310
1030 FOR J=1 TO Q:FOR I=9 TO 10:IF POINT(X(TNK)+I,Y(TNK)-J)>0 THEN 1350
1040 NEXT I:NEXT J:FOR J=1 TO Q*2:FOR I=0 TO 19:IF I=9 OR I=10 THEN 1050
1045 IF POINT(X(TNK)+I,Y(TNK)+4-J)>0 THEN 1350
1050 NEXT I:NEXT J:GOSUB 1590:Y(TNK)=Y(TNK)-Q:GOSUB 1480
1060 GOTO 1350
1070 FOR J=1 TO Q:FOR I=18+J TO 8 STEP-1:IF POINT(X(TNK)+I,Y(TNK)-J)>0 THEN 1350
1080 NEXT I:NEXT J:FOR J=1 TO Q*2:FOR I=J-1 TO 11:IF POINT(X(TNK)+19+J,Y(TNK)+I)>0 THEN 1350
1090 NEXT I:NEXT J:GOSUB 1590:X(TNK)=X(TNK)+Q:Y(TNK)=Y(TNK)-Q:GOSUB 1480
1100 GOTO 1350
1110 FOR J=1 TO Q:FOR I=9 TO 10:IF POINT(X(TNK)+19+J,Y(TNK)+I)>0 THEN 1350
1120 NEXT I:NEXT J:FOR J=1 TO Q*2:FOR I=0 TO 19:IF I=9 OR I=10 THEN 1130
1125 IF POINT(X(TNK)+15+J,Y(TNK)+I)>0 THEN 1350
1130 NEXT I:NEXT J:GOSUB 1590:X(TNK)=X(TNK)+Q:GOSUB 1480
1140 GOTO 1350
1150 FOR J=1 TO Q:FOR I=8 TO 18+J:IF POINT(X(TNK)+19+J,Y(TNK)+I)>0 THEN 1350
1160 NEXT I:NEXT J:FOR J=1 TO Q*2:FOR I=19+J TO 8 STEP-1:IF POINT(X(TNK)+I,Y(TNK)+19+J)>0 THEN 1350
1170 NEXT I:NEXT J:GOSUB 1590:X(TNK)=X(TNK)+Q:Y(TNK)=Y(TNK)+Q:GOSUB 1480
1180 GOTO 1350
1190 FOR J=1 TO Q:FOR I=9 TO 10:IF POINT(X(TNK)+I,Y(TNK)+19+J)>0 THEN 1350
1200 NEXT I:NEXT J:FOR J=1 TO Q*2:FOR I=0 TO 19:IF I=9 OR I=10 THEN 1210
1205 IF POINT(X(TNK)+I,Y(TNK)+15+J)>0 THEN 1350
1210 NEXT I:NEXT J:GOSUB 1590:Y(TNK)=Y(TNK)+Q:GOSUB 1480
1220 GOTO 1350
1230 FOR J=1 TO Q:FOR I=11 TO 1-J STEP-1:IF POINT(X(TNK)+I,Y(TNK)+19+J)>0 THEN 1350
1240 NEXT I:NEXT J:FOR J=1 TO Q*2:FOR I=18+J TO 8 STEP-1:IF POINT(X(TNK)-J,Y(TNK)+I)>0 THEN 1350
1250 NEXT I:NEXT J:GOSUB 1590:X(TNK)=X(TNK)-Q:Y(TNK)=Y(TNK)+Q:GOSUB 1480
1260 GOTO 1350
1270 FOR J=1 TO Q:FOR I=9 TO 10:IF POINT(X(TNK)-J,Y(TNK)+I)>0 THEN 1350
1280 NEXT I:NEXT J:FOR J=1 TO Q*2:FOR I=0 TO 19:IF I=9 OR I=10 THEN 1290
1285 IF POINT(X(TNK)+4-J,Y(TNK)+I)>0 THEN 1350
1290 NEXT I:NEXT J:GOSUB 1590:X(TNK)=X(TNK)-Q:GOSUB 1480
1300 GOTO 1350
1310 FOR J=1 TO Q:FOR I=1-J TO 11:IF POINT(X(TNK)+I,Y(TNK)-J)>0 THEN 1350
1320 NEXT I:NEXT J:FOR J=1 TO Q*2:FOR I=1-J TO 11:IF POINT(X(TNK)-J,Y(TNK)+I)>0 THEN 1350
1330 NEXT I:NEXT J:GOSUB 1590:X(TNK)=X(TNK)-Q:Y(TNK)=Y(TNK)-Q:GOSUB 1480
1340 GOTO 1350
1350 SOUND 40,.6
1360 NEXT TNK:GOTO 300
1370 REM BOUNCE OFF WALL
1380 SOUND 2500,.7
1390 ON SHDR(TNK) GOTO 1400,1410,1420,1430,1440,1450,1460,1470
1400 SHDR(TNK)=5:GOTO 1000
1410 IF POINT(SHX(TNK),SHY(TNK)-1)>0 THEN SHDR(TNK)=4 ELSE SHDR(TNK)=8
1415 GOTO 1000
1420 SHDR(TNK)=7:GOTO 1000
1430 IF POINT(SHX(TNK)+1,SHY(TNK))>0 THEN SHDR(TNK)=6 ELSE SHDR(TNK)=2
1435 GOTO 1000
1440 SHDR(TNK)=1:GOTO 1000
1450 IF POINT(SHX(TNK),SHY(TNK)+1)>0 THEN SHDR(TNK)=8 ELSE SHDR(TNK)=4
1455 GOTO 1000
1460 SHDR(TNK)=3:GOTO 1000
1470 IF POINT(SHX(TNK)-1,SHY(TNK))>0 THEN SHDR(TNK)=2 ELSE SHDR(TNK)=6
1475 GOTO 1000
1480 REM PUT TANK
1481 IF SCT=1 THEN WW=ST ELSE WW=TNK
1490 ON DIR(WW) GOTO 1500,1510,1520,1530,1540,1550,1560,1570
1500 PUT(X(WW),Y(WW)),T1#:GOTO 1580
1510 PUT(X(WW),Y(WW)),T6#:GOTO 1580
1520 PUT(X(WW),Y(WW)),T2#:GOTO 1580
1530 PUT(X(WW),Y(WW)),T7#:GOTO 1580
1540 PUT(X(WW),Y(WW)),T3#:GOTO 1580
1550 PUT(X(WW),Y(WW)),T8#:GOTO 1580
1560 PUT(X(WW),Y(WW)),T4#:GOTO 1580
1570 PUT(X(WW),Y(WW)),T5#:GOTO 1580
1580 RETURN
1590 IF SCT=1 THEN WW=ST ELSE WW=TNK
1595 PUT(X(WW),Y(WW)),T9#,PSET
1596 RETURN
1600 REM *** TANK HIT ***
1610 IF SHX(TNK)>X(TNK)-2 AND ABS(SHX(TNK)-X(TNK))<21 AND SHY(TNK)>Y(TNK)-2 AND ABS(SHY(TNK)-Y(TNK))<21 THEN KL=1 ELSE KL=0
1620 IF TNK=1 THEN 1625 ELSE 1630
1625 ON KL+1 GOTO 1650,1640
1630 ON KL+1 GOTO 1640,1650
1640 TH=1:GOTO 1660
1650 TH=2:GOTO 1660
1660 FOR SS=0 TO 9
1670 PSET(X(TH)+10,Y(TH)+10-SS),3
1680 PSET(X(TH)+10+SS,Y(TH)+10-SS),3
1690 PSET(X(TH)+10+SS,Y(TH)+10),3
1700 PSET(X(TH)+10+SS,Y(TH)+10+SS),3
1710 PSET(X(TH)+10,Y(TH)+10+SS),3
1720 PSET(X(TH)+10-SS,Y(TH)+10+SS),3
1730 PSET(X(TH)+10-SS,Y(TH)+10),3
1740 PSET(X(TH)+10-SS,Y(TH)+10-SS),3
1750 SOUND (SS+1)*50,.5:NEXT SS
1760 PUT(X(TH),Y(TH)),T9#,PSET
1770 SCT=1:ST=TH:GOSUB 1480:SCT=0:IF TH=1 THEN SCOR(2)=SCOR(2)+1 ELSE SCOR(1)=SCOR(1)+1
1780 LOCATE 1 ,1:PRINT"LEFT SCORE: "SCOR(1):LOCATE 1 ,20:PRINT"RIGHT SCORE: "SCOR(2)
1790 GOTO 660
2000 REM *** INSTRUCTIONS ***
2010 CLS:SCREEN 1:COLOR 0,0
2020 LOCATE 1,11:PRINT"KEYBOARD CONTROLS"
2030 PUT(60,60),T1#:PUT(220,60),T1#
2050 LOCATE 5,5:PRINT"LEFT TANK":LOCATE 5,25:PRINT"RIGHT TANK"
2060 CIRCLE(65,70),20,3,1.7,4.6:CIRCLE(73,70),20,3,4.8,1.4
2070 LOCATE 9,5:PRINT"S":LOCATE 9,13:PRINT"D"
2080 CIRCLE(225,70),20,3,1.7,4.6:CIRCLE(233,70),20,3,4.8,1.4
2090 LOCATE 9,25:PRINT"J":LOCATE 9,33:PRINT"K"
2100 LOCATE 13,7:PRINT"X: FIRE":LOCATE 13,26:PRINT"M: FIRE"
2110 LOCATE 15,5:PRINT"E: GO/STOP":LOCATE 15,25:PRINT"I: GO/STOP"
2120 LOCATE 19,8:PRINT"MISSLES BOUNCE OFF WALLS"
2130 LOCATE 23,13:PRINT"PRESS ANY KEY"
2140 IF INKEY$="" THEN 2140 ELSE RETURN

Directory of PC-SIG Library Disk #1814

 Volume in drive A has no label
 Directory of A:\

BLASTER  BAS      7525   1-01-80   1:21a
BLASTER  EXE     56936   1-01-80  12:09a
CARDS    OBJ       644   1-01-80  12:01a
DSCRPTN  DOC       459   1-01-80  12:12a
FILE1814 TXT      2665  12-22-89  12:29p
GO       BAT        38   1-01-80   1:37a
GO       TXT       694  12-22-89  12:43p
MAZE     OBJ     16392   1-01-80  12:26a
MEMORY   BAS      3925   1-01-80  12:10a
MEMORY   EXE     58096   1-01-80  12:18a
TANKS    BAS     11271   1-01-80  12:08a
TANKS    EXE     57216   1-01-80  12:15a
TANKS    OBJ      9020   1-01-80   1:42a
       13 file(s)     224881 bytes
                       91136 bytes free