RosettaCodeData/Task/Monty-Hall-problem/Applesoft-BASIC/monty-hall-problem.basic

42 lines
1.7 KiB
Plaintext

100 DATA 1000,ONE,TWO,THREE,GOAT,CAR,2,STICKER,SWITCHER,", YOU HAVE WON A "," HAS WON THE CAR ",","," OR"
110 READ TIMES,D$(0),D$(1),D$(2),P$(0),P$(1),K,STICKER$,SWITCHER$,CAR$,HAS$,I$(1),I$(2)
120 LET M$ = CHR$ (13)
130 DEF FN R(N) = INT ( RND (1) * N)
140 TEXT
150 FOR GAME = 1 TO TIMES
160 IF K = 1 THEN PRINT M$" CONT";
170 VTAB 1 + (K = 1) * 22
180 HTAB 1
190 IF K = 1 THEN END
200 IF K THEN HOME
210 LET CAR = FN R(3)
220 LET GUESS = FN R(3)
230 FOR LOOP = 0 TO 0
240 LET SHOW = FN R(3)
250 LET LOOP = - (SHOW = GUESS OR SHOW = CAR)
260 NEXT LOOP
270 FOR LOOP = 0 TO 0
280 LET NG = FN R(3)
290 LET LOOP = - (NG = GUESS OR NG = SHOW)
300 NEXT LOOP
310 LET STICK = STICK + (GUESS = CAR)
320 LET SWITCH = SWITCH + (NG = CAR)
330 PRINT "THE MONTY HALL PROBLEM"M$M$" LET'S MAKE A DEAL - GAME # "GAME;M$M$"WHICH DOOR DO YOU THINK THAT THE CAR IS BEHIND?"M$M$"CHOOSE";
340 FOR I = 0 TO 2
350 PRINT I$((I > 0) + (I = 2))" DOOR NUMBER "D$(I);
360 NEXT I
370 PRINT "."M$M$"YOU HAVE CHOSEN DOOR NUMBER "D$(GUESS)".";
380 CALL - 868
390 PRINT M$M$"THERE IS A GOAT BEHIND DOOR "D$(SHOW)". DO ";
400 CALL - 868
410 PRINT M$"YOU WANT TO SWITCH TO DOOR NUMBER "D$(NG)"?";
420 CALL - 868
430 PRINT CHR$ (8)M$M$STICKER$CAR$P$(GUESS = CAR)".";
440 CALL - 868
450 PRINT M$SWITCHER$CAR$P$(NG = CAR)".";
460 CALL - 868
470 PRINT M$M$STICKER$HAS$STICK" TIMES"M$"AND "SWITCHER$HAS$SWITCH;M$"TIMES OUT OF "GAME"."M$
480 LET K = PEEK (49152) > 127
490 LET C = PEEK (49200 - K * 32)
500 NEXT GAME