10 REM DICE
20 MODE 1:BORDER 12 30 DIM D(5),F(5),S(6) 40 T=10 50 SC=0 60 GOSUB 1110 70 PEN 1 80 T=T-1:IF T=0 THEN GOTO 490 90 FOR L=1 TO 5:F(L)=0:NEXT L 100 LOCATE 1,7:PRINT " " 110 LOCATE 1,11:PRINT" " 120 LOCATE 1,15:PRINT" " 130 LOCATE 1,20:PRINT" " 140 GOSUB 220 150 GOSUB 350 160 GOSUB 220 170 GOSUB 350 180 GOSUB 220 190 GOSUB 620 200 SC=SC+NS 210 GOTO 80 220 REM GENERATE AND SHOW FIVE DICE 230 FOR L=1 TO 5 240 IF F(L)=1 THEN GOTO 330 250 Q=INT(RND(1)*60+10) 260 D(L)=1 270 FOR E=1 TO Q 280 LOCATE L*3+4,5 290 D(L)=D(L)+1 300 IF D(L)=7 THEN D(L)=1 310 PRINT CHR$(128+D(L)); 320 NEXT E 330 NEXT L 340 RETURN 350 REM SET THE STOP FLAGS 360 LOCATE 8,2:PRINT "HOLD NOW !!!" 370 LOCATE 1,7:PRINT" " 380 FOR L=1 TO 5:F(L)=0:NEXT L 390 A$=INKEY$:IF A$<>"" THEN GOTO 390 400 A$=INKEY$:IF A$="" THEN GOTO 400 410 IF A$=" " THEN GOTO 460 420 IF A$="R" OR A$="r" THEN GOTO 370 430 IF A$<"1" OR A$>"5" THEN GOTO 390 440 A=ASC(A$)-48:LOCATE 3*A+4,7:PRINT"X" 450 F(A)=1:GOTO 400 460 REM FINISHED 470 LOCATE 8,2:PRINT" " 480 RETURN 490 REM END OF GAME 500 MODE 1:PEN 3 510 LOCATE 1,11 520 PRINT"End of the Game" 530 LOCATE 1,14 540 PRINT"Your score is :" 550 LOCATE 9,17 560 PRINT SC 570 LOCATE 6,23 580 PRINT"Press <SPACE> to continue" 590 A$=INKEY$:IF A$=" " THEN GOTO 590 600 A$=INKEY$:IF A$<>" " THEN GOTO 600 610 RUN 620 REM SCORE THE DICE 630 REM RETURN SCORE IN NS 640 FOR L=1 TO 6:S(L)=0:NEXT L 650 FOR L=1 TO 5 660 S(D(L))=S(D(L))+1 670 NEXT L 680 Z2=0:FOR L=1 TO 6 690 IF S(L)=1 THEN Z2=Z2+1 700 NEXT L 710 Z1=0:FOR L=1 TO 6 720 IF S(L)=0 THEN Z1=Z1+1 730 NEXT L 740 IF Z1=5 THEN GOSUB 930:GOTO 840 750 IF Z1=1 AND S(6)=0 THEN GOSUB 1050:GOTO 840 760 IF Z1=1 AND S(1)=0 THEN GOSUB 1070:GOTO 840 770 IF Z1=1 THEN GOSUB 1090:GOTO 840 780 IF Z1=2 THEN GOSUB 1030:GOTO 840 790 IF Z1<>3 THEN GOTO 820 800 IF Z2=1 THEN GOSUB 970:GOTO 840 810 IF Z2=2 THEN GOSUB 1010:GOTO 840 820 IF Z2=1 THEN GOSUB 990:GOTO 840 830 GOSUB 950 840 REM SCORE IS NOW IN NS 850 REM AND MESSAGE IS IN N$ 860 LOCATE 1,11:PRINT" " 870 LOCATE 1,11:PRINT N$ 880 LOCATE 9,15:PRINT"SCORE :";NS;" " 890 LOCATE 16,20:PRINT"<SPACE>" 900 IF INKEY$=" " THEN GOTO 900 910 IF INKEY$<>" " THEN GOTO 910 920 RETURN 930 REM FIVE OF A KIND 940 N$="********** EUREKA **********":NS=50:RETURN 950 REM PAIR AND THREE 960 N$="******** FULL HOUSE ********":NS=30:RETURN 970 REM TWO PAIRS 980 N$="******* DOUBLE DOUBLE ******":NS=20:RETURN 990 REM FOUR OF A KIND 1000 N$="******** FOUR TIMES ********":NS=15:RETURN 1010 REM THREE OF A KIND 1020 N$="******** THREE TIMES *******":NS=10:RETURN 1030 REM ONE PAIR 1040 N$="**** MADE FOR EACH OTHER ***":NS=7:RETURN 1050 REM LOW FUN 1060 N$="********** LOW RUN *********":NS=24:RETURN 1070 REM HIGH RUN 1080 N$="********* HIGH RUN *********":NS=40:RETURN 1090 REM NO SCORE AT ALL 1100 Z$="*********** ZERO ***********":NS=0:RETURN 1110 REM DEFINE DICE SHAPES 1120 SYMBOL AFTER 129 1130 SYMBOL 129,0,0,0,24,24,0,0,0 1140 SYMBOL 130,3,3,0,0,0,0,192,192 1150 SYMBOL 131,3,3,0,24,24,0,192,192 1160 SYMBOL 132,195,195,0,0,0,0,195,195 1170 SYMBOL 133,195,195,0,24,24,0,195,195 1180 SYMBOL 134,195,195,0,195,195,0,195,195 1190 RETURN |