home *** CD-ROM | disk | FTP | other *** search
- 0 REM YATZY - ROBERT B. COOK
- 100 GOSUB380:GOSUB412:GOSUB326
- 102 GOSUB114:GOSUB174
- 104 GOSUB202:GOSUB286
- 106 C1=C1+1:IFC1=NP*13THEN314
- 108 PL=PL+1:IFPL>NPTHENPL=1
- 110 GOTO102
- 112 = START =
- 114 PRINT"[146][144]"TAB(58)LEFT$("[180][144]#1 [180][144]#2 [180][144]#3 [180][144]#4 [181]",NP*6+2)
- 116 PRINT""TAB(54+PL*4)" #"MID$(STR$(PL),2)" [146][180]"
- 118 RL=1:PRINTDN$TAB(36)"[145]"RN$(1)
- 120 FORL1=1TO5:POKE2040+L1,200:DI(L1)=0:NEXT:POKESP+21,62
- 122 GOSUB130:IFRL=4THENRETURN
- 124 GOSUB154:IFRD>0THEN122
- 126 RETURN
- 128 = ROLL DICE =
- 130 FORL1=1TO5
- 132 IFDI(L1)=0THENDN(L1)=INT(RND(1)*6+1)
- 134 NEXT
- 136 FORL1=1TO5:IFDI(L1)=1THEN146
- 138 T1=INT(RND(1)*6+1)
- 140 POKEWV,129:POKELF,85:POKEHF,36
- 142 POKE2040+L1,192+T1:FORL2=1TO25:NEXT:POKEWV,128
- 144 DI(L1)=1:IFT1<>DN(L1)THEN138
- 146 NEXT
- 148 RL=RL+1:IFRL<4THENPRINTDN$TAB(36)"[145]"RN$(RL)
- 150 RETURN
- 152 = CHOOSE DICE =
- 154 POKESP+1,92:POKESP+21,63:RD=0:T1=1
- 156 JS=PEEK(56320)AND31:IFJS=31THEN156
- 158 IFJS=15ANDT1=0THENFORL1=1TO5:POKE2040+L1,192+DN(L1):DI(L1)=1:NEXT:RD=0
- 160 IFJS=15ANDT1=6THEN170
- 162 IFJS=15ANDT1>0THENPOKE2040+T1,200:RD=RD+1:DI(T1)=0
- 164 IFJS=29THENT1=T1+1:IFT1>6THENT1=6
- 166 IFJS=30THENT1=T1-1:IFT1<0THENT1=0
- 168 POKESP+1,68+24*T1:FORL1=1TO99:NEXT:GOTO156
- 170 WAIT56320,16,15:RETURN
- 172 = CHOOSE LINE =
- 174 POKESP+21,254
- 176 LN=1:POKESP+15,86
- 178 JS=PEEK(56320)AND31:IFJS=31THEN178
- 180 IFJS=15ANDMX(PL,LN)=0THENRETURN
- 182 IFJS=15THENGOSUB308
- 184 FORL1=1TO99:NEXT:IFJS=30THEN194
- 186 IFJS<>29THEN178
- 188 LN=LN+1:IFLN=7THENLN=11
- 190 IFLN>17THENLN=1
- 192 GOTO198
- 194 LN=LN-1:IFLN=10THENLN=6
- 196 IFLN<1THENLN=17
- 198 POKESP+15,78+LN*8:GOTO178
- 200 = CALCULATE =
- 202 SC=0:MX(PL,LN)=1
- 204 ON-(LN<7)GOTO208:GOTO222
- 206 = UPPER =
- 208 FORL1=1TO5
- 210 IFDN(L1)=LNTHENSC=SC+LN
- 212 NEXT
- 214 SC(PL,1)=SC(PL,1)+SC:IFSC(PL,1)>62THENSC(PL,2)=35
- 216 SC(PL,3)=SC(PL,1)+SC(PL,2):SC(PL,5)=SC(PL,3)+SC(PL,4)
- 218 RETURN
- 220 = LOWER =
- 222 T1=0:T2=0:SC=0
- 224 FORL1=1TO6:CT(L1)=0:NEXT
- 226 FORL1=1TO5:T2=T2+DN(L1):FORL2=1TO6
- 228 IFDN(L1)=L2THENCT(L2)=CT(L2)+1
- 230 NEXT:NEXT
- 232 ONLN-10GOSUB240,240,250,262,262,274,282
- 234 SC(PL,4)=SC(PL,4)+SC:SC(PL,5)=SC(PL,3)+SC(PL,4)
- 236 RETURN
- 238 * 3 OR 4 OF A KIND *
- 240 FORL1=1TO6
- 242 IFLN=11ANDCT(L1)>2THENSC=T2
- 244 IFLN=12ANDCT(L1)>3THENSC=T2
- 246 NEXT:RETURN
- 248 * FULL HOUSE *
- 250 FORL1=1TO6
- 252 IFCT(L1)=2THENT1=T1+2
- 254 IFCT(L1)=3THENT1=T1+3
- 256 IFT1=5THENSC=25
- 258 NEXT:RETURN
- 260 * SMALL STRAIGHT OR LARGE STRAIGHT *
- 262 FORL1=1TO6
- 264 T1=T1+1:IFCT(L1)=0THENT1=0
- 266 IFLN=14ANDT1=4THENSC=30
- 268 IFLN=15ANDT1=5THENSC=40
- 270 NEXT:RETURN
- 272 * YATZY *
- 274 FORL1=1TO6
- 276 IFCT(L1)=5THENSC=50
- 278 NEXT:RETURN
- 280 * CHANCE *
- 282 SC=T2:RETURN
- 284 = PRINT =
- 286 POKE646,0:IFLN=16THENPOKE646,4
- 288 PRINTLEFT$(DN$,LN+4)TAB(19+(4*(PL-1)))RIGHT$(" "+STR$(SC),3)
- 290 GOSUB302
- 292 FORL=1TO5:T=VAL(MID$("01112132224",L*2,2))
- 294 POKE646,1:IFL=2THENPOKE646,2
- 296 PRINTLEFT$(DN$,T)TAB(19+(4*(PL-1)))RIGHT$(" "+STR$(SC(PL,L)),3)
- 298 NEXT:POKESP+21,62:RETURN
- 300 = BLIP =
- 302 POKESR,240:POKEWV,17:POKEHF,50:POKELF,35
- 304 FORL1=1TO99:NEXT:POKEWV,16:POKESR,0:RETURN
- 306 = BUZZ =
- 308 POKESR,240:POKEWV,33:POKEHF,5
- 310 FORL1=1TO150:NEXT:POKEWV,32:RETURN
- 312 = END GAME =
- 314 POKESP+21,0:POKE829,234
- 316 PRINT" PRESS FIRE "
- 318 FORL1=1TONP:HS=SC(L1,5):IFHS<=PEEK(829+L1*2)*256+PEEK(830+L1*2)THEN322
- 320 POKE829+L1*2,HS/256:POKE830+L1*2,(HS/256-INT(HS/256))*256
- 322 NEXT:WAIT56320,16,16:WAIT56320,16,15:RUN
- 324 = SCREEN =
- 326 PRINT"[147][182] [176][192][174][176][192][174][176][192][174][176][192][174][176][192][174] [146][207][183][183][183][207][183][183][183][207][183][183][183][207][183][183][183][181][158] "
- 328 PRINT"[182] [221]Y[221][221]A[221][221]T[221][221]Z[221][221]Y[221] [146][180] [180] [180] [180] [181][158] "
- 330 PRINT"[182] [173][192][189][173][192][189][173][192][189][173][192][189][173][192][189] [146][204][175][175][175][204][175][175][175][204][175][175][175][204][175][175][175][181][158]UNDO"
- 332 PRINT"[182][154] HIGH SCORE [146][165] [165] [165] [165] [181][158][183][183][183][183]
- 334 [153]"ABSSTOPACES........FNSTOPADD FN FN FN FN INT
- 336 PRINT"[182][144]DEUCES......[165][144]ADD [165] [165] [165] [165] [181]
- 338 [153]"ABSSTOPTHREES......FNSTOPADD FN FN FN FN INT
- 340 PRINT"[182][144]FOURS.......[165][144]ADD [165] [165] [165] [165] [181]
- 342 [153]"ABSSTOPFIVES.......FNSTOPADD FN FN FN FN INT
- 344 PRINT"[182][144]SIXES.......[165][144]ADD [165] [165] [165] [165] [181]
- 346 [153]"ABS SUB TOTAL WAITFN FN FN FN INT
- 348 PRINT"[182] BONUS (63) [146][165]=35 [165] [165] [165] [165] [181]
- 350 [153]"ABS TOTAL UPPER WAITFN FN FN FN INT
- 352 PRINT"[182][183][183][183][183][183][183][183][183][183][183][183][183][207][183][183][183][183][207][183][183][183][207][183][183][183][207][183][183][183][207][183][183][183][181]
- 354 [153]"ABSSTOP3 OF A KIND.FNSTOPADD FN FN FN FN INT
- 356 PRINT"[182][144]4 OF A KIND.[165][144]ADD [165] [165] [165] [165] [181]
- 358 [153]"ABSSTOPFULL HOUSE..FNSTOP=25 FN FN FN FN INT
- 360 PRINT"[182][144]SM STRAIGHT.[165][144]=30 [165] [165] [165] [165][160] [181]
- 362 [153]"ABSSTOPLG STRAIGHT.FNSTOP=40 FN FN FN FN INT
- 364 PRINT"[182][156]YATZY [146][165][156]=50 [165] [165] [165] [165] [181][129][175][175][175][175]
- 366 [153]"ABSSTOPCHANCE......FNSTOPADD FN FN FN FN INTFORROLL
- 368 PRINT"[182] TOTAL LOWER [146][165] [165] [165] [165] [181][129][207][183][183][208]
- 370 [153]"ABSUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRWAIT(null)USRUSRUSR(null)USRUSRUSR(null)USRUSRUSR(null)USRUSRUSRINTFORFN +
- 372 PRINT"[182] GRAND TOTAL [146][165] [165] [165] [165] [181][129][165] [167]
- 374 [153]"ABS WAITINTFOR(null)ANDANDSQRCONT
- 376 FORL1=1TONP:PRINT"[154]"TAB(15+L1*4)RIGHT$(" "+STR$(HS(L1)),3);:NEXT:RETURN
- 378 ========== OPTIONS ==========
- 380 POKE53281,15:POKE53280,15:NP=1
- 382 PRINT"[147][156] [176][192][192][192][174][176][192][192][192][174][176][192][192][192][174][176][192][192][192][174][176][192][192][192][174]
- 384 [153]" (null)(null)(null)WAITSTEP(null)(null)COSPOSLOGWAIT(null)(null)NEW NEWWAIT(null)(null)NEWRNDWAITSTEP(null)(null)(null)(null)WAITSTEP(null)
- 386 PRINT" [221] [146] [221][221] [146][197] [146][221][221] [146][221][221][169][188][146][162][221][221] [146] [221]
- 388 [153]" /TANTANTANEXP/TANTANTANEXP/TANTANTANEXP/TANTANTANEXP/TANTANTANEXP
- 390 PRINT" PRESS JOYSTICK [[156]PORT 2] UP OR DOWN
- 392 [153]" TO CHANGE NUMBER OF PLAYERS
- 394 PRINT" PRESS [149]FIRE TO PLAY
- 396 [153]" HOW MANY PLAYERS?VERIFY";
- 398 [153][163]27)NP"CMDCMDCMD";
- 400 JS[178][194](56320)[175]31:[129]L1[178]1[164]75:[130]
- 402 [139]JS[178]30[167]NP[178]NP[170]1:[139]NP[178]5[167]NP[178]1
- 404 [139]JS[178]29[167]NP[178]NP[171]1:[139]NP[178]0[167]NP[178]4
- 406 [139]JS[179][177]15[167]398
- 408 [153]"LOAD":[142]
- 410 [178] INITIALIZE [178]
- 412 PL[178]1:SP[178]53248:R[178][187]([171]TI)
- 414 LF[178]54272:HF[178]54273:WV[178]54276:SR[178]54278
- 416 RN$(1)[178]"STEPWAITGETCMDCMDGETWAITGET"
- 418 RN$(2)[178]"VAL CMDCMD STR$"
- 420 RN$(3)[178]"VAL CMDCMDSTR$ "
- 422 DN$[178]"
- 424 DIMDI(5),MX(4,20),SC(4,5),HS(4)
- 426 FORL1=LFTOLF+24:POKEL1,0:NEXT:POKELF+24,15
- 428 IFPEEK(829)=234THEN434
- 430 FORL1=0TO511:READA:POKE12288+L1,A:NEXT
- 432 FORL1=512TO575:POKE12288+L1,.:NEXT:POKE830,0:POKE831,0
- 434 FORL1=1TO5:POKESP+39+L1,1
- 436 POKESP+2*L1,52:POKESP+1+2*L1,60+L1*24:REM COLOR,X,Y POS
- 438 NEXT
- 440 POKE2040,192:POKESP+39,9:POKESP,30:POKESP+1,212:REM LEFT
- 442 POKE2047,199:POKESP+46,7:POKESP+14,120:POKESP+15,86:REM RIGHT
- 444 POKESP+16,127
- 446 FORL1=1TONP:HS(L1)=PEEK(829+L1*2)*256+PEEK(830+L1*2):NEXT
- 448 RETURN
- 450 = SPRITE DATA =
- 452 * LEFTHAND *
- 454 DATA000,000,000,000,000,000,000,000
- 456 DATA096,000,000,224,000,001,192,000
- 458 DATA003,128,000,007,000,028,014,000
- 460 DATA014,061,192,007,123,064,007,118
- 462 DATA224,007,189,160,007,219,112,007
- 464 DATA222,208,007,221,176,003,255,096
- 466 DATA003,255,192,001,255,128,001,255
- 468 DATA000,001,254,000,003,252,000,000
- 470 * ONE *
- 472 DATA255,255,255,255,255,255,255,255
- 474 DATA255,255,255,255,255,255,255,255
- 476 DATA255,255,255,255,255,255,255,255
- 478 DATA255,231,255,255,195,255,255,195
- 480 DATA255,255,231,255,255,255,255,255
- 482 DATA255,255,255,255,255,255,255,255
- 484 DATA255,255,255,255,255,255,255,255
- 486 DATA255,255,255,255,255,255,255,000
- 488 * TWO *
- 490 DATA255,255,255,255,255,255,255,255
- 492 DATA207,255,255,135,255,255,135,255
- 494 DATA255,207,255,255,255,255,255,255
- 496 DATA255,255,255,255,255,255,255,255
- 498 DATA255,255,255,255,255,255,255,255
- 500 DATA255,255,243,255,255,225,255,255
- 502 DATA225,255,255,243,255,255,255,255
- 504 DATA255,255,255,255,255,255,255,000
- 506 * THREE *
- 508 DATA255,255,255,255,255,255,255,255
- 510 DATA207,255,255,135,255,255,135,255
- 512 DATA255,207,255,255,255,255,255,255
- 514 DATA255,231,255,255,195,255,255,195
- 516 DATA255,255,231,255,255,255,255,255
- 518 DATA255,255,243,255,255,225,255,255
- 520 DATA225,255,255,243,255,255,255,255
- 522 DATA255,255,255,255,255,255,255,000
- 524 * FOUR *
- 526 DATA255,255,255,255,255,255,243,255
- 528 DATA207,225,255,135,225,255,135,243
- 530 DATA255,207,255,255,255,255,255,255
- 532 DATA255,255,255,255,255,255,255,255
- 534 DATA255,255,255,255,255,255,255,255
- 536 DATA255,255,243,255,207,225,255,135
- 538 DATA225,255,135,243,255,207,255,255
- 540 DATA255,255,255,255,255,255,255,000
- 542 * FIVE *
- 544 DATA255,255,255,255,255,255,243,255
- 546 DATA207,225,255,135,225,255,135,243
- 548 DATA255,207,255,255,255,255,255,255
- 550 DATA255,231,255,255,195,255,255,195
- 552 DATA255,255,231,255,255,255,255,255
- 554 DATA255,255,243,255,207,225,255,135
- 556 DATA225,255,135,243,255,207,255,255
- 558 DATA255,255,255,255,255,255,255,000
- 560 * SIX *
- 562 DATA255,255,255,255,255,255,243,255
- 564 DATA207,225,255,135,225,255,135,243
- 566 DATA255,207,255,255,255,255,255,255
- 568 DATA243,255,207,225,255,135,225,255
- 570 DATA135,243,255,207,255,255,255,255
- 572 DATA255,255,243,255,207,225,255,135
- 574 DATA225,255,135,243,255,207,255,255
- 576 DATA255,255,255,255,255,255,255,000
- 578 * RIGHTHAND *
- 580 DATA000,000,000,000,000,000,006,000
- 582 DATA000,007,000,000,003,128,000,001
- 584 DATA192,000,000,224,000,000,112,056
- 586 DATA003,188,112,002,222,224,007,110
- 588 DATA224,005,189,224,014,219,224,011
- 590 DATA123,224,013,187,224,006,255,192
- 592 DATA003,255,192,001,255,128,000,255
- 594 DATA128,000,127,128,000,063,192,000
-