image of READY prompt

Wang2200.org

Listing of file='PINGPONG' on disk='vmedia/more_games.wvd.zip'

# Sector 1109, program filename = 'PINGPONG'
0010 REM *PINGPONG*
   : LOAD DC T#6,"GAMES"
0020 REM RCCS CR - PONG
0030 SELECT INPUT 001,PRINT 005(64),P0
0040 DIM Z$1,P(4),D(5),P$(5)5
0050 MAT READ P
0060 DATA -5,-1,+1,+5
0070 MAT READ D
0080 DATA -3,-1,0,+1,+3
0090 MAT READ P$
0100 DATA "*----","-*---","--*--","---*-","----*"
0110 PRINT HEX(030A);"SF 0 - TOP LEFT 5"
0120 PRINT "SF 1 - TOP LEFT 1"
0130 PRINT "SF 2 - TOP RIGHT 1"
0140 PRINT "SF 3 - TOP RIGHT 5"
0150 PRINT HEX(0A);"SF 8 - NEW GAME";HEX(0A)
0160 PRINT "SF 12 - BOTTOM LEFT 5"
0170 PRINT "SF 13 - BOTTOM LEFT 1"
0180 PRINT "SF 14 - BOTTOM RIGHT 1"
0190 PRINT "SF 15 - BOTTOM RIGHT 5";HEX(0A)
0200 KEYIN Z$,200,200
0210 PRINT "PRESS 'RETURN' TO CONTINUE";
0220 KEYIN Z$,230,230
   : GOTO 220
0230 PRINT HEX(03)
0240 S1,S2=0
0250 B1=-1
   : A$="BOTTOM"
   : IF RND(1)<.5 THEN 260
   : B1=1
   : A$="TOP"
0260 PRINT A$;" WINS THE SERVE"
0270 FOR A=1 TO 1000
   : NEXT A
0280 PRINT HEX(03)
0290 FOR A=1 TO 15
   : PRINT "!";TAB(49);"!"
   : NEXT A
0300 PRINT "!";TAB(49);"!";HEX(01)
0310 P1,P2=22
0320 GOSUB 860
   : GOSUB 880
   : GOSUB 900
0330 FOR A=1 TO 1000
   : NEXT A
0340 B2=(17+B1)/2
   : B3=48*RND(1)
   : B4=D(5*RND(1)+1)
0350 GOSUB 950
0360 FOR Z=1 TO 10
0370 KEYIN Z$,520,380
   : GOTO 520
0380 IF VAL(Z$)<4 THEN 470
0390 IF VAL(Z$)=8 THEN 230
0400 IF VAL(Z$)<12 THEN 520
0410 IF VAL(Z$)>15 THEN 520
0420 IF B1=1 THEN 430
   : Z=Z-1
   : GOTO 520
0430 P2=P2+P(VAL(Z$)-11)
0440 IF P2>=1 THEN 450
   : P2=1
   : GOTO 460
0450 IF P2<45 THEN 460
   : P2=44
0460 GOSUB 880
   : GOTO 520
0470 IF B1=-1 THEN 480
   : Z=Z-1
   : GOTO 520
0480 P1=P1+P(VAL(Z$)+1)
0490 IF P1>=0 THEN 500
   : P1=0
   : GOTO 510
0500 IF P1<45 THEN 510
   : P1=44
0510 GOSUB 860
0520 NEXT Z
0530 IF B2=1 THEN 590
   : IF B2=16 THEN 590
0540 PRINT HEX(01)
0550 FOR A=1 TO B2-1
0560 PRINT HEX(0A);
0570 NEXT A
0580 PRINT "!";TAB(49);"!"
0590 B2=B2+B1
   : B3=B3+B4
0600 IF B3>=0 THEN 610
   : B3=-B3
   : B4=-B4
   : GOTO 620
0610 IF B3<48 THEN 620
   : B3=94-B3
   : B4=-B4
0620 IF B2=1 THEN 650
   : IF B2=16 THEN 660
0630 GOSUB 950
0640 GOTO 360
0650 P=P1
   : GOTO 670
0660 P=P2
0670 IF B3<P-1 THEN 760
   : IF B3>P+4 THEN 760
0680 B1=-B1
   : B4=D(B3-P+2)
0690 PRINT HEX(01);
0700 IF B2=1 THEN 720
0710 PRINT HEX(0C);
0720 PRINT "!";TAB(P);P$(B3-P+2);TAB(49);"!";HEX(01)
0730 FOR A=1 TO 50
   : NEXT A
0740 IF B2=16 THEN 750
   : GOSUB 860
   : GOTO 360
0750 GOSUB 880
   : GOTO 360
0760 IF B2=1 THEN 770
   : S1=S1+1
   : IF S1<21 THEN 780
   : IF S1<=S2+1 THEN 780
   : GOTO 810
0770 S2=S2+1
   : IF S2<7 THEN 780
   : IF S2>S1+1 THEN 830
0780 GOSUB 900
0790 FOR A=1 TO 500
   : NEXT A
0800 GOTO 310
0810 PRINT HEX(03);"THE TOP PLAYER WINS!"
0820 GOTO 840
0830 PRINT HEX(03);"THE BOTTOM PLAYER WINS!"
0840 FOR A=1 TO 1000
   : NEXT A
0850 GOTO 230
0860 PRINT HEX(01);"!";TAB(P1);"-----";TAB(49);"!"
0870 RETURN
0880 PRINT HEX(010C);"!";TAB(P2);"-----";TAB(49);"!";HEX(0C)
0890 RETURN
0900 PRINT HEX(010A0A0A0A0A)
0910 PRINT "!";TAB(49);"!";TAB(60);S1;TAB(63)
0920 PRINT HEX(0A0A0A)
0930 PRINT "!";TAB(49);"!";TAB(60);S2;TAB(63)
0940 RETURN
0950 PRINT HEX(01)
0960 FOR A=1 TO B2-1
0970 PRINT HEX(0A);
0980 NEXT A
0990 PRINT "!";TAB(B3+1);"*";TAB(49);"!"
1000 RETURN