home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Dark Star 11
/
Dark_Star_11_1996_-_de_Side_B.d64
/
yahtzee!!
(
.txt
)
< prev
Wrap
Commodore BASIC
|
2023-02-26
|
5KB
|
166 lines
10 poke53281,0:poke53280,0
50 print "[147] [155]willkommen zu"
60 print " [172][162][162][162][162][162][162][162][187]"
70 print " [161]yahtzee[146][161]";
80 print "[157][157][157][157][157][157][157][157][157][188][162][162][162][162][162][162][162][146][190]"
90 s$="123456dvhkgcy":f=0:g=0:ss=0:e$=""
95 for i=1 to 39:e$=e$+" ":next
100 l$=""
105 a$(0)="[166][166][166][157][157][157][166][166][166][157][157][157][166][166][166][157][157][157][145][145]"
110 a$(1)=" [157][157][157] [209] [157][157][157] [157][157][157][145][145]"
115 a$(2)="[209] [157][157][157] [157][157][157] [209][157][157][157][145][145]"
120 a$(3)="[209] [157][157][157] [209] [157][157][157] [209][157][157][157][145][145]"
125 a$(4)="[209] [209][157][157][157] [157][157][157][209] [209][157][157][157][145][145]"
130 a$(5)="[209] [209][157][157][157] [209] [157][157][157][209] [209][157][157][157][145][145]"
135 a$(6)="[209][209][209][157][157][157] [157][157][157][209][209][209][157][157][157][145][145]"
140 b$="[176][192][192][192][174][157][221][157][221][157][221][157][189][157][157][192][157][157][192][157][157][192]"
145 b$=b$+"[157][157][173][157][145][221][157][145][221][157][145][221][157][145]":st$=""
150 c$="":for i=1 to 6:c$=c$+" [146] ":next
155 c$=left$(c$,52):cr$=chr$(13)
160 d$="[157][207][163][163][163][208][157][167][157][186][157][157][164][157][157][164][157][157][164][157][157][204][157][145][165]"
170 dim s(13)
200 print "";cr$;"instruktionen (j/n)? ";
210 f=18-f:print chr$(f);" [146][157]";:t=ti
220 get i$:if i$="" and ti-t<25 then 220
230 if i$="n" then 630
240 if i$<>"j" then 210
250 print "[147] dieses spiel wird mit 5 wuerfeln"
260 print "gespielt. - ziel ist es, so viele"
270 print "punkte wie moeglich zu erzielen."
280 print "es gibt 13 durchgaenge, du kannst"
290 print "bis zu dreimal wuerfeln."
300 print " nach jedem wurf (ausser dem letzten)"
310 print "kannst du einen oder mehrere wuerfel"
320 print "behalten. mit den anderen wird noch-"
330 print "mals gewuerfelt. - zum beispiel :";l$;"";
340 for i=1 to 5:print b$;"";:next
350 h(1)=5:h(2)=2:h(3)=3:h(4)=3:h(5)=1
360 printl$;"";:for i=1 to 5:print a$(h(i));
370 print "";:next:print "keep? 33[145]"
380 poke198,0:wait198,1:poke198,0
400 print "[145][145][145][145][145][145][145][145][145][145][145][145]bedeutet,dass ";
410 print "von 5[146] 2[146] 3[146] 3[146] 1[146] du die"
420 print "2 3[146]er behaeltst und mit"
430 print " 5[146] 2[146] 1[146] nochmal gewuerfelt wird."
440 print "mit a [146] behaeltst du alle!"
450 get i$:if i$="" then 450
460 print "[147] nach dem wuerfeln kannst du die fuenf";
470 print "werte in eine der 13 kategorien eintra- ";
480 print "gen. - je eine pro durchgang. -"
490 print "am ende werden die 13 werte addiert."
500 print "dies ergibt die summe (plus bonus)."
510 print "die 13 kategorien sind:"
520 print "1 - einer";cr$;"2 - zweier";cr$;"3 - dreier"
530 print "4 - vierer";cr$;"5 - fuenfer";cr$;"6 - sechser"
540 print "d - drei gleiche (alle augen zaehlen)"
550 print "v - vier gleiche (wie vorstehend)"
560 print "h - full house (zaehlt 25)"
570 print "k - kleine strasse(4 in folge) zaehlt 30";
580 print "g - grosse strasse(5 in folge) zaehlt 40";
590 print "c - chance (es zaehlen alle augen)"
600 print "y - yahtzee (5 gleiche) zaehlt 50"
610 print " return[146] zum anfangen !"
620 get i$:if i$="" then 620
630 print "[147]";c$;:for i=1 to 6
640 print " ";mid$(s$,i,1);"er [146] ";:next
650 print "[157][157]";c$:print c$;"drei [146] ";
660 print "vier [146] house[146] klein[146] gross[146]";
670 print " chanc[146]";c$
680 print spc(16);" [157][157][157][157][157][157][157]";
690 print "yahtzee[157][157][157][157][157][157][157] ";cr$;l$;
695 for i=1 to 5:print b$;"";:next
700 for i=1 to 13:s(i)=-1:next:q=0:g=g+1
710 for i=1 to 13:l=1:for j=1 to 3
720 for k=l to 5:h(k)=int(6*rnd(1)+1):next
730 print l$;"";:for k=1 to 5
740 if k>=l then print a$(0);
742 print a$(h(k));"";:next:if j=3 then 920
744 get i$:if i$<>""then 744
750 print l$;""
760 print "keep? ";:k=0
770 f=18-f:print chr$(f);" [146][157]";:t=ti
780 get i$:if i$="" and ti-t<25 then 780
790 if i$>"/" and i$<"7" then print i$;:k=k+1:i(k)=asc(i$)-48
800 if i$="a" then 915
805 if i$=chr$(20) and k>0 then k=k-1:print " [157][157]";
810 if i$<>cr$ then 770
815 if k=0 then l=1:goto 910
820 for l=1 to k:for m=l to 5
830 if i(l)=h(m) then 850
840 next:goto 860
850 h(m)=h(l):h(l)=i(l):next l:goto 890
860 print " ???[145]":t=ti
870 if ti-t<30 then 870
880 print e$;"[145]":goto 760
890 print "[145]";cr$;e$:if k<>5 then 910
900 print cr$;" drueck a[146] um alle zu behalten![145]":t=ti
902 if ti-t<120 then 902
904 print e$:goto 920
910 next j
915 print "[157][157][157][157][157][157] ";
920 if i<13 then 950
930 for a=1 to 13:if s(a)<>-1 then next
940 goto 1030
950 print l$;""
960 print spc(25);"wohin? ";
970 f=18-f:print chr$(f);" [146][157]";:t=ti
980 get i$:if i$="" and ti-t<25 then 980
990 for a=1 to 13:if i$=mid$(s$,a,1) then 1010
1000 next:goto 970
1010 if s(a)=-1 then 1028
1020 print cr$;"du kannst nur einmal eintragen ! [145]":t=ti
1022 if ti-t<120 then 1022
1024 print e$;"[145]";:goto 950
1028 print "[157][157][157][157][157][157][157] ";
1030 s(a)=0:for j=1 to 6:m(j)=0:next
1040 for j=1 to 5:m(h(j))=m(h(j))+1:next
1050 if a<7 then s(a)=a*m(a):goto 1190
1060 on a-6 goto 1070,1070,1090,1110,1110,1180,1160
1070 forj=1 to 6:if m(j)>a-5 then 1180
1080 next:goto 1190
1090 for j=1 to 6:if m(j)=1 or m(j)=4 then 1190
1100 next:s(9)=25:goto 1190
1110 c=0:for j=1 to 6:if m(j)=5 then 1150
1120 c=c+1:if m(j)=0 then c=0
1130 if c=a-6 then 1150
1140 next:goto 1190
1150 s(a)=10*a-70:goto 1190
1160 for j=2 to 5:if h(j)<>h(1) then 1190
1170 next:s(13)=50:gosub 2000:goto 1190
1180 s(a)=h(1)+h(2)+h(3)+h(4)+h(5)
1190 if a=13 or s(13)<>50 then 1220
1200 for j=2 to 5:if h(j)<>h(1) then 1220
1210 next:q=q+100:print cr$;" 100 point bonus[145]":gosub 2000:t=ti
1212 if ti-t<80 then 1212
1214 print e$
1220 i$=str$(s(a))+" ":if s(a)>9 then i$=right$(i$,len(i$)-1)
1230 print "";:j=a:if a>6 then print "";:j=a-6
1240 if a<>13 then print spc(7*j-6);d$;i$:goto 1270
1250 print "";spc(16);"[207][163][163][163][163][163][208][157][167]";
1260 print "[157][186][157][157][164][157][157][164][157][157][164][157][157][164][157][157][164][157][157][204][157][145][165] ";i$;" "
1270 next i
1300 t=s(1)+s(2)+s(3)+s(4)+s(5)+s(6)
1310 print l$;"";cr$;"oben =";t;"[157] punkte"
1320 if t>62 then t=t+35:print "plus 35 bonus punkte"
1330 u=s(7)+s(8)+s(9)+s(10)+s(11)+s(12)+s(13)
1340 print "unten =";u;"[157] punkte"
1350 if q>0 then print "plus";q;"[157] bonus punkte"
1360 print "gesamt= ";t+u+q;"[157] [146] punkte"
1365 ss=ss+t+u+q
1370 print "noch ein spiel?";
1372 t=ti
1374 get i$:if i$="" and ti-t<25 then 1374
1376 f=18-f:print chr$(f);" [146][157]";:if i$="" then 1372
1380 if left$(i$,1)="y" then 630
1385 if g=1 then end
1390 print "[145][145][145][145]";cr$;e$
1400 print "du hast";ss;"[157] punkte in";
1410 print g;"[157] spielen."
1420 print "das sind ";int(ss/g+.5);
1430 print "[157] [146] punkte je spiel."
1440 print e$;"[145]";:end
2000 c=53:for k=1 to 6
2010 poke 59409,c:c=113-c:t=ti
2020 if ti-t<10 then 2020
2030 next:return