Compucolor.org – Virtual Media

Listing of file='REVERS.BAS;01' on disk='vmedia/ncc_9-sector.ccvf'

5 PLOT 12,14,6,49
8 PLOT 31
10 PRINT TAB( 25);"R E V E R S E                          "
20 PLOT 6,2,15,14
30 PRINT
100 PRINT "REVERSE -- A GAME OF SKILL":PRINT
130 DIM A(20)
140 REM  *** N=NUMBER OF NUMBERS
150 N= 9
155 PLOT 6,1
160 PRINT "DO YOU WANT THE RULES ";
170 INPUT A$
180 IF A$= "NO"THEN 210
185 IF A$= "N"THEN 210
190 FOR W= 1TO 100:NEXT W
192 PLOT 12,6,3
194 GOSUB 700
200 REM  *** MAKE A RANDOM LIST A(1) TO A(N)
210 A(1)= INT ((N- 1)* RND (1)+ 2)
220 FOR K= 2TO N
230 A(K)= INT (N* RND (1)+ 1)
240 FOR J= 1TO K- 1
250 IF A(K)= A(J)THEN 230
260 NEXT J:NEXT K
280 REM  *** PRINT ORIGINAL LIST AND START GAME
285 PLOT 6,3,14
290 PRINT :PRINT "HERE WE GO ... THE LIST IS:"
310 T= 0
320 GOSUB 605
325 REM
330 PLOT 6,6:PRINT "HOW MANY SHALL I REVERSE ";
335 PLOT 6,3
340 INPUT R
350 IF R= 0THEN 520
360 IF R< = NTHEN 390
365 PLOT 6,4:PRINT
370 PRINT "OOPS!  TOO MANY!  I CAN REVERSE AT MOST ";:PLOT 6,7:PRINT N:PRINT :GOTO 330
390 T= T+ 1
400 REM  *** REVERSE R NUMBERS AND PRINT NEW LIST
410 FOR K= 1TO INT (R/ 2)
420 Z= A(K)
430 A(K)= A(R- K+ 1)
440 A(R- K+ 1)= Z
450 NEXT K
460 GOSUB 605
470 REM  *** CHECK FOR A WIN
480 FOR K= 1TO N
490 IF A(K)< > KTHEN 330
500 NEXT K
505 PLOT 14,6,1
510 PRINT "YOU WON IT IN ";T;" MOVES!!!":PRINT
520 PRINT
525 PLOT 6,3
530 PRINT "TRY AGAIN (YES OR NO) ";
540 INPUT A$
550 IF A$= "YES"THEN 210
555 PLOT 12,6,7
560 PLOT 12,6,7,31,3,20,16
580 PRINT "O.K. HOPE YOU HAD FUN!!":GOTO 999
600 REM  *** SUBROUTINE TO PRINT LIST
605 PLOT 6,1
610 PRINT :FOR K= 1TO N:PRINT A(K);:NEXT K
650 PRINT :PRINT :RETURN
700 REM  *** SUBROUTINE TO PRINT THE RULES
710 PRINT "THIS IS THE GAME OF 'REVERSE'.  TO WIN, ALL YOU HAVE TO DO IS"
720 PRINT "ARRANGE A LIST OF NUMBERS (1 THROUGH ";N;") IN NUMERICAL ORDER"
730 PRINT "FROM LEFT TO RIGHT. TO MOVE, YOU TELL ME HOW MANY NUMBERS"
740 PRINT "(COUNTING FROM THE LEFT) TO REVERSE. FOR EXAMPLE, IF THE"
745 PRINT
750 PRINT "CURRENT LIST IS: 2 3 4 5 1 6 7 8 9  AND YOU REVERSE 4, THE"
760 PRINT "RESULT  WILL BE: 5 4 3 2 1 6 7 8 9.   NOW,  REVERSE 5 AND"
770 PRINT "YOU WIN!         1 2 3 4 5 6 7 8 9"
780 PRINT
840 PLOT 6,1
850 PRINT "          TO QUIT, REVERSE 0 (ZERO)."
860 RETURN
999 REM  *** CLEAN UP AFTER GAME
1020 FOR I= 1TO 1000:NEXT I
1040 PLOT 12,15,6,2
1050 GOTO 2000:REM  *********************************************
1060 LOAD "MENU":RUN 1
2000 END