Rock-paper-scissors: Difference between revisions

no edit summary
No edit summary
Line 2,420:
1 Computer wins
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}}==
Anonymous user