34 lines
1.1 KiB
Plaintext
34 lines
1.1 KiB
Plaintext
100 PROGRAM "21Game.bas"
|
|
110 RANDOMIZE
|
|
120 LET SUM,ADD=0
|
|
130 LET TURN=RND(2)-1
|
|
140 CLEAR SCREEN
|
|
150 PRINT "21 is a two player game, the game is played by choosing a number (1, 2, or 3) to be added to the running total. The game is won by the player whose chosen number causes the running total to reach exactly 21."
|
|
160 PRINT "The running total starts at zero. One player will be the computer.":PRINT
|
|
170 DO
|
|
180 LET TURN=NOT TURN
|
|
190 SET #102:INK 3:PRINT "The sum is";SUM:SET #102:INK 1
|
|
200 IF TURN THEN
|
|
210 PRINT "It is your turn.":PRINT "How many would you like to add? (1-3): ";
|
|
220 LET ADD=READKEY
|
|
230 IF ADD>21-SUM THEN PRINT "You can only add";21-SUM
|
|
240 ELSE
|
|
250 LET ADD=4-MOD(SUM-1,4)
|
|
260 IF ADD=4 THEN LET ADD=RND(3)+1
|
|
270 PRINT "It is the computer's turn.":PRINT "The computer adds";ADD
|
|
280 END IF
|
|
290 PRINT :LET SUM=SUM+ADD
|
|
300 LOOP WHILE SUM<21
|
|
310 IF TURN THEN
|
|
320 PRINT "Congratulations. You win."
|
|
330 ELSE
|
|
340 PRINT "Bad luck. The computer wins."
|
|
350 END IF
|
|
360 END
|
|
370 DEF READKEY
|
|
380 DO
|
|
390 LET T$=INKEY$
|
|
400 LOOP WHILE T$>"3" OR T$<"1"
|
|
410 PRINT T$:LET READKEY=VAL(T$)
|
|
420 END DEF
|