image of READY prompt

Wang2200.org

Listing of file='ARCADE' on disk='vmedia/best_of_BD_fules.wvd.zip'

# Sector 304, program filename = 'ARCADE'
0010 KEYIN D$,10,10
   : PRINT HEX(03);"WHICH ARCADE GAME WOULD YOU LIKE"
   : PRINT "1. TIE FIGHTER"
   : PRINT "2. PINBALL"
   : PRINT "3. STOP"
   : PRINT TAB(32);HEX(0C0C0C0C);
   : INPUT Y
   : ON Y GOTO 720,20,580
0020 DIM A$(14)64,E$5,F$(4)64
   : E$="o"
0030 PRINT HEX(03);TAB(20);"BASIC INSTRUCTIONS"
   : PRINT "  TO START THE BALL PRESS ANY S.F. KEY. TO GET YOUR PADDLE PRESSAN
     Y KEY. TO GET A FREE BALL THE BALL HAS TO HIT THE DIAMOND IN";
0040 PRINT "THE MIDDLE. TO GET A FREE GAME YOUR SCORE MUST BE OVER 7300.    BE
     FORE THE GAME YOU WILL BE ASKED HOW MANY BALLS YOU WANT. ONLY A REPLY OF
     '3' OR '5' WILL BE ACCEPTED."
0050 KEYIN A$,60,60
   : GOTO 50
0060 PRINT
   : INPUT "HOW MANY BALLS",K0
   : IF K0=3THEN 80
   : IF K0=5THEN 80
0070 K0=3
0080 L=13
   : M=61
   : A=8
   : PRINT HEX(0306)
0090 INIT(80)A$()
   : INIT(8B)STR(A$(1),4,59)
   : FOR I=2TO 13
   : STR(A$(I),4,1)=HEX(86)
   : NEXT I
   : INIT(80)STR(A$(1),1,3),STR(A$(14),1,3)
   : FOR I=2TO 13
   : STR(A$(I),62,1)=HEX(86)
   : NEXT I
0100 FOR I=4TO 13
   : STR(A$(I),60,3)=HEX(868086)
   : NEXT I
0110 PRINT HEX(03);
   : PRINT "WHICH PINBALL GAME"
   : PRINT "1. SPACE BALL"
   : PRINT "2. PINWARS"
   : PRINT "3. WANG's BEST (FOR NON-DISK PERSONEL)";HEX(0109090909090909090909
     0909090909090909);
   : INPUT M6
   : J8=0
   : ON M6GOTO 120,130,140
0120 LIMITS F "ARCADE",W,Q1,U
   : FOR I=Q1-5 TO Q1-4
   : DATA LOAD BA F(I,M9)F$()
   : FOR J=1TO 4
   : A$((I-(Q1-6))*4+1+J)=F$(J)
   : NEXT J
   : NEXT I
   : GOTO 170
0130 LIMITS F "ARCADE",W,Q1,U
   : FOR I=Q1-3 TO Q1-2
   : DATA LOAD BA F(I,M9)F$()
   : FOR J=1TO 4
   : A$((I-(Q1-4))*4+1+J)=F$(J)
   : NEXT J
   : NEXT I
   : GOTO 170
0140 STR(A$(6),9,5)="OOOOO"
   : STR(A$(6),49,5)="OOOOO"
   : STR(A$(8),13,5)="OOOOO"
   : STR(A$(8),46,5)="OOOOO"
   : STR(A$(10),11,2)=HEX(832D)
   : STR(A$(10),51,2)="-\82"
   : STR(A$(9),25,1),STR(A$(9),32,1),STR(A$(9),39,1)="\81"
0150 STR(A$(12),7,1)=HEX(86)
   : STR(A$(12),27,1)="#"
   : STR(A$(12),37,1)="#"
   : STR(A$(12),57,1)=HEX(86)
   : STR(A$(13),7,1)=HEX(86)
   : STR(A$(13),26,1)="#"
   : STR(A$(13),38,1)="#"
   : STR(A$(13),57,1)=HEX(86)
0160 STR(A$(11),7,1)=HEX(86)
   : STR(A$(11),57,1)=HEX(86)
0170 PRINT HEX(03);
0180 L=13
   : M=61
   : A=8
   : PRINT HEX(0106)
   : STR(A$(L),M,1)=HEX(80)
   : STR(A$(4),61,1)=HEX(80)
0190 INIT(8B)STR(A$(4),5,55)
   : FOR I=1TO 6
   : H=INT(RND(1)*52)+5
   : STR(A$(4),H,4)=HEX(80808080)
   : NEXT I
   : INIT(80)A$(14)
0200 GOSUB 440
0210 KEYIN J$,210,220
   : GOTO 210
0220 KEYIN J$,230,230
   : GOTO 240
0230 IF VAL(J$)=24THEN 550
   : IF D5>0THEN 240
   : D5=1
0240 IF INT(D5/2+.5)=1THEN 450
0250 ON AGOTO 260,290,300,330,340,350,360,390,400
   : END
0260 A=1
   : STR(A$(L),M,1)=HEX(80)
   : IF STR(A$(L+1),M-1,1)<>HEX(80)THEN 270
   : L=L+1
   : M=M-1
   : GOSUB 440
   : GOTO 220
0270 IF STR(A$(L+1),M-1,1)="\81"THEN 280
   : J8=J8+INT(RND(1)*3)+50
   : IF STR(A$(L+1),M+1,1)<>HEX(80)THEN 360
   : GOTO 300
0280 L=L+1
   : M=M-1
   : GOTO 520
0290 STOP "2"
0300 A=3
   : STR(A$(L),M,1)=HEX(80)
   : IF STR(A$(L+1),M+1,1)<>HEX(80)THEN 310
   : L=L+1
   : M=M+1
   : GOSUB 440
   : GOTO 220
0310 IF STR(A$(L+1),M+1,1)="\81"THEN 320
   : J8=J8+INT(RND(1)*3)+9
   : IF STR(A$(L+1),M-1,1)<>HEX(80)THEN 400
   : GOTO 260
0320 L=L+1
   : M=M+1
   : GOTO 520
0330 STOP "4"
0340 STOP "5"
0350 STOP "6"
0360 A=7
   : STR(A$(L),M,1)=HEX(80)
   : IF STR(A$(L-1),M-1,1)<>HEX(80)THEN 370
   : L=L-1
   : M=M-1
   : GOSUB 440
   : GOTO 220
0370 IF STR(A$(L-1),M-1,1)="\81"THEN 380
   : J8=J8+INT(RND(1)*3)+50
   : IF STR(A$(L+1),M-1,1)<>HEX(80)THEN 400
   : GOTO 260
0380 L=L-1
   : M=M-1
   : GOTO 520
0390 A=8
   : STR(A$(L),M,1)=HEX(80)
   : IF STR(A$(L-1),M,1)<>HEX(80)THEN 300
   : L=L-1
   : GOSUB 440
   : GOTO 220
0400 A=9
   : STR(A$(L),M,1)=HEX(80)
   : IF STR(A$(L-1),M+1,1)<>HEX(80)THEN 410
   : L=L-1
   : M=M+1
   : GOSUB 440
   : GOTO 220
0410 IF STR(A$(L-1),M+1,1)="\81"THEN 420
   : J8=J8+INT(RND(1)*3)+50
   : IF STR(A$(L-1),M-1,1)<>HEX(80)THEN 300
   : GOTO 360
0420 L=L-1
   : M=M+1
   : GOTO 520
0430 STR(A$(4),61,1)="-"
   : RETURN
0440 STR(A$(L),M,1)=E$
   : PRINT HEX(01);"S"
   : PRINT HEX(01);"SCORE=";J8,"BALLS LEFT =";K0-1;HEX(01);
   : MAT PRINT A$;
   : PRINT HEX(01);
   : IF L<4THEN 430
   : IF D5=1THEN 460
   : RETURN
0450 D5=D5+1
   : IF D5>2THEN 460
   : INIT(8B)STR(A$(14),8,22)
   : INIT(8B)STR(A$(14),35,22)
   : GOTO 250
0460 D5=0
   : INIT(80)A$(14)
   : GOTO 250
0470 ON ERRORA$,B$GOTO 470
   : IF A$="64"THEN 570
   : IF A$="29"THEN 560
   : IF K0-1<1THEN 480
   : PRINT HEX(010A0A0A0A0A0A20202086);"                    YOU LOST A BALL"
   : K0=K0-1
   : J8=J8+250
   : FOR I=1TO 200
   : NEXT I
   : GOTO 180
0480 PRINT HEX(030A0A0A0A0A0A0A0A);
   : J8=J8+250
0490 KEYIN D$,500,500
   : IF J8>7300THEN 510
   : PRINT HEX(0C);"            GAME OVER !              SCORE  = ";J8
   : FOR I=1TO 80
   : NEXT I
   : PRINT HEX(0C);TAB(62);" ";
   : FOR I=1TO 40
   : NEXT I
   : GOTO 490
0500 PRINT HEX(0C);
   : INPUT "               ANOTHER GAME, ANOTHER QUARTER",H1$
   : J,U8=0
   : IF STR(H1$,1,1)="Y"THEN 60
   : GOTO 10
0510 PRINT HEX(0C);"                    YOU GOT OVER 7300"
   : PRINT "                   YOU GET A FREE GAME!"
   : J=0
   : FOR I=1TO 400
   : NEXT I
   : GOTO 70
0520 E$="="
   : A=8
   : GOSUB 440
   : FOR I=1TO 200
   : NEXT I
   : L=L-1
   : U8=U8+1
   : IF U8>2THEN 530
   : E$="o"
   : GOTO 250
0530 K0=K0+1
   : E$="o"
   : U8=0
   : GOTO 250
0540 REM  131,132
0550 ON AGOTO 300,290,260,330,340,350,400,390,360
   : END
0560 PRINT HEX(030A0A0A0A0A0A);TAB(20);"ONLY NUMBERS IDIOT!"
   : PRINT TAB(24);"TRY AGAIN!"
   : FOR I=1TO 300
   : NEXT I
   : GOTO 110
0570 PRINT HEX(030A0A0A0A0A0A);TAB(18);"YOU IDIOT! YOU GOT NO DISK!"
   : PRINT TAB(20);"USE #3. I'LL START YOU."
   : FOR I=1TO 350
   : NEXT I
   : GOTO 140
0580 DIM S1$(11)16
0590 S1$(1)=HEX(3A2D2D2D2D2D2D2D2D2D2D2D3A202020)
0600 S1$(2)=HEX(21205041535420484F50452021202020)
0610 S1$(3)=HEX(21205041535420435552452021202020)
0620 S1$(4)=HEX(2120504153542048454C502021202020)
0630 S1$(5)=HEX(2120202066726F6D2D20202021202020)
0640 S1$(6)=HEX(A1A0F2EFEDA0A6A0EAF5ECA0A1202020)
0650 S1$(7)=HEX(205C204220414E442044202F20202020)
0660 S1$(8)=HEX(20205C2046554C4553202F2020202020)
0670 S1$(8)=HEX(20205C2046554C4553202F2020202020)
0680 S1$(9)=HEX(2020205C20494E43202F202020202020)
0690 S1$(10)=HEX(202020205C202E202F20202020202020)
0700 S1$(11)=HEX(20202020205CA02F2020202020202020)
0710 SELECT P4
   : PRINT HEX(030A);TAB(16);"THIS GAME WAS BROUGHT TO YOU BY:"
   : FOR I=1TO 11
   : PRINT TAB(25);S1$(I)
   : NEXT I
   : FOR I=1TO 600
   : NEXT I
   : GOTO 1310
0720 PRINT HEX(03);
0730 PRINT TAB(20);"BASIC INSTRUCTIONS";
   : PRINT " SPEED IS HOW FAST THE TIE-FIGHTER MOVES. YOU OBVIOUSLY TRY TO  DE
     STROY THE FIGHTER BEFORE IT DESTROYS YOU. YOU MOVE YOUR TARGETBY USING TH
     E NUMERIC KEYPAD.";
0740 PRINT " AN AVERAGE SPEED IS ABOUT 1.5. A VERY FAST SPEED WOULD BE ZERO AN
     D AN INCREDIBLY EASSSSY SPEED IS 3.";
   : T2=1
0750 PRINT " WHEN THE TIE-FIGHTER HITS THE HOOD IT EXTENSIVELY DAMMAGES YOURSH
     IT (SHIP THAT IS). IF HE HITS 5 TIMES YOU WILL BE DESTROYED.";
0760 PRINT " TO FIRE PRESS ANY S. F. KEY.";
0770 PRINT " SOME HELP WILL BE OFFERED BY THE COMMANDS IN THE UPPER LEFT-   HA
     ND CORNER."
   : PRINT " DURING THE GAME THE FIGHTER MAY USE A CLOAKING DEVICE. WHEN";
0780 PRINT "HE DOES IT WILL BE NECESSARY TO USE THE COMMANDS IN THE CORNER  OF
      THE SCREEN."
   : PRINT
0790 PRINT HEX(06)
   : DIM A$(14)64
   : INPUT "SPEED",K
0800 E$="<-\81->"
0810 J=INT(RND(1)*10)+1
   : X=INT(RND(2)*59)+3
   : K0,D4=0
   : GOTO 850
0820 F=INT(RND(1)*10)+1
   : IF F=1THEN 1190
0830 F=INT(RND(1)*7)+1
   : IF F=1THEN 1280
0840 F=INT(RND(1)*13)+1
   : IF F=1THEN 1300
0850 T3=T2
   : IF INT(RND(1)*3)<>1THEN 860
   : T2=INT(RND(1)*3)+1
   : T3=T2
0860 ON T3GOTO 990,1000,1020,1010
   : END
0870 INIT(20)A$()
0880 STR(A$(14),17,31)=HEX(8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8
     B8B8B8B8B8B8B8B8B8B)
   : STR(A$(13),19,27)=HEX(8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8
     B8B)
0890 STR(A$(12),21,23)=HEX(8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B)
0900 STR(A$(7),28,1)="-"
   : STR(A$(7),32,1)="+"
   : STR(A$(7),36,1)="-"
0910 STR(A$(5),32,1)=HEX(86)
0920 STR(A$(9),32,1)=HEX(86)
0930 GOTO 950
0940 O=1000
   : GOTO 960
0950 IF J<1THEN 940
   : IF J>11THEN 940
   : IF X<3THEN 940
   : IF X>62THEN 940
   : O=0
   : STR(A$(J),X-2,5)=E$
0960 PRINT HEX(03);
   : MAT PRINT A$;
   : GOSUB 1120
   : FOR I=1TO K*25
   : NEXT I
   : A$="5"
   : A1=5
0970 KEYIN A$,980,1030
   : GOTO 820
0980 IF A$<"2"THEN 820
   : IF A$>"8"THEN 820
   : CONVERT A$TO A1
   : IF A1=5THEN 960
   : ON A1/2GOTO 990,1000,1020,1010
   : GOTO 820
0990 J=J-1
   : GOTO 870
1000 X=X+2
   : GOTO 870
1010 J=J+1
   : GOTO 870
1020 X=X-2
   : GOTO 870
1030 GOSUB 1170
   : PRINT HEX(03);
   : MAT PRINT A$;
   : PRINT HEX(010D0A0A0A0A0A0A0A0A0A0A0A);TAB(35);
   : FOR A=1TO 5
   : PRINT HEX(5C08080C);
   : NEXT A
1040 PRINT HEX(010D0A0A0A0A0A0A0A0A0A0A0A);TAB(27);
   : FOR A=1TO 4
   : PRINT "/";HEX(0C);
   : NEXT A
   : PRINT "X";
   : FOR I=1TO 40
   : NEXT I
   : IF J=7THEN 1050
   : GOTO 820
1050 IF X<30THEN 820
   : IF X>34THEN 820
1060 STR(A$(J),X-2,5)="     "
   : PRINT HEX(03);
   : MAT PRINT A$;
   : PRINT HEX(010A0A0A0A0A0A0A)
1070 FOR I=X+1TO X+10STEP 2
   : STR(A$(J),I,1)="-"
   : STR(A$(J),X+(I-X)*2,1)=">"
   : STR(A$(J),X+(I-X)*2-4,1)=" "
   : STR(A$(J),I-2,1)=" "
1080 STR(A$(J),X-I+X,2)="<-"
   : STR(A$(J),X-I+X+2,2)="  "
   : STR(A$(J-(I-X)/2),I,1)="\81"
   : STR(A$(J-(I-X)/2+1),I-2,1)=" "
1090 PRINT HEX(03);
   : MAT PRINT A$;
   : NEXT I
   : STR(A$(7),30,4)="BOOM"
   : PRINT HEX(03);
   : MAT PRINT A$;
1100 KEYIN A$,1100,1100
   : PRINT HEX(01);
   : INPUT "ANOTHER TIE FIGHTER IS IN YOUR SECTOR.  WILL YOU ATTACK",G$
   : IF STR(G$,1,1)="Y"THEN 790
1110 GOTO 10
1120 IF J>7THEN 1130
   : IF J<7THEN 1140
   : IF X>34THEN 1150
   : IF X<30THEN 1160
   : PRINT HEX(01);"FIRE LASER CANNON!!";
   : RETURN
1130 PRINT HEX(01);"DOWN LASER CANNON";
   : RETURN
1140 PRINT HEX(01);"UP LASER CANNON";
   : RETURN
1150 PRINT HEX(01);"RIGHT LASER CANNON";
   : RETURN
1160 PRINT HEX(01);"LEFT LASER CANNON";
   : RETURN
1170 K0=K0+1
   : IF K0<10THEN 1180
   : FOR I=1TO 100
   : NEXT I
   : PRINT HEX(030A0A0A0A0A0A0A)
   : PRINT TAB(08);"LOW ON FIRE ARMS.  TIME TO HEAD FOR BASE SHIP."
   : RETURN CLEAR
   : FOR I=1TO 400
   : NEXT I
   : GOTO 10
1180 RETURN
1190 IF O=1000THEN 950
   : PRINT HEX(03);
   : MAT PRINT A$;
   : IF X>32THEN 1240
   : PRINT HEX(01);
   : FOR I=1TO J+1
   : PRINT HEX(0A);
   : NEXT I
   : FOR I=J+1TO 11
   : PRINT TAB(X+I-J-1);"."
   : NEXT I
   : IF (X+I-J-1)<21THEN 850
   : IF (X+I-J-1)>44THEN 850
   : D4=D4+1
   : IF D4<5THEN 850
1200 FOR I=1TO 300
   : NEXT I
   : PRINT HEX(030A0A0A0A0A0A0A);TAB(11);"THE TIE FIGHTER DESTROYED YOUR SHIP!
     "
   : KEYIN A$,1210,1210
1210 FOR I=1TO 450
   : NEXT I
   : PRINT HEX(030A0A0A0A0A0A0A);TAB(3);"BUT LUCKILY YOU WERE HURLED, UNHARMED
     , INTO OUTER SPACE."
   : FOR I=1TO 450
   : NEXT I
1220 PRINT HEX(030A0A0A0A0A0A0A);TAB(5);"YOU WERE THEN FOUND BY A BASE SHIP, B
     UT THEY NEED ..."
   : FOR I=1TO 450
   : NEXT I
   : PRINT HEX(030A0A0A0A0A0A0A);TAB(5);"...VOLUNTEER WARRIORS. WILL YOU VOLUN
     TEER";
   : INPUT G$
1230 IF STR(G$,1,1)="Y"THEN 790
   : FOR I=1TO 2
   : FOR O=1TO 40
   : NEXT O
   : PRINT HEX(030A0A0A0A0A0A0A);TAB(28);"BANG!!"
   : FOR K=1TO 20
   : NEXT K
   : PRINT HEX(03);
   : NEXT I
   : FOR I=1TO 200
   : NEXT I
   : PRINT HEX(030A0A0A0A0A0A0A);TAB(15);"THEY HAVE JUST ASSASINATED YOU."
   : FOR I=1TO 400
   : NEXT I
   : GOTO 10
1240 PRINT HEX(01);
   : FOR I=1TO J+1
   : PRINT HEX(0A);
   : NEXT I
   : FOR I=J+1TO 11
   : PRINT TAB(X-I+J-1);"."
   : NEXT I
   : IF (X-I+J-1)<20THEN 850
   : IF (X-I+J-1)>43THEN 850
   : D4=D4+1
   : IF D4>4THEN 1200
   : GOTO 850
1250 FOR I=16TO 255
   : BIN(A$)=I
   : KEYIN A$,1260,1260
   : PRINT A$;" ";
   : HEXPRINT STR(A$,1,1);
   : PRINT " ";
   : NEXT I
1260 STOP
1270 FOR I=X+1TO X+10
   : STR(A$(J),I,2)="->"
   : STR(A$(J),X-I+X,2)="<-"
   : PRINT HEX(03);
   : MAT PRINT A$;
   : NEXT I
1280 IF E$=" "THEN 850
   : E$=" "
   : PRINT HEX(03);
   : MAT PRINT A$;
   : PRINT HEX(01);"THE TIE FIGHTER IS USING HIS CLOAKING DEVICE. USE THE ON-B
     OARD  COMPUTER'S COMMANDS APEARING IN THE UPPER LEFT OF THE SCREEN."
1290 FOR I=1TO 400
   : NEXT I
   : GOTO 950
1300 E$="<-\81->"
   : GOTO 850
1310 SELECT P