home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Floppy Magazine 1986 #1
/
Floppy_Magazine_86-1_1986_Megasystems_Oy_fi.d64
/
yatzy
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2023-02-26
|
6KB
|
296 lines
5 poke53280,0:poke53281,11:dimr$(18)
10 dim pt(4,18):dim pk(4,18):dim t$(18)
15 dimhd(6),ld(6)
16 fori=0to6:readhd(i),ld(i):next
17 data9,21,18,42,20,100,24,63,27,56,30,141,36,85
20 for i=0to18
30 read t$(i),r$(i):nexti
35 data.,.,a,ykkoset,b,kakkoset,c,kolmoset,d,neloset,e,viitoset,f,kuutoset,,,,
40 datag,pari,h,2 paria,i,3 samaa,j,4 samaa,k,p-suora,l,i-suora,m,t-kasi
45 datan,sekal.,o,yatzy,.,.
50 poke53272,23
55 print"[147] [154] "
60 print" [217][160][160][193][160][160][212][160][160][218][160][160][217] "
70 print" "
80 print
90 print" [210]isto [200]amalainen"
100 print" 1 9 8 3 "
110 print
120 print" [212]ama on normaalin yatzy-pelin tieto-"
130 print" koneversio 1-4:lle pelaajalle."
140 print
150 print" [211]euraa ruudun ylareunaan tulevia "
160 print" toimintaohjeita. [214]arsinaisia yatzyn"
165 print" saantoja ei tassa selviteta erikseen."
170 print" [203]one arpoo pelijarjestyksen,pitaa"
180 print" kirjanpitoa seka ohjaa pelin kulkua.":print
220 print" [205]ika on pelaajien maara";:inputpm
225 ifpm<1orpm>4then220
230 print:print" [193]nna nimet (max 5 kirj.): "
240 for i=1topm
250 print" [208]elaaja"i;
252 input n$(i):iflen(n$(i))>5then n$(i)=left$(n$(i),5)
258 next
260 print" [203]iitos! [208]aina [210][197][212][213][210][206][146]!"
270 geta$:ifa$=""then270
280 for i=1to6
290 h1=hd(i):l1=ld(i):ke=125
300 gosub6000
310 next
400 for i=1to pm
410 x=int(rnd(1)*pm)+1
420 if n$(x)="x" then 410
430 p$(i)=n$(x):n$(x)="x"
440 nexti
600 print"[147]"
605 print"[176][192][192][192][192][192][192][192][192][178][192][192][192][192][178][192][192][192][192][178][192][192][192][192][178][192][192][192][192][174]"
610 print"[221]peli [221] [221] [221] [221] [221] vuorossa"
620 print"[171][192][192][192][192][192][192][192][192][219][192][192][192][192][219][192][192][192][192][219][192][192][192][192][219][192][192][192][192][179]"
630 print"[221]a 1:set [221] [221] [221] [221] [221]"
640 print"[221]b 2:set [221] [221] [221] [221] [221]"
650 print"[221]c 3:set [221] [221] [221] [221] [221]"
660 print"[221]d 4:set [221] [221] [221] [221] [221]"
670 print"[221]e 5:set [221] [221] [221] [221] [221]"
680 print"[221]f 6:set [221] [221] [221] [221] [221]n o p a t"
690 print"[171][192][192][192][192][192][192][192][192][219][192][192][192][192][219][192][192][192][192][219][192][192][192][192][219][192][192][192][192][179] "
700 print"[221]1-6 yht.[221] [221] [221] [221] [221]"
710 print"[221] hyvitys[221][160][160][160][160][221][160][160][160][160][221][160][160][160][160][221][160][160][160][160][221]"
720 print"[221]g pari [221][160][160][160][160][221][160][160][160][160][221][160][160][160][160][221][160][160][160][160][221] "
730 print"[221]h 2paria[221][160][160][160][160][221][160][160][160][160][221][160][160][160][160][221][160][160][160][160][221] "
740 print"[221]i 3samaa[221][160][160][160][160][221][160][160][160][160][221][160][160][160][160][221][160][160][160][160][221] valittu"
750 print"[221]j 4samaa[221][160][160][160][160][221][160][160][160][160][221][160][160][160][160][221][160][160][160][160][221] peli "
760 print"[221]k psuora[221][160][160][160][160][221][160][160][160][160][221][160][160][160][160][221][160][160][160][160][221]"
770 print"[221]l isuora[221][160][160][160][160][221][160][160][160][160][221][160][160][160][160][221][160][160][160][160][221]"
780 print"[221]m t-kasi[221][160][160][160][160][221][160][160][160][160][221][160][160][160][160][221][160][160][160][160][221]"
790 print"[221]n sekal.[221][160][160][160][160][221][160][160][160][160][221][160][160][160][160][221][160][160][160][160][221]"
800 print"[221]o yatzy [221][160][160][160][160][221][160][160][160][160][221][160][160][160][160][221][160][160][160][160][221]"
810 print"[171][192][192][192][192][192][192][192][192][219][192][192][192][192][219][192][192][192][192][219][192][192][192][192][219][192][192][192][192][179]"
820 print"[221]yhteensa[221] [221] [221][160][160][160][160][221][160][160][160][160][221]"
840 print"[173][192][192][192][192][192][192][192][192][177][192][192][192][192][177][192][192][192][192][177][192][192][192][192][177][192][192][192][192][189]";
850 print"";tab(10);p$(1);
860 printtab(15);p$(2);
870 printtab(20);p$(3);
880 printtab(25);p$(4)
1000 v=0
1010 v=v+1:if v>pm then v=1
1015 print"[150]";tab(31);" "
1020 print"";tab(32);"";p$(v)
1030 h1=hd(1):l1=ld(1):ke=125:gosub6000
1040 h1=hd(v+1):l1=ld(v+1):ke=250:gosub6000
1050 h=0
1055 for i=1to5:l$(i)=" ":next
1060 h=h+1
1062 print"";
1063 printtab(30);"[160] "
1065 gosub9999:if h>1 then1072
1070 print" paina return[146]";"";tab(30);h;"[157].heitto":goto 1075
1072 print"";tab(30);h;"[157].heitto":goto1078
1075 getx$:ifx$=""then1075
1076 if x$<>chr$(13)then1075
1078 gosub9999:z=1
1080 for x=z to 10
1090 for y=zto5
1095 if l$(y)="x"then 1110
1100 n(y)=int(rnd(1)*6)+1
1105 b$=str$(n(y))
1106 a$(y)=right$(b$,1)
1110 nexty
1120 print"";
1125 printtab(30);a$(1);"";a$(2);"";a$(3);"";a$(4);"";a$(5)
1130 nextx
1135 z=z+1:ifz<6then1080
1137 h1=hd(0):l1=ld(0):ke=75:gosub6000
1140 if h=3 then 1500
1160 for i=1to5
1165 print"";
1166 printtab(28+2*i);"";a$(i);"[146]"
1170 print"";
1180 printtab(28+2*i);" "
1190 nexti
1200 gosub9999
1205 print" ilmoita uusinnat: ret=kylla, x=ei[146]"
1210 for i=1to5
1215 print"";tab(28+2*i);"^";
1220 get x$:if x$="" then 1220
1222 if x$="x"orx$=chr$(13)then1225
1223 goto1220
1225 l$(i)=x$:ifx$<>"x"then1237
1227 print"";
1228 printtab(28+2*i);" [146]"
1230 print"";
1235 printtab(28+2*i);a$(i)
1237 print"";tab(28+2*i);" ";
1240 nexti
1242 gosub9999
1244 print" korjaa (k) tai paina return[146]"
1246 getd$:if d$=""then1246
1248 if d$="k"then1160
1249 if d$<>chr$(13)then1246
1250 gosub9999:x=0
1260 for i=1to5
1262 print"";
1263 printtab(28+2*i);" "
1270 if l$(i)="x" then x=x+1
1275 nexti
1280 if x<5 then 1290
1283 for i=1to5
1285 print"";
1286 printtab(28+2*i);"";a$(i);"[146]"
1287 nexti:goto1500
1290 goto 1060
1500 for i=1to5
1510 print"";
1520 printtab(28+2*i);" "
1522 nexti
1525 gosub9999
1530 print" valitse kirjaimella haluamasi peli[146]"
1532 print"";tab(31);" "
1535 getx$:ifx$=""then1535
1538 for i=1to18
1539 ifx$=t$(i)then 1542
1540 nexti:goto1580
1542 gosub9999
1544 print"";tab(31);r$(i);"[146]"
1545 print" korjaa (k) tai paina return[146]"
1546 get d$:ifd$=""then1546
1548 if d$="k"then1525
1550 ifd$<>chr$(13)then1546
1555 print"";tab(31);" "
1560 goto1600
1570 nexti
1580 gosub9999
1582 h1=hd(v+1):l1=ld(v+1):ke=250
1583 for i=1to3:gosub6000:next
1585 print" vaara valinta/yrita uudelleen[146]"
1590 goto1535
1600 if pk(v,i)=1 then 1580
1610 pk(v,i)=1:ix=i:s=0:nn=0
1615 nn=nn+1:y(nn)=0
1620 for j=1to5
1630 if nn=n(j) then y(nn)=y(nn)+1
1640 nextj
1650 if nn<6then1615
1680 ifi>9 then 1690
1685 oni goto 1700,1800,1900,2000,2100,2200,2300,2400,2500
1690 i=i-9
1695 on i goto 2600,2700,2800,2900,3000,3100,3200,3300,3400
1700 s=y(1):goto4000
1800 s=2*y(2):goto4000
1900 s=3*y(3):goto4000
2000 s=4*y(4):goto4000
2100 s=5*y(5):goto4000
2200 s=6*y(6):goto4000
2300 goto1580
2400 goto1580
2500 for nn=6to1step-1
2510 if y(nn)< 2 then 2530
2520 s=2*nn:goto4000
2530 next nn
2540 s=0:goto4000
2600 for nn=6to1step-1
2610 if y(nn)< 4 then 2630
2620 s=4*nn:goto4000
2630 next nn
2640 for nn=6to1step-1
2645 if y(nn)< 2 then 2660
2650 s=2*nn+s
2655 if s>2*nn then4000
2660 next nn
2670 s=0:goto4000
2700 for nn=6to1step-1
2710 if y(nn)< 3 then 2730
2720 s=3*nn:goto4000
2730 next nn
2740 s=0:goto4000
2800 for nn=6to1step-1
2810 if y(nn)< 4 then 2830
2820 s=4*nn:goto4000
2830 next nn
2840 s=0:goto4000
2900 for nn=6to1step-1
2910 if y(nn) >1 then s=0
2915 if y(nn) >1 then 4000
2920 nextnn
2930 if y(6)>0then s=0
2932 if y(6)>0then 4000
2935 s=15
2940 goto4000
3000 for nn=6to1step-1
3005 if y(nn) >1 then s=0
3010 if y(nn) >1 then 4000
3020 nextnn
3030 if y(1)>0then s=0
3032 if y(1)>0then 4000
3035 s=20
3040 goto4000
3100 x=0
3110 for nn=6to1step-1
3120 if y(nn)=2 thenx=x+2
3130 if y(nn)=3 thenx=x+3
3140 next nn
3150 if x=5 then 3170
3160 s=0:goto4000
3170 for x=1to5
3180 s=s+n(x)
3190 nextx:goto4000
3200 for nn=1to5
3210 s=s+n(nn)
3220 nextnn
3230 goto4000
3300 for nn=6to1step-1
3310 if y(nn)<>5 then 3330
3320 s=50:goto4000
3330 next nn
3340 s=0:goto4000
3400 goto1580
4000 pt(v,ix)=s
4005 print""
4007 if ix<7 then4010
4008 print"";
4010 for i=1toix:print:nexti
4020 printtab(5+5*v);s
4030 s=0
4040 for i=1to6
4050 s=s+pt(v,i)
4060 next
4070 if s>62 then pt(v,8)=50
4080 pt(v,7)=s
4090 print"";tab(5+5*v);pt(v,7)
4100 printtab(5+5*v);pt(v,8)
4110 s=0
4120 for i=7to 17
4130 s=s+pt(v,i)
4140 next
4145 pt(v,18)=s:ifs>pathenpa=s
4150 print"";tab(5+5*v);s
4160 if v<>pm then 1010
4170 for i=1to6
4180 if pk(v,i)=0then1010
4190 next i
4270 for i=9to17
4280 if pk(v,i)=0then1010
4290 next i
4300 for i=1topm
4310 ifpt(i,18)<pathen4330
4320 print"";tab(5+5*i);pa;"[146]"
4330 next
4400 for i=6to1step-1
4410 for j=1toistepi-1
4420 h1=hd(j):l1=ld(j):ke=125:gosub6000
4430 nextj:nexti
5000 gosub9999
5010 print" [208]eli paattyi. [207]nnea voittajalle![146]"
5030 goto5030
6000 poke54296,15
6010 poke54276,33
6020 poke54277,0
6030 poke54278,128
6040 poke54273,h1:poke54272,l1
6045 forrh=1toke:next
6050 poke54296,0
6060 poke54276,0
6070 poke54277,255
6080 poke54278,0
6090 return
9999 print" ":return