home *** CD-ROM | disk | FTP | other *** search
- 1 dv=peek(186):ifgg=20thengg=21:load"icchd8",dv,1
- 3 ifgg=21then625
- 5 ifgg=22thengg=23:load"chd4",dv,1
- 7 ifgg=23then341
- 9 ifgg=24thengg=25:load"icchd8",dv,1
- 11 ifgg=25then625
- 13 ongggoto15,17,19,21
- 15 gg=2:load"a",dv,1
- 17 gg=3:load"b",dv,1
- 19 gg=4:load"c",dv,1
- 21 gosub741
- 22 poke 808,225
- 23 sys49604:sys49500:sys49152:sys49800
- 25 poke720,0:poke721,0:poke722,0
- 27 poke646,14:print"[147]":gosub33
- 29 sa=51600:ea=52599:ns=1024:gosub753:e=22:f=1:gosub31:input nm$:goto341
- 31 poke781,e:poke782,f:poke783,0:sys65520:return
- 33 sys50400:v=53248:pokev+39,3:pokev+21,0:poke53276,0
- 35 hp=250:gl=30:fd=50:w$="no weapon":mc=1:xs=0:dp=0
- 37 e=781:f=782:g=783:h=65520:return
- 39 ra=int(rnd(1)*10+1)
- 41 ifdg=1then51
- 43 ifra<2then365
- 45 ifdg=0then53
- 47 ifdg=2then49
- 49 onragoto365,365,55,77,55,77,55,65,55,65
- 51 onragoto57,73,55,57,73,77,73,57,73,73
- 53 onragoto365,365,61,61,65,69,65,61,65,69
- 55 mt$="bat":ms=10:sa=40128:ea=40191:ns=896:gosub753:cs=12:goto81
- 57 mt$="ghost":ms=40:sa=40192:ea=40255:ns=896:gosub753
- 59 cs=0:poke53285,14:poke53286,0:goto83
- 61 mt$="rogue":ms=6:sa=40258:ea=40321:ns=896:gosub753
- 63 cs=5:poke53285,9:poke53286,8:goto83
- 65 mt$="orc":ms=6:sa=40322:ea=40385:ns=896:gosub753
- 67 cs=9:poke53285,8:poke53286,5:goto83
- 69 mt$="robber":ms=8:sa=40386:ea=40449:ns=896:gosub753
- 71 cs=11:poke53285,8:poke53286,3:goto83
- 73 mt$="demon":ms=80:sa=40450:ea=40513:ns=896:gosub753
- 75 cs=9:poke53285,3:poke53286,4:goto83
- 77 mt$="spider":ms=20:sa=40514:ea=40577:ns=896:gosub753
- 79 cs=5:poke53285,3:poke53286,11:goto83
- 81 poke53276,0
- 83 pokev+21,0:mt=ms:ms$="attacked !!!":yl=20:xl=14:gosub731
- 85 gosub299
- 87 print"[147]"
- 89 sa=25000:ea=25999:ns=55296:gosub753
- 91 sa=24000:ea=24999:ns=1024:gosub753
- 93 e=1:f=1:gosub31:printnm$;:print" w/";:printw$
- 95 e=1:f=31:gosub31:print"hp ";:printhp
- 97 e=20:f=13:gosub31:print"choose option"
- 99 poke 198,0:wait198,1:geta$:e=20:f=13:gosub31:print" "
- 101 if a$="a"thenjj=1:goto113
- 103 if a$="m"thenjj=2:goto113
- 105 if a$="c"then159
- 107 if a$="r"then215
- 109 if a$="g"then227
- 111 goto97
- 113 ifjj=1thentl=500
- 115 ifjj=2thentl=1000
- 117 ra=int(rnd(1)*6+1)
- 119 if ra<>1then123
- 121 ms$=" you missed ":yl=19:xl=13:gosub733:goto131
- 123 p=len(nm$):xl=int((28-p)/2):e=19:f=xl:gosub31
- 125 printnm$;:print" hits for ";:printws+ra+xs
- 127 yl=19:gosub735
- 129 ms=ms-(ws+ra+xs):ifms<0thenms=mt:goto251
- 131 ra=int(rnd(1)*6+1)
- 133 if ra>mcthen141
- 135 if mc=5 then ms$="enemy confused":goto139
- 137 ms$="attacker misses":yl=21::xl=12:gosub733:goto153
- 139 yl=21::xl=13:gosub733:goto153
- 141 p=len(mt$):xl=int((28-p)/2):e=21:f=xl:gosub31
- 143 printmt$;:print" hits for ";:printmt+ra
- 145 hp=hp-(mt+ra):ifhp<0thenyl=21:gosub735:goto321
- 147 e=1:f=34:gosub31:print" "
- 149 e=1:f=34:gosub31:printhp
- 151 yl=21:gosub735
- 153 ifjj=2then97
- 155 ifpeek(197)=60then97
- 157 goto113
- 159 e=18:f=4:gosub31
- 161 print"choose spell: ":print
- 163 printtab(4)"c confuse ";:printdc;:print" b banish ";:printdb
- 165 printtab(4)"s strength";:printds;:print" n none "
- 167 printtab(4)"h heal ";:printdh
- 169 poke198,0:wait198,1:geta$
- 171 if a$="c"then183
- 173 if a$="s"then187
- 175 if a$="h"then191
- 177 if a$="b"then197
- 179 if a$="n"then203
- 181 goto169
- 183 dc=dc-1:ifdc<0thendc=dc+1:goto211
- 185 mc=5:goto203
- 187 ds=ds-1:ifds<0thends=ds+1:goto211
- 189 xs=xs+20:goto203
- 191 dh=dh-1:ifdh<0thendh=dh+1:goto211
- 193 e=1:f=31:gosub31:print" ":hp=hp+50:fork=1to500:next
- 195 gosub31:print"hp ";:printhp:fork=1to500:next:goto203
- 197 db=db-1:yl=18:ifdb<0thendb=db+1:goto211
- 199 tl=1:gosub735:yl=yl+1:ifyl=23then271
- 201 goto199
- 203 yl=18
- 205 tl=1:gosub735:yl=yl+1:ifyl=23thenjj=2:goto113
- 207 goto205
- 209 print"[147]":pokev+21,1:xx=xx+1:yy=yy+1:goto341
- 211 e=18:f=4:gosub31
- 213 print"you have none! ":fork=1to1000:next:goto159
- 215 ra=int(rnd(1)*10+1)
- 217 if ra>8 then225
- 219 if ra>3 then223
- 221 ms$="oh no you don't!!":yl=20:xl=12:gosub731:jj=2:goto113
- 223 ms$="no escape!":yl=20:xl=15:gosub731:jj=2:goto113
- 225 ms$="you have escaped!":yl=20:xl=12:gosub731:goto247
- 227 e=19:f=8:gosub31:print"give us ";
- 229 printmt*4;:print" gold! y/n?"
- 231 poke198,0:wait198,1:getb$
- 233 ifb$="n"then245
- 235 ifb$="y"then239
- 237 goto231
- 239 gl=gl-(mt*4):ifgl<0thengl=gl+(mt*4):tl=1500:yl=19:gosub735:goto243
- 241 goto247
- 243 yl=19:xl=12:ms$="not enough gold !":gosub731:goto245
- 245 yl=19:xl=3:ms$=" then die pauper! ":gosub731:jj=2:goto113
- 247 print"[147]":mc=1:xs=0
- 249 sys49604:sys49500:goto341:rem adj error*
- 251 nm=nm-1:ifnm=0then271
- 253 ifnm=5thenpokev+21,62
- 255 ifnm=4thenpokev+21,30
- 257 ifnm=3thenpokev+21,14
- 259 ifnm=2thenpokev+21,6
- 261 ifnm=1thenpokev+21,2
- 263 ms$="assailant dies":yl=21:xl=13:gosub733
- 265 tl=600:yl=21:gosub735:ifjj=2then97
- 267 ifpeek(197)=60then97
- 269 goto113
- 271 v=53248:p=0:forj=1to15:fork=40to46:pokev+k,p:p=p+1:next:next: pokev+21,0
- 273 ms$="attackers defeated!":yl=21:tl=1500:xl=10:gosub733
- 275 yl=21:gosub735
- 277 ra=int(rnd(1)*15+1):ifra>10then287
- 279 ra=mt+(int(rnd(1)*20+1)):gl=gl+ra
- 281 e=20:f=7:gosub31
- 283 print" you have found ";:printra;:print" gold"
- 285 yl=19:tl=1500:gosub735:goto247
- 287 e=20:f=3:gosub31
- 289 ifra=11thenprint" you have found a confuse spell":dc=dc+1:goto285
- 291 ifra=12thenprint" you have found a strength spell":ds=ds+1:goto285
- 293 ifra=13thenprint" you have found a healing spell":dh=dh+1:goto285
- 295 ifra=14thenprint" you have found a banish spell":db=db+1:goto285
- 297 ifra=15thene=20:f=11:gosub31:print"you found +20 food":fd=fd+20:goto285
- 299 v=53248
- 301 fork=40to46:pokev+k,cs:next
- 303 ra=int(rnd(1)*6+1):nm=ra
- 305 on ra goto307 ,309,311,313,315,317
- 307 pokev+21,2:goto319
- 309 pokev+21,6:goto319
- 311 pokev+21,14:goto319
- 313 pokev+21,30:goto319
- 315 pokev+21,62:goto319
- 317 pokev+21,126:goto319
- 319 return
- 321 ms$=" you have died! ":yl=19:xl=12:gosub731
- 323 print"[147]":fork=1to15:print:next:printnm$;:print" has died":print
- 325 print" a resurrect":print" b begin new game":print" c quit"
- 327 poke198,0:wait198,1:geta$
- 329 if a$="a"thengosub339:goto335
- 331 if a$="b"thengosub339:pokev+21,0:clr:goto1
- 333 if a$="c"thensys64738
- 335 dg=0:poke720,0:poke721,0:gg=22:dp=0:hp=100:poke53276,0:iffd<0thenfd=20
- 337 pokev+21,0:load"gmmapb",dv,1
- 339 print:print:print" loading...please wait...":fork=1to1500:next:return
- 341 pokev+21,0:poke53265,peek(53265)and239
- 343 sa=22000:ea=22999:ns=1024:gosub753
- 345 sa=23000:ea=23999:ns=55296:gosub753
- 347 forp=1024to1062:pokep,160:pokep+54272,14:next
- 349 forp=1604to1619:pokep,32:next
- 351 poke646,12: e=3:f=20:gosub31:printnm$
- 353 e=15:f=20:gosub31:printw$
- 355 e=5:f=29:gosub31:printhp
- 357 e=7:f=29:gosub31:printgl
- 359 e=9:f=29:gosub31:printfd
- 361 poke53265,peek(53265)or16:pokev+21,1:poke53276,255:poke53285,0:poke53286,1
- 363 sys49678:sys49553:sys49152:sys49800
- 365 sys50100:xx=peek(720):yy=peek(721)
- 367 if peek(56320)=111then421
- 369 ifdg=1ordg=2then377
- 371 ifsx<>1then377
- 373 e=11:f=29:gosub31:printxx;:ifxx<10thenprint"[157] "
- 375 e=13:f=29:gosub31:printyy;:ifyy<10thenprint"[157] "
- 377 ef=peek(722)
- 379 ifef=30thenpoke722,31:goto39
- 381 ifef=80thenpoke722,81:goto39
- 383 ifef=99then409
- 385 if dg=1ordg=2then389
- 387 goto365
- 389 if ef=50 thenpoke722,51:goto395
- 391 if ef=94thenpoke722,95:goto395
- 393 goto365
- 395 if dp<>0then365
- 397 if dg=2then405
- 399 ra=int(rnd(1)*3+1)
- 401 on ra goto403 ,405,407
- 403 dp=1:sa=15136:ea=15167:ns=14944:gosub753:goto365
- 405 dp=2:sa=15168:ea=15199:ns=14976:gosub753:goto365
- 407 dp=3:sa=15200:ea=15231:ns=15008:gosub753:goto365
- 409 poke722,0:fd=fd-10:iffd>20then417
- 411 iffd<0then415
- 413 ms$="food low!":yl=20:xl=14:gosub731:goto417
- 415 ms$="died of starvation!":yl=20:xl=10:gosub731:goto323
- 417 e=9:f=29:gosub31:print" ";
- 419 print"[157][157][157][157]";:printfd:goto385
- 421 if dg=1ordg=2then635
- 423 if xx=2andyy=6then465
- 425 if xx=32andyy=18then579
- 427 if xx=6andyy=38then621
- 429 if xx=46andyy=38then437
- 431 if xx=44andyy=4then447
- 433 if xx=2andyy=28then457
- 435 goto365
- 437 ifta=1then365
- 439 ta=1:xl=4:yl=20:ms$="dig.....dig......sweat......groan":gosub731
- 441 xl=5:yl=20:ms$="you find 100g and a heal spell":gosub731
- 443 gl=gl+100:dh=dh+1:
- 445 e=7:f=29:gosub31:printgl:goto365
- 447 iftb=1then365
- 449 tb=1:xl=4:yl=20:ms$="dig.....dig......sweat....crash!!":gosub731
- 451 pokev+21,0:print"[147]":print" you have fallen into a disused mine."
- 453 print:print" there must be an exit somewhere.....":gosub339
- 455 gg=24:dg=2:load"gmmine2",dv,1
- 457 iftc=1then365
- 459 tc=1:xl=4:yl=20:ms$="dig.....dig......sweat......groan":gosub731
- 461 xl=5:yl=20:ms$="eureka! you have found 500 gold":gosub731
- 463 gl=gl+500:e=7:f=29:gosub31:printgl:goto365
- 465 print"[147]":pokev+21,0
- 467 sa=18000:ea=18999:ns=55296:gosub753
- 469 sa=17000:ea=17999:ns=1024:gosub753:poke1756,32
- 471 gosub703
- 473 if aa>4thengosub703
- 475 if aa=1 then483
- 477 if aa=2 then515
- 479 if aa=3 then539
- 481 if aa=4 then575
- 483 poke646,3:print"[147]":sa=19000:ea=19999:ns=1024:gosub753:poke1712,32:remerr
- 485 gosub703
- 487 if aa>4thengosub703
- 489 ifaa<>1then501
- 491 gl=gl-10:ifgl<0thengl=gl+10:gosub719:goto485
- 493 ra=int(rnd(1)*11+5)
- 495 hp=hp+ra:e=22:f=7:gosub31:print"hp +";
- 497 printra;:print" you have ";:printgl;:print" gold"
- 499 yl=22:tl=2000:gosub735:goto485
- 501 ifaa<>2then507
- 503 gl=gl-20:ifgl<0thengl=gl+20:gosub719:goto485
- 505 fd=fd+50:gosub723:goto485
- 507 ifaa<>3then513
- 509 gl=gl-40:ifgl<0thengl=gl+40:gosub719:goto485
- 511 fd=fd+100:gosub723:goto485
- 513 ifaa=4then465
- 515 poke646,8:print"[147]":sa=21000:ea=21999:ns=1024:gosub753
- 517 gosub703:ifaa>4then517
- 519 ifaa<>1then525
- 521 gl=gl-10:ifgl<0thengl=gl+10:gosub719:goto517
- 523 sa=26000:ea=26439:ns=1584:gosub753:goto517
- 525 ifaa<>2then531
- 527 gl=gl-100:ifgl<0thengl=gl+100:gosub719:goto517
- 529 sa=26440:ea=26879:ns=1584:gosub753:goto517
- 531 ifaa<>3then537
- 533 gl=gl-200:ifgl<0thengl=gl+200:gosub719:goto517
- 535 sa=26880:ea=27319:ns=1584:gosub753:goto517
- 537 ifaa=4then465
- 539 poke646,5:print"[147]":poke646,5:sa=20000:ea=20999:ns=1024:gosub753
- 541 gosub703
- 543 ifaa<>1then549
- 545 gl=gl-10:ifgl<0thengl=gl+10:gosub719:goto541
- 547 w$="dagger":ws=2:gosub723:goto541
- 549 ifaa<>2then555
- 551 gl=gl-30:ifgl<0thengl=gl+30:gosub719:goto541
- 553 w$="club":ws=4:gosub723:goto541
- 555 ifaa<>3then561
- 557 gl=gl-50:ifgl<0thengl=gl+50:gosub719:goto541
- 559 w$="sword":ws=8:gosub723:goto541
- 561 ifaa<>4then567
- 563 gl=gl-100:ifgl<0thengl=gl+100:gosub719:goto541
- 565 w$="crossbow":ws=16:gosub723:goto541
- 567 ifaa<>5then573
- 569 gl=gl-40:ifgl<0thengl=gl+40:gosub719:goto541
- 571 sx=1:gosub723:goto541
- 573 ifaa=6then465
- 575 print"[147]":pokev+21,1
- 577 poke720,(peek(720)+1):poke721,(peek(721)+1):goto341
- 579 pokev+21,0
- 581 poke646,5:print"[147]":sa=27320:ea=28319:ns=1024:gosub753
- 583 gosub703
- 585 ifaa<>1then591
- 587 gl=gl-40:ifgl<0thengl=gl+40:yl=20:xl=12:gosub721:goto583
- 589 dc=dc+1:yl=20:xl=9:gosub725:goto583
- 591 ifaa<>2then597
- 593 gl=gl-60:ifgl<0thengl=gl+60:yl=20:xl=12:gosub721:goto583
- 595 ds=ds+1:yl=20:xl=9:gosub725:goto583
- 597 ifaa<>3then603
- 599 gl=gl-80:ifgl<0thengl=gl+80:yl=20:xl=12:gosub721:goto583
- 601 dh=dh+1:yl=20:xl=9:gosub725:goto583
- 603 ifaa<>4then609
- 605 gl=gl-100:ifgl<0thengl=gl+100:yl=20:xl=12:gosub721:goto583
- 607 db=db+1:yl=20:xl=9:gosub725:goto583
- 609 ifaa<>5then617
- 611 poke646,3:print"[147]":sa=28320:ea=29319:ns=1024:gosub753
- 613 poke198,0:wait198,1:geta$
- 615 goto581
- 617 print"[147]":pokev+21,1
- 619 poke720,(peek(720)+1):poke721,(peek(721)+1):goto341
- 621 print"[147]":pokev+21,0:gosub339
- 623 dg=1:gg=20:load"gmdng3",dv,1
- 625 forp=14848to14879:pokep,0:next
- 627 sa=15232:ea=15263:ns=14944:gosub753
- 629 sa=15232:ea=15263:ns=14976:gosub753
- 631 sa=15232:ea=15263:ns=15008:gosub753
- 633 pokev+21,1:goto341
- 635 p=peek(1352)
- 637 ifp=76anddp=1then671
- 639 ifp=80anddp=2then649
- 641 ifp=84anddp=3then657
- 643 ifp=72then689
- 645 ifp=68then677
- 647 goto365
- 649 e=20:f=7:gosub31
- 651 ra=int(rnd(1)*80+20):gl=gl+ra
- 653 print" you have found ";:printra;:print" gold"
- 655 e=7:f=29:gosub31:printgl:goto669
- 657 e=20:f=3:gosub31
- 659 ra=int(rnd(1)*4+1)
- 661 ifra=1thenprint" you have found a confuse spell":dc=dc+1:goto669
- 663 ifra=2thenprint" you have found a strength spell":ds=ds+1:goto669
- 665 ifra=3thenprint" you have found a healing spell":dh=dh+1:goto669
- 667 ifra=4thenprint" you have found a banish spell":db=db+1:goto669
- 669 forp=14944to15039:pokep,0:next:yl=20:tl=1000:gosub735:dp=0:goto365
- 671 e=20:f=8:gosub31
- 673 print" you have found +20 food":fd=fd+20
- 675 e=9:f=29:gosub31:printfd:goto669
- 677 print"[147]":pokev+21,0:gosub339
- 679 if dg=2 then683
- 681 dg=0:poke720,7:poke721,39:gg=22:dp=0:load"exdm3",dv,1
- 683 print:print:print"you have escaped! the ground crumbles"
- 685 print:print"behind you, sealing the exit."
- 687 dg=0:poke720,0:poke721,0:gg=22:dp=0:load"gmmapb",dv,1
- 689 e=20:f=7:gosub31:print"everything is fading......"
- 691 fork=1to1000:ra=int(rnd(1)*800+1)
- 693 poke1024+ra,46:poke55296+ra,1:next
- 695 v=53248:poke646,14:pokev+21,0:print"[147]":sa=50600:ea=51599:ns=1024
- 697 gosub753
- 699 poke198,0:wait198,1:geta$
- 701 sys64738
- 703 poke198,0:wait198,1:geta$
- 705 if a$="a"then aa=1:return
- 707 if a$="b"then aa=2:return
- 709 if a$="c"then aa=3:return
- 711 if a$="d"then aa=4:return
- 713 if a$="e"then aa=5:return
- 715 if a$="f"then aa=6:return
- 717 goto703
- 719 yl=22:xl=12
- 721 ms$="not enough gold ! ":gosub731:return
- 723 yl=22:xl=9
- 725 tl=600:ms$=" ok! ":gosub733:poke781,22
- 727 poke782,9:poke783,0:sys65520:print"you have ";:printgl;:print" gold left"
- 729 tl=1500:yl=22:gosub735:return
- 731 tl=1500
- 733 poke781,yl:poke782,xl:poke783,0:sys65520:printms$
- 735 fork=1totl:next
- 737 poke781,yl:poke782,2:poke783,0:sys65520
- 739 print" ":return
- 741 poke52,56:poke56,56
- 743 poke56334,peek(56334)and254
- 745 poke1,peek(1)and251
- 747 poke1,peek(1)or4
- 749 poke56334,peek(56334)or1
- 751 poke53272,(peek(53272)and240)+14:return
- 753 ea=ea+1:l=ea-sa:ne=l+ns
- 755 x=int(l/256):y=l-256*x
- 757 a=int((ne-y)/256):b=ne-256*a-y
- 759 c=int((ea-y)/256):d=ea-256*c-y
- 761 poke 781,x+1:poke782,y
- 763 poke 88,b+1:poke 89,a
- 765 poke90,d+1:poke 91,c
- 767 sys41964:return
-