Penney's game: Difference between revisions
Content added Content deleted
(Applesoft BASIC) |
|||
Line 273: | Line 273: | ||
=={{header|BASIC}}== |
=={{header|BASIC}}== |
||
==={{header|Applesoft BASIC}}=== |
|||
{{trans|Pascal}} |
|||
<syntaxhighlight lang="gwbasic"> 100 R = RND ( - 1 * ( PEEK (78) + 256 * PEEK (79))): REM RANDOMIZE |
|||
110 DEF FN R(R) = INT ( RND (1) * R) * (3 ^ (R = 8)) + 1 |
|||
120 READ P$ |
|||
130 DATA HTHHHHHHTHTTTHHTHTTTHTTT |
|||
140 LET M$ = CHR$ (13) |
|||
150 PRINT "WELCOME TO PENNEY'S GAME!"M$ |
|||
160 INPUT "HOW MANY ROUNDS WOULD YOU LIKE TO PLAY? ";ROUNDS% |
|||
170 PRINT M$"OK, LET'S PLAY "ROUNDS%" ROUNDS." |
|||
180 FOR COUNT = 1 TO ROUNDS% |
|||
190 PRINT M$"*** ROUND #"COUNT" ***"M$ |
|||
200 ON FN R(2) GOSUB 300,400 |
|||
210 PRINT "LET'S GO!"M$ |
|||
220 GOSUB 450"PLAY ROUND |
|||
230 INPUT "PRESS RETURN TO GO ON...";N$ |
|||
240 NEXT COUNT |
|||
250 PRINT M$"*** END RESULT ***"M$ |
|||
260 IF YOU > ME THEN PRINT "CONGRATULATIONS! YOU WON!" |
|||
270 IF ME > YOU THEN PRINT "HOORAY! I WON" |
|||
280 IF ME = YOU THEN PRINT "COOL, WE TIED." |
|||
290 END |
|||
300 ME$ = MID$ (P$, FN R(8),3): REM RANDOM SEQUENCE |
|||
310 PRINT "I'LL PICK FIRST THIS TIME."M$" MY SEQUENCE IS "ME$"." |
|||
320 FOR REP = 0 TO 1 STEP 0 |
|||
330 PRINT "WHAT SEQUENCE DO YOU WANT?" |
|||
340 GOSUB 590"GET YOUR SEQUENCE |
|||
350 LET REP = YOU$ < > ME$ |
|||
360 IF NOT REP THEN PRINT "HEY, THAT'S MY SEQUENCE! THINK FOR YOURSELF!" |
|||
370 NEXT REP |
|||
380 PRINT YOU$", HUH? SOUNDS OK TO ME." |
|||
390 RETURN |
|||
400 PRINT "YOU PICK FIRST THIS TIME." |
|||
410 GOSUB 590"GET YOUR SEQUENCE |
|||
420 LET ME$ = MID$ ("HT",( MID$ (YOU$,2,1) = "H") + 1,1) + LEFT$ (YOU$,2) |
|||
430 PRINT "OK, SO YOU PICKED "YOU$M$M$"MY SEQUENCE WILL BE "ME$M$ |
|||
440 RETURN |
|||
450 T0SSE$ = MID$ (P$, FN R(8),3): REM RANDOM SEQUENCE |
|||
460 PRINT "TOSSING THE COIN: "M$ MID$ (T0SSE$,2); |
|||
470 FOR T0SS = 0 TO 1 STEP 0 |
|||
480 LET T0SSE$ = RIGHT$ (T0SSE$,2) + MID$ ("HT", FN R(2),1) |
|||
490 PRINT MID$ (T0SSE$,3); |
|||
500 IF YOU$ = T0SSE$ THEN 530"YOU WON |
|||
510 IF ME$ = T0SSE$ THEN 560"I WON |
|||
520 NEXT T0SS |
|||
530 YOU = YOU + 1 |
|||
540 PRINT M$M$"CONGRATULATIONS! YOU WON THIS ROUND."M$"YOUR NEW SCORE IS "YOU"." |
|||
550 RETURN |
|||
560 ME = ME + 1 |
|||
570 PRINT M$M$"YAY, I WON THIS ROUND!"M$"MY NEW SCORE IS "ME"." |
|||
580 RETURN |
|||
590 YOU$ = "" |
|||
600 PRINT "TYPE 3 LETTERS H OR T: " |
|||
610 FOR I = 1 TO 3 |
|||
620 LET V$ = "HT" |
|||
630 GOSUB 670"GET VALID KEYPRESS |
|||
640 LET YOU$ = YOU$ + C$ |
|||
650 NEXT I |
|||
660 LET V$ = M$ + M$ |
|||
670 FOR C = 0 TO 1 STEP 0 |
|||
680 GET C$ |
|||
690 IF ASC (C$) > 95 THEN C$ = CHR$ ( ASC (C$) - 32) |
|||
700 LET C = C$ = LEFT$ (V$,1) OR C$ = MID$ (V$,2) |
|||
710 NEXT C |
|||
720 PRINT C$; |
|||
730 RETURN</syntaxhighlight> |
|||
==={{header|BASIC256}}=== |
==={{header|BASIC256}}=== |
||
{{trans|FreeBASIC}} |
{{trans|FreeBASIC}} |