100 '@ 110 '@ <<< 夏目○輝の「ちんちろりん」 >>> 120 '@ 130 '@ Copyright (C) in 1988/11/02 FM-16β/FDI 140 '@ 1988/11/15 FMR-50/FD 150 '@ 160 '@ Programmed by 夏目○輝(応用流体第二研究室) 170 '@ 180 '@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 190 : 1000 defint A-Z 1010 defsng T,M 1020 dim MX%(6,6),MY%(6,6),HAND$(4),THAND(5,4),ME(5,2) 1030 : 1040 data " 撫 他","腕減阿亜","四 五 六","兎痢賦瑠","一 二 三" 1050 restore 1040 1060 for I=0 to 4 1070 read HAND$(I) 1080 next 1090 : 1100 data 42,42,28,28,56,56,63,63,21,21,42,42,21,21,63,63,63,21,21,63,63,63 1110 data 21,21,42,42,63,21,21,63,21,63,21,21,21,42,63,63,63,21,63,42 1120 restore 1100 1130 for L=1 to 6 1140 for K=1 to L 1150 read MX%(L,K),MY%(L,K) 1160 next K 1170 next L 1180 : 1190 on key (1) gosub 3250 1200 on key (2) gosub 3390 1210 on key (6) gosub 3700:key (6) on 1220 for I=1 to 2 1230 key (I) on:key (I) stop 1240 next 1250 : 1260 for I=0 to 7:color =(I,I):next 1270 : 1280 screen 6:cls:console 0,25,0:locate 0,0,0,15,15 1290 window(0,0)-(639,399) 1300 : 1310 cls:symbol@ (25,130),"ちんちろりん",6,6,2 1320 color 4,,,2 1330 symbol@ (25,30),"御存じ変態でんでん太鼓の",2,2,5 1340 locate 25,20,0:print "何かキ−を押して下さい。" 1350 Z$=input$(1):cls:color 7,,,0 1360 symbol@ (130,28),"ちんちろりんの説明だよん",2,2,4 1370 locate 12,6 :print "これは昭和63年度の卒研生が考えた「ちんちろりん」と言うゲー" 1380 print tab(10);"ムです。さあ、はりきって「ちんちろりん」をやりませう。" 1390 locate 14,9:print "役の倍率 役の優先順位" 1400 print tab(20);"一 二 三 ----------- -20倍 一番" 1410 print tab(20);"1 1 1 ----------- 100倍 二番" 1420 print tab(20);"兎痢賦瑠 -------- 目×10倍 三番" 1430 print tab(20);"四 五 六 ----------- 30倍 四番" 1440 print tab(20);"腕減阿亜 ----------- 1倍 五番" 1450 print tab(20);" 撫 他 ----------- 0倍 役なし" 1460 locate 14,17:print "★ル−ル" 1470 print tab(12);"一人サイコロを三回まで振れます。役が出た所で次の人の試技に" 1480 print tab(10);"移ります。得点は、役の一番高い人にそれ以外の人が、それぞれ賭" 1490 print tab(10);"け点に役の倍率を掛けたものを払います。これでル−ルの説明は終" 1500 print tab(10);"わりです。判ったらゲ−ムを始めよう。" 1510 color 4,,,2 :locate 29,23:print "何かキ−を押して下さい。" 1520 line (72,78)-(570,395),pset ,5,b 1530 line (69,75)-(573,398),pset ,5,b 1540 Z$=input$(1):cls:color 7,,,0:console 0,24,1 1550 symbol@ (80,48),"入 力 せ よ !!",2,2,5 1560 locate 5,6:print "何人で遣りますか?( 5人まで )" 1570 locate 7,8:print "人数は";tab(79) 1580 symbol@ (128,128),"人です。",1,1,7 1590 locate 14,8:input "",Z$ 1600 if len(Z$)>1 then 1570 1610 NI=val(Z$):if NI<1 or NI>5 then 1570 1620 locate 5,10:print "名前を入れて下さい。( 10文字まで )" 1630 for I=1 to NI 1640 locate 7,11+I:print "名前は";tab(59) 1650 symbol@ (200,(11+I)*16),"君だよん。",1,1,7 1660 locate 14,11+I:line input "",Z$ 1670 if len(Z$)>10 or Z$="" then 1640 1680 NA$(I)=Z$ 1690 TEN(I)=1000 1700 next I 1710 TTAL=1 1720 window(0,0)-(639,399) 1730 locate 5,18 :print "賭け点を入れて下さい。( 9999点まで )" 1740 locate 7,20 :print "賭け点は";tab(79) 1750 symbol@ (160,320),"点だ。" ,1,1,7 1760 locate 15,20 :input " ",Z$ 1770 if KAKE>0 and Z$="" then locate 15,20 :print KAKE:goto 1810 1780 if len(Z$)>4 then 1740 1790 KAKE=val(left$(Z$,4)) 1800 if KAKE<1 then 1740 1810 locate 30,20:color 5 1820 if KAKE>999 then print "いきなり、大勝負に出ましたね。":goto 1850 1830 if KAKE<10 then print "最初から、ケチ ケチ賭けてるんじゃねえよ。" :goto 1850 1840 color 6 :print "それでは、始めましょう。" 1850 for H=1 to 25000 1860 next 1870 cls:console 0,25,0 1880 : 1890 HHAND=0:DROW=0:HSEI=0:color =(1,0):color =(6,7) 1900 window(-174,-32)-(465,367) 1910 for I=1 to NI 1920 R=int(RAD*NI)+1 1930 YAKU(I)=0:SEI(I)=0:FLAG2=0 1940 if ME(I,0)=1 and ME(I,1)=1 and ME(I,2)=6 then FLAG2=1 1950 for J=1 to 3 1960 color 6:locate 3,9 :print "スペ−ス キ−を押せ!!" 1970 for L=0 to 2 1980 line (L*124,0)-(84+L*124,84),pset ,1,b 1990 circle (42+L*124,42),58,1 2000 paint (42+L*124,42),7+(L=2),1 2010 next 2020 for L=0 to 2 2030 line (10+L*124,10)-(74+L*124,74),pset ,7+(L=2),bf 2040 next 2050 gosub *サイコロ 2060 on YAKU(I)+1 gosub 2660,2740,2780,2690,2820 2070 BUF=SEI(I):if SEI(I)=7 then BUF=1 2080 color 7 :locate 6,9+I*2 2090 print using "& &君は ### の & & で####倍";NA$(I),BUF,HAND$(YAKU(I)),MTEN(I) 2100 next:beep 2110 color 5,,,2:locate 3,9 :print "リタ−ン キ−を押せ!!" 2120 color ,,,0 2130 THAND(I,YAKU(I))=THAND(I,YAKU(I))+1 2140 if inkey$<>chr$(13) then 2140 2150 if HHANDYAKU(I) then 2210 2170 if SEI(I)TEN(I) and TEN(I)>=10000 then color 6:print " 儲け 儲け!!" 2510 if TEN(I)>=1E+06 then color 5:print " 辞められませんな!!" 2520 next 2530 if FLAG then 3620 2540 color 7 2550 color 4 :locate 5,21:print "当然もう一度やりますね。オレは勝手にやるぜ!! リタ−ン キ−を押せ!!" 2560 color 7 :locate 5,22:print "ト−タルを見たい人は、PF1を押してからリタ−ン キ−を押せ!!" 2570 color 7 :locate 5,23:print "賭け点を変えたい人は、PF2を押してからリタ−ン キ−を押せ!!" 2580 Z$=input$(1) 2590 for I=1 to 2 :key (I) on:next 2600 cls 2610 for I=1 to 2 :key (I) stop:next 2620 TTAL=TTAL+1:goto 1870 2630 : 2640 ' 役のばいりつけいさん 2650 : 2660 SEI(I)=0:MTEN(I)=0 2670 return 2680 : 2690 MTEN(I)=ME(I,0)*10 2700 SEI(I)=ME(I,0) 2710 if ME(I,0)=1 then MTEN(I)=100 2720 J=4:return 2730 : 2740 MTEN(I)=1 2750 SEI(I)=ME(I,(-(ME(I,1)=ME(I,2))-(ME(I,0)=ME(I,2))*2-(ME(I,0)=ME(I,1))*3)-1) 2760 J=4:return 2770 : 2780 MTEN(I)=30 2790 SEI(I)=456 2800 J=4:return 2810 : 2820 MTEN(I)=-20 2830 SEI(I)=123 2840 J=4:return 2850 : 2860 *サイコロ 2870 color 7 :locate 5,2:print using "賭け点 ####点";KAKE 2880 locate 2,4:print using "& &君の番";NA$(I) 2890 locate 11,6:print J;"回目" 2900 : 2910 randomize time/4 2920 for L=0 to 2 2930 E=0 2940 if FLAG2 and L=2 then 2950 else 3030 2950 color 6,,,2:locate 28,0:print "好きな目を入れて下さい。" 2960 color 7,,,0:color =(6,6):locate 55,0:input"目= ",C 2970 if C<1 or C>6 then 2960 2980 color =(6,7):FLAG2=0:ME(I,2)=C 2990 for K=1 to C 3000 circle (MX%(C,K)+L*124,MY%(C,K)),9+((C=1) and 6),(C=1) and 2,,,,f 3010 next:beep 1:A$=A$:beep 0 3020 goto 3160 3030 while E<2 3040 C=rnd*8 3050 ME(I,L)=C 3060 if C<1 or C>6 then 3040 3070 line (10+L*124,10)-(74+L*124,74),pset ,7+(L=2),bf 3080 for K=1 to C 3090 circle (MX%(C,K)+L*124,MY%(C,K)),9+((C=1) and 6),(C=1) and 2,,,,f 3100 next:beep 1:A$=A$:beep 0 3110 if E>0 then E=E+1 3120 for E2=1 to E*1000:next 3130 if inkey$<>" " then 3150 3140 E=E+1 3150 wend 3160 next 3170 : 3180 DUMY=ME(I,0)+ME(I,1)+ME(I,2):YAKU(I)=0 3190 if DUMY/3=ME(I,0) and ME(I,0)=ME(I,1) then YAKU(I)=3:goto 3230 3200 if ME(I,0)=ME(I,1) or ME(I,0)=ME(I,2) or ME(I,1)=ME(I,2) then YAKU(I)=1:goto 3230 3210 if DUMY=6 then YAKU(I)=4:goto 3230 3220 if DUMY=15 then YAKU(I)=2 3230 return 3240 : 3250 cls:locate 10,4:print using "今まで###### 回の内";TTAL 3260 for PP=1 to NI 3270 locate 10,6:print using "& &君は";NA$(PP) 3280 for PP2=0 to 4 3290 locate 18,8+PP2*2 3300 print using "& & を##### 回出しました。";HAND$(PP2),THAND(PP,PP2) 3310 locate 10,19:print using "得点は ######## 点";TEN(PP) 3320 next 3330 color 4,,,2 3340 locate 25,22:print "何かキ−を押して下さい。" 3350 Z$=input$(1):color 7,,,0 3360 next 3370 return 3380 : 3390 cls 3400 window(0,0)-(639,399) 3410 color 4,,,2 3420 locate 21,20:print "賭け終わったらリターンキ−を押して下さい。" 3430 color 7,,,0 3440 locate 22,5:print "終わりたい人は、PF6を押して下さい。" 3450 locate 5,10 :print "賭け点を入れて下さい。( 9999点まで )" 3460 locate 7,12 :print "賭け点は";tab(79) 3470 symbol@ (160,192),"点だ。",1,1,7 3480 locate 15,12 :input " ",Z$ 3490 if KAKE>0 and Z$="" then locate 15,12 :print KAKE:goto 3530 3500 if len(Z$)>4 then 3460 3510 KAKE=val(left$(Z$,4)) 3520 if KAKE<0 then 3460 3530 locate 30,12:color 5 3540 if KAKE>999 then print "これは、大勝負に出ましたね。":goto 3570 3550 if KAKE<10 then print "ケチ ケチ賭けてるんじゃねえよ。":goto 3570 3560 color 6 :print "ガンバッテクダサイ" 3570 for H=1 to 25000 3580 next 3590 cls:console 0,25,0 3600 return 3610 : 3620 beep 1:for Q=1 to 15000:next:beep 0 3630 cls:window(0,0)-(639,399):color 7 3640 symbol@ (140,48),"許してちょんまげ",3,3,5 3650 symbol@ (64,144),"もう、逆さにしても何も出ません。",2,2,3 3660 locate 21,15 :color 6:print "借金は、体で返します。好きにしてください。" 3670 locate 24,21 :color 7:print "もう一度、やりますか? " 3680 locate 46,21:input "(Y/N)";KA$ 3690 if KA$="Y" or KA$="y" then 1280 3700 cls:window(0,0)-(639,399):symbol@ (64,144),"結果を印刷しますか。?",3,3,4 3710 color 7 :locate 35,14:input "(Y/N)";KA$ 3720 if KA$="Y" or KA$="y" then 3750 3730 end 3740 : 3750 cls:symbol@ (90,144),"プリンターの準備をして下さい。",2,2,4 3760 locate 25,14 :print "準備 O.K ?" 3770 color 7 :locate 38,14:input "(Y/N)";KA$ 3780 if KA$="Y" or KA$="y" then 3790 else 3700 3790 cls:symbol@ (112,144),"結果を印刷中です。",3,3,4 3800 locate 31,16 :print "しばらくお待ち下さい。" 3810 for PP=1 to NI 3820 lprint tab(10);:lprint "ちんちろりんの結果" 3830 if D$=date$ then 3880 3840 D$=date$ 3850 D1=val(left$(D$,2))-25 3860 D2=val(mid$(D$,4,2)) 3870 D3=val(right$(D$,2)) 3880 lprint tab(38); 3890 lprint using "昭和##年##月##日";D1,D2,D3 3900 T$=time$ 3910 T1=val(left$(T$,2)) 3920 T2=val(mid$(T$,4,2)) 3930 T3=val(right$(T$,2)) 3940 lprint tab(42); 3950 lprint using "##時##分##秒";T1,T2,T3 3960 lprint:lprint tab(10);:lprint using "今まで###### 回の内";TTAL 3970 lprint 3980 lprint tab(10);:lprint using "& &君は";NA$(PP) 3990 for PP2=0 to 4 4000 lprint:lprint tab(18); 4010 lprint using "& & を###### 回出しました。";HAND$(PP2),THAND(PP,PP2) 4020 next 4030 lprint:lprint:lprint tab(10); 4040 lprint using "得点は ######## 点です。";TEN(PP) 4050 lprint chr$(&H0C); 4060 next 4070 cls:symbol@ (0,144),"結果の印刷は、終わりました。",3,3,4 4080 locate 21,16:print "お疲れさまでした。また、やってよね!" 4090 end:cls