mirror of
https://github.com/rfivet/BCG101.git
synced 2024-11-16 17:36:30 -05:00
60 lines
1.9 KiB
QBasic
60 lines
1.9 KiB
QBasic
100 PRINT\PRINT "REVERSE -- A GAME OF SKILL"\PRINT
|
|
120 RANDOMIZE
|
|
130 DIM A(20)
|
|
140 REM *** N=NUMBER OF NUMBERS
|
|
150 N=9
|
|
160 PRINT "DO YOU WANT THE RULES (YES OR NO)";
|
|
170 INPUT A$
|
|
180 IF A$="NO" THEN 210
|
|
190 GOSUB 710
|
|
200 REM *** MAKE A RANDOM LIST A(1) TO A(N)
|
|
210 A(1)=INT((N-1)*RND(1))+2
|
|
220 FOR K=2 TO N
|
|
230 A(K)=INT(N*RND(1))+1
|
|
240 FOR J=1 TO K-1
|
|
250 IF A(K)=A(J) THEN 230
|
|
260 NEXT J\NEXT K
|
|
280 REM *** PRINT ORIGINAL LIST AND START GAME
|
|
290 PRINT\PRINT "HERE WE GO ... THE LIST IS:"
|
|
310 T=0
|
|
320 GOSUB 610
|
|
330 PRINT "HOW MANY SHALL I REVERSE";
|
|
340 INPUT R
|
|
350 IF R=0 THEN 530
|
|
360 IF R<=N THEN 390
|
|
370 PRINT "OOPS! TOO MANY - I CAN REVERSE AT MOST";N\GOTO 330
|
|
390 T=T+1
|
|
400 REM *** REVERSE R NUMBERS AND PRINT NEW LIST
|
|
410 FOR K=1 TO 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 610
|
|
470 REM *** CHECK FOR A WIN
|
|
480 FOR K=1 TO N
|
|
490 IF A(K)<>K THEN 330
|
|
500 NEXT K
|
|
510 PRINT "YOU WON IT IN"T"MOVES !!!"\PRINT
|
|
530 PRINT "TRY AGAIN (YES OR NO)";
|
|
540 INPUT A$
|
|
550 IF A$="YES" THEN 210
|
|
560 PRINT\PRINT "O.K. HOPE YOU HAD FUN!!"\GOTO 999
|
|
600 REM *** SUBROUTINE TO PRINT LIST
|
|
610 PRINT\FOR K=1 TO N\PRINT A(K);\NEXT K
|
|
650 PRINT\PRINT\RETURN
|
|
700 REM *** SUBROUTINE TO PRINT THE RULES
|
|
710 PRINT\PRINT "THIS IS THE GAME OF 'REVERSE'. TO WIN, ALL YOU HAVE"
|
|
720 PRINT "TO DO IS ARRANGE A LIST OF NUMBERS (1 THROUGH"N")"
|
|
730 PRINT "IN NUMERICAL ORDER FROM LEFT TO RIGHT. TO MOVE, YOU"
|
|
740 PRINT "TELL ME HOW MANY NUMBERS (COUNTING FROM THE LEFT) TO"
|
|
750 PRINT "REVERSE. FOR EXAMPLE, IF THE CURRENT LIST IS:"
|
|
760 PRINT\PRINT "2 3 4 5 1 6 7 8 9"
|
|
770 PRINT\PRINT "AND YOU REVERSE 4, THE RESULT WILL BE:"
|
|
780 PRINT\PRINT "5 4 3 2 1 6 7 8 9"
|
|
790 PRINT\PRINT "NOW IF YOU REVERSE 5, YOU WIN!"
|
|
800 PRINT\PRINT "1 2 3 4 5 6 7 8 9"\PRINT
|
|
810 PRINT "NO DOUBT YOU WILL LIKE THIS GAME OF SKILL, BUT"
|
|
820 PRINT "IF YOU WANT TO QUIT, REVERSE 0 (ZERO)."\PRINT\RETURN
|
|
999 END
|