Rock-paper-scissors: Difference between revisions
Content added Content deleted
No edit summary |
|||
Line 2,420: | Line 2,420: | ||
1 Computer wins |
1 Computer wins |
||
1 Player wins</pre> |
1 Player wins</pre> |
||
=={{header|IS-BASIC}}== |
|||
<lang IS-BASIC>100 PROGRAM "Sieve.bas" |
|||
100 PROGRAM "Rock.bas" |
|||
110 RANDOMIZE |
|||
120 STRING CH$(1 TO 3)*8,K$*1 |
|||
130 NUMERIC PLWINS(1 TO 3),SCORE(1 TO 3),PLSTAT(1 TO 3),CMSTAT(1 TO 3),PLCHOICE,CMCHOICE |
|||
140 CALL INIC |
|||
150 DO |
|||
160 CALL GUESS |
|||
170 PRINT :PRINT "Rock, paper, or scissors (1 = rock, 2 = paper, 3 = scissors, ESC = quit)" |
|||
180 DO |
|||
190 LET K$=INKEY$ |
|||
200 LOOP UNTIL K$>="1" AND K$<="3" OR K$=CHR$(27) |
|||
210 IF K$=CHR$(27) THEN EXIT DO |
|||
220 LET PLCHOICE=VAL(K$) |
|||
230 LET CMSTAT(CMCHOICE)=CMSTAT(CMCHOICE)+1:LET PLSTAT(PLCHOICE)=PLSTAT(PLCHOICE)+1 |
|||
240 PRINT "You chose ";CH$(PLCHOICE);" and I chose ";CH$(CMCHOICE);"." |
|||
250 SET #102:INK 3 |
|||
260 IF PLCHOICE=CMCHOICE THEN |
|||
270 PRINT "Tie!" |
|||
280 LET SCORE(3)=SCORE(3)+1 |
|||
290 ELSE IF CMCHOICE=PLWINS(PLCHOICE) THEN |
|||
300 PRINT "You won!" |
|||
310 LET SCORE(1)=SCORE(1)+1 |
|||
320 ELSE |
|||
330 PRINT "I won!" |
|||
340 LET SCORE(2)=SCORE(2)+1 |
|||
350 END IF |
|||
360 SET #102:INK 1 |
|||
370 LOOP |
|||
380 PRINT :PRINT "Some useless statistics:" |
|||
390 PRINT "You won";SCORE(1);"times, and I won";SCORE(2);"times;";SCORE(3);"ties." |
|||
400 PRINT :PRINT ,,CH$(1),CH$(2),CH$(3) |
|||
410 PRINT "You chose:",PLSTAT(1),PLSTAT(2),PLSTAT(3) |
|||
420 PRINT " I chose:",CMSTAT(1),CMSTAT(2),CMSTAT(3) |
|||
430 END |
|||
440 DEF INIC |
|||
450 LET CH$(1)="rock":LET CH$(2)="paper":LET CH$(3)="scissors" |
|||
460 LET PLWINS(1)=3:LET PLWINS(2)=1:LET PLWINS(3)=2 |
|||
470 FOR I=1 TO 3 |
|||
480 LET PLSTAT(I),CMSTAT(I),SCORE(I)=0 |
|||
490 NEXT |
|||
500 TEXT 80 |
|||
510 END DEF |
|||
520 DEF GUESS |
|||
530 LET CMCHOICE=INT(RND*(PLSTAT(1)+PLSTAT(2)+PLSTAT(3)+3)) |
|||
540 SELECT CASE CMCHOICE |
|||
550 CASE 0 TO PLSTAT(1) |
|||
560 LET CMCHOICE=2 |
|||
570 CASE PLSTAT(1)+1 TO PLSTAT(1)+PLSTAT(2)+1 |
|||
580 LET CMCHOICE=3 |
|||
590 CASE ELSE |
|||
600 LET CMCHOICE=1 |
|||
610 END SELECT |
|||
620 END DEF</lang> |
|||
=={{header|J}}== |
=={{header|J}}== |