Willus.com
Home
|
Archive
|
About
KINGCAST.BAS
(18697 bytes)
EMULATE AS:
DEFAULT TYPE (BASIC)
|
CMD program
|
Program on Disk
|
2-Disk Debug
|
Disk Download
SHOW BELOW AS:
BASIC program
(download)
|
Text File
(download)
|
Z-80 Program
(download)
|
EDTASM File
(download)
|
Graphic
(download)
|
Hex File
(download)
|
SCRIPSIT File
(download)
Return to TRS-80 software list.
1 RANDOM:CLS:PRINTCHR$(23):PRINTTAB(9)"K I N G S":PRINT:PRINT:PRINTTAB(11)"A N D":PRINT:PRINT:PRINTTAB(7)"C A S T L E S":PRINT:PRINT:PRINTTAB(9)"(C) 1991":PRINT:PRINTTAB(4)"T E D . C O N N O R":PRINT 2 FOR X=1 TO 3000:NEXT 3 CLS:INPUT"DO YOU WANT AN INTRODUCTION TO THE STORY-LINE";A$:IFA$="Y"THEN5:ELSE39 5 GOTO10 7 FORX=1TO3000:NEXTX:RETURN 10 CLS:PRINT"THIS WAR TAKES PLACE FAR IN THE PAST, FAR AWAY":GOSUB7:PRINT"THIS WAR IS FOUGHT BETWEEN MINOR KINGS IN TWO KINGDOMS.":PRINT"EACH RULES A VERY SMALL PART OF THEIR FATHERS KINGDOM!!":GOSUB7:PRINT"BOTH KINGS ARE BATTLING FOR THE SAME THING..." 15 GOSUB7:PRINT"TO TAKE THE OTHERS LAND, OWN MORE PROPERTY, BECOME STRONGER,":PRINT"RISE IN EMPERIAL RANK AND FINALLY":GOSUB7:PRINT"TO OWN AND RULE THE WHOLE COUNTRY.":GOSUB7:PRINT"BOTH KING'S FATHERS WOULD LOVE TO SEE THEIR SONS REACH THIS" 20 PRINT"GOAL AND WILL OFTEN HELP HIS SON OUT!!":GOSUB7:PRINT"TO BEGIN............. TELL THE COMPUTER WHICH KINGDOM YOU WISH TO RULE!..........MAY THE FORCE BE WITH YOU":GOSUB7 35 CLS:GOSUB9000:PRINT@0,"KINGS AND CASTLES":PRINT"THE SCENE IS SOMEWHERE IN THE DEEP INTERIOR OF GREAT KESH.WE AREIN THE AREA KNOWN AS KRONDAR,DURING THE GREAT RIFT WAR.":GOSUB 816 36 PRINT"You have been chosen by Prince Arutha to defend the Keep from the Invading forces.You may use your Cannon and army for your attacks,also you may send in your Elves (Infiltrators) to assasinate the opposing leader":GOSUB816 39 CLS 40 CLEAR(1000):GOSUB30130:CLS:RANDOM:GOSUB9000:PRINT@128,"":INPUT" Who shall be the Northern King?(Up to eight letters)";N$:PRINT@192,"":INPUT" And the Ruler of the Southern Kingdom? (Type in COMPUTER if you wish to War against Me!!)";S$ 45 IFS$="COMPUTER"THEN GOSUB 810:GOSUB60011 48 GOSUB815 50 ER=0:WR=0 55 GOSUB545:M5=0:M=RND(30000):M=M+150000:NM=M:SM=M 60 R=0:R1=0 65 X=RND(10000):NW=X+20000:X=RND(10000):SW=X+20000:N=RND(10000):N=N+20000:S=RND(10000):S=S+20000:CN=500:CS=500 70 NC=RND(10000):SC=RND(10000):I2=RND(5):I1=RND(5) 75 X=RND(100):IFX<25THEN NS=1:ELSE NS=0 80 X=RND(100):IFX<25THEN SS=1:ELSE SS=0 85 GOSUB725:CLS:PRINT@2,N$;:PRINT@18,S$; 90 Q=0 95 IF NM<=0THEN NM=0:ELSE NM=NM 100 IF SM<=0THEN SM=0:ELSE SM=SM 105 IFNW<=0THEN NW=0:ELSE NW=NW:IFSW<=0THEN SW=0:ELSE SW=SW:IF NC<=0THEN NC=0:ELSE NC=NC 110 IF SC<=0THEN SC=0:ELSE SC=SC 115 PRINT@64,"************** ************** ":T$="*":PRINT@0,T$;:PRINT@11,WR;:PRINT@11,T$;:PRINT@13,T$;:PRINT@16,T$;:PRINT@27,ER;:PRINT@27,T$;:PRINT@29,T$; 120 PRINT@128,"$"NM:PRINT@144,"$"SM 125 PRINT@192,"WAR'RS:";:IFNW<=0THEN465:ELSEPRINTNW;:PRINT@208,"WAR'RS:";:IFSW<=0THEN470:ELSEPRINTSW;:PRINT@256,"HIT PTS:";:IFN<=0THEN550:ELSEPRINTN;:PRINT@272,"HIT PTS:";:IFS<=0THEN555:ELSEPRINTS; 130 IFCN<=0THENCN=0 135 IFCS<=0THENCS=0 :ELSE140 140 PRINT@320,"CANNON:"CN:PRINT@336,"CANNON:"CS:PRINT@384,"CIV'LNS:";:IFNC<=0THENNC=0:PRINTNC;:GOTO145:ELSEPRINTNC 145 PRINT@400,"CIVILIANS:";SC; 150 PRINT@448,"SPIES:";I2:PRINT@464,"SPIES:";I1:IFNS>=1THENPRINT@512,"CATAPULTS:";NS 155 IFSS>=1THENPRINT@528,"CATAPULTS:";SS 160 IFT=0THENT=1:PRINT@896,N$"'S TURN";:GOTO165:ELSEIFT=1THENT=0:PRINT@896,S$"'S TURN";:IFS$="COMPUTER"THENPRINT@925,">> DONT HASSLE ME <<";:GOTO285:ELSE285 165 PRINT@640,"F)ire Can. A)dvance C)atapult H)ire Civ. B)uy Can. I)nfiltrt R)elease Warriors 170 A$=INKEY$:IFA$=""THEN170:ELSECLS:GOSUB435:GOSUB475:GOSUB670:IFA$="F"THEN175:ELSEIFA$="A"THEN215:ELSEIFA$="C"THEN225:ELSEIFA$="H"THEN245:ELSEIFA$="B"THEN265:ELSEIFA$="I"THEN560:ELSEIFA$="R"THEN190:ELSE165 175 CLS:PRINT"CANNON FIRED!!!" 180 IFCN<=0THENPRINT"NO CANNON LEFT,YOUR HIGHNESS":CN=0:GOTO540:ELSEPRINT"FIRE AT HIS C)astle or his M)en":PRINT 185 A$=INKEY$:IFA$="C"THENPRINT"*CASTLE*":GOSUB760:GOTO195:ELSEIFA$="M"THENPRINT"*MEN*":GOSUB760:GOTO210:ELSE185 190 CLS:PRINT"RELEASING WARRIORS":PRINT:PRINT"HOW MANY TO LET GO?":INPUT A:IF A>NW THEN190:ELSE NW=NW-A:GOSUB775:PRINT"THEY'RE ON THEIR WAY HOME!":GOTO540 195 V=RND(3):IFV=1THENH=2:GOSUB9000:GOTO2000:ELSEH=1:GOSUB9000:D=RND(5000):S=S-D:GOSUB815:CLS:PRINT:PRINT"BOOOOMMMM!!":PRINTS$" LOST"D"HIT POINTS!":D=RND(100):CS=CS-D:PRINT"AS WELL AS"D"CANNON":D=RND(99) 200 SC=SC-D:PRINT"AND";D"CIVILIANS":IFSS<1THENGOTO540:ELSED=RND(10):IFD<4THENPRINT"***AND YOUR CATAPULT!***":SS=SS-1:IFSS<1THENSS=0:GOTO540:ELSEGOTO540 205 GOTO540 210 V=RND(3):IFV=1THENGOSUB818:GOTO540:ELSED=RND(5000):SW=SW-D:PRINTS$" LOST"D"MEN!":IFD>3000THEND=RND(3000):NW=NW-D:PRINT"BUT "N$"'S WARRIORS WERE TOO";:PRINT" CLOSE TO "S$"'S TROOPS.":PRINTN$" LOST"D"MEN.":GOTO540:ELSEGOTO540 215 CLS:PRINT"TROOPS ADVANCING!!":FORX=1TO1000:NEXTX:PRINT:H=11:GOSUB9000 220 D=RND(4500):SW=SW-D:PRINT:PRINT:PRINT:GOSUB815:PRINTS$" LOST"D"MEN, AND":D=RND(4500):NW=NW-D:PRINTN$" LOST"D"OF HIS":PRINT"WARRIORS IN THIS BATTLE.":GOTO540 225 CLS:IFNS<1THENPRINT:PRINT"YOU DON'T HAVE ONE!":GOTO540:ELSEPRINT"CATAPULT FIRED!!":PRINT"FIRE AT HIS C)astle OR HIS M)en?" 230 A$=INKEY$:IFA$="C"THENPRINT"*CASTLE*":GOSUB760:GOTO235:ELSEIFA$="M"THENPRINT"*MEN*":GOSUB760:GOTO240:ELSE230 235 X=RND(10):IFX=5THENPRINT"IT BACKFIRED!":D=RND(1000):N=N-D:PRINTN$" LOST"D"HIT POINTS!":GOTO540:ELSEX=RND(2):IFX=2THENH=6:GOSUB9000:GOTO2000:ELSEH=5:GOSUB9000:D=RND(11000):S=S-D:GOSUB815:CLS:PRINTS$"'S CASTLE LOST"D"HIT POINTS!" 240 X=RND(3):IFX<3THENPRINT"HIS WARRIORS GIVE A SIGH OF RELIEF!YOU MISSED THEM!":GOTO540:ELSED=RND(11000):SW=SW-D:PRINT:PRINTS$" LOST"D"OF HIS WARRIORS!":GOTO540 245 CLS:PRINT"HIRING CIVILIANS":PRINT 250 IFNC=0THENPRINT"NO ONE LEFT TO RECRUIT!":GOTO 540 255 PRINT"HOW MANY DO YOU NEED ?" 260 INPUT A:IF A>NC THENPRINT"THERE ARE ONLY"NC"!":GOTO540 :ELSENC=NC-A:NW=NW+A:GOSUB785:PRINT"THEY'RE HEADED FOR THE FRONT!":GOTO540 265 CLS:PRINT"BUYING CANNON":PRINT 270 GOSUB780:PRINT"A LOUD HORN IS BLOWN BELOW. ONE OF THE MERCHANTS ASKS HOW MANY WOULD YOU LIKE?" 275 X=RND(100):PRINT"CANNON COST $";X"EACH" 280 INPUTA:A1=A:A1=A1*X:IFA1>NM THENPRINT"YOU DON'T HAVE ENOUGH GOLD SIRE!":GOTO540:ELSEPRINT"THE CANNONSMITH IS LOADING YOUR WAGONS!":NM=NM-A1:CN=CN+A:GOTO540 285 PRINT@640,"F)ire Can. A)dvance C)atapult H)ire Civ. B)uy Can. I)nfiltrt R)elease Warriors" 290 IFS$="COMPUTER"THENGOSUB816:GOSUB505:GOTO300:ELSEA$=INKEY$:IFA$=""THEN290:ELSECLS:GOSUB505:GOSUB670:IFA$="F"THEN320:ELSEIFA$="A"THEN365:ELSEIFA$="C"THEN375:ELSEIFA$="H"THEN395:ELSEIFA$="B"THEN415:ELSEIFA$="I"THEN580:ELSEIFA$="R"THEN295:ELSE285 295 IFS$="COMPUTER"THEN290:ELSECLS:PRINT"RELEASING WARRIORS":PRINT:PRINT"HOW MANY ARE LEAVING?":INPUT A:IF A>SW THEN295:ELSE SW=SW-A:GOSUB775:PRINT"THEY'RE GLAD TO GO HOME!":GOTO540 300 IF NS>=1AND SW<11000AND SC>=1THEN310:ELSEIFSW<8000AND SC>=1THEN310:ELSEIF CS<1AND SM>4999THEN315:ELSEIF NS>=1AND SW<11000AND SM>9999AND I1>=1THEN580:ELSEIFSW<8000AND SM>9999AND I1>=1THEN580:ELSEIF NS>=1AND S<11000AND SM>9999AND I1>=1THEN580:ELSE305 305 IF S<8000AND SM>9999AND I1>=1THEN580:ELSEIF NW<3000AND SW>6000THEN365:ELSEIF SS>=1THEN375:ELSEIF CS>=1THEN320:ELSE365 310 IFSW<11000THEN D=11000:X=D-SW:IFSC>X THENCLS:PRINT"HIRING"X"CIVILIANS":SW=11000:SC=SC-X:GOSUB785:GOTO540:ELSEIFSW<8000ANDSC>50THENCLS:PRINT"HIRING"SC"CIVILIANS":GOSUB785:SW=SW+SC:SC=0:GOTO540:ELSE315 315 IFCS<1ANDSM>5000THEND=RND(50):A1=D*100:CS=CS+100:SM=SM-A1:CLS:PRINT"BUYING 100 CANNON AT $"D"EACH.":GOSUB780:GOTO540 320 CLS:PRINT"***#####!!!!! * CANNON FIRED!" 325 IFCS<=0THENPRINT"YOU HAVE NONE LEFT":GOTO540:ELSEPRINT"AT HIS M)en OR HIS C)astle?":PRINT 330 IFS$="COMPUTER"THEN335:ELSEA$=INKEY$:IFA$=""THEN330:ELSEIFA$="C"THEN340:ELSEIFA$="M"THEN355 335 IF N<NW THEN340:ELSE355 340 PRINT"*CASTLE*":GOSUB760:V=RND(3):IFV=1THENH=4:GOSUB9000:GOTO2000:ELSEH=3:GOSUB9000:D=RND(5000):N=N-D:GOSUB815:CLS:PRINT:PRINT"BOOOMMM!":PRINTN$" LOST"D"HIT POINTS!":D=RND(100):CN=CN-D:PRINT"AS WELL AS"D"CANNON":D=RND(99) 345 NC=NC-D:PRINT"AND";D"CIVILIANS":IFNS<1THENGOTO540:ELSED=RND(10):IFD<4THENPRINT"***!AND YOUR CATAPULT!***":NS=NS-1:IFNS<1THENNS=0:ELSE NS=NS:GOTO540:ELSE540 350 GOTO 540 355 PRINT"*MEN*":GOSUB760:V=RND(3):IFV=1THENGOSUB817:GOTO540:ELSED=RND(5000):NW=NW-D:PRINTN$" LOST"D"MEN!":IFD>3000THEND=RND(3000):SW=SW-D:PRINT"BUT "S$"'S WARRIORS WERE TOO";:PRINT" CLOSE TO "N$"'S TROOPS.":PRINTS$" LOST"D"MEN." 360 GOTO540 365 CLS:PRINT"TROOPS ADVANCING!!":FORX=1TO1000:NEXTX:PRINT:H=11:GOSUB9000 370 D=RND(4500):NW=NW-D:PRINT:PRINT:PRINT:GOSUB815:PRINTN$" LOST"D"MEN, AND":D=RND(4500):SW=SW-D:PRINTS$" LOST"D"OF HIS TROOPS":PRINT"IN THIS BATTLE.":GOTO540 375 IFS$="COMPUTER"ANDSS<1THEN290:ELSECLS:IFSS<1THENPRINT:PRINT"YOU DON'T HAVE ONE!":GOTO540:ELSEPRINT"CATAPULT FIRED!!":PRINT"FIRE AT HIS C)astle OR HIS M)en?" 380 IFS$="COMPUTER"AND N<NW THENPRINT"*CASTLE*":GOSUB760:GOTO385:ELSEIFS$="COMPUTER"THENPRINT"*MEN*":GOSUB760:GOTO390:ELSEA$=INKEY$:IFA$="C"THENPRINT"*CASTLE*":GOSUB760:GOTO385:ELSEIFA$="M"THENPRINT"*MEN*":GOSUB760:GOTO390:ELSE380 385 X=RND(10):IFX=5THENPRINT"IT BACKFIRED!":D=RND(1000):S=S-D:PRINTS$" LOST"D"HIT POINTS!":GOTO540:ELSEX=RND(2):IFX=2THENH=8:GOSUB9000:GOTO2000:ELSEH=7:GOSUB9000:D=RND(11000):N=N-D:GOSUB815:CLS:PRINTN$"'S CASTLE LOST"D"HIT POINTS!" 390 X=RND(3):IFX<3THENPRINT"HIS WARRIORS GIVE A SIGH OF RELIEF!YOU MISSED THEM!":GOTO540:ELSED=RND(11000):NW=NW-D:PRINTN$" LOST"D"OF HIS WARRIORS!":GOTO540 395 CLS:PRINT"HIRING CIVILIANS..":PRINT 400 IFSC<=0THENPRINT"NO ONE LEFT, SIRE.":GOTO540 405 PRINT"HOW MANY DO YOU WANT?" 410 INPUTA:IFA>SC THENPRINT"YOU ONLY HAVE"SC"CIVILIANS!":GOTO540:ELSESC=SC-A:SW=SW+A:GOSUB785:PRINT"THEY'RE DONNING THEIR ARMOUR!":GOTO540 415 PRINT"BUYING CANNON":PRINT 420 GOSUB780:PRINT"A TRUMPET'S BLARE COMES UP FROM THE VILLAGE. THE CANNONSMITH WANTS TO KNOW HOW MANY?" 425 X=RND(100):PRINT"CANNON COST $"X"EACH." 430 INPUTA:A1=A:A1=A1*X:IFA1>SM THENPRINT"NOT ENOUGH CASH ON HAND!":GOTO540:ELSEPRINT"THEY'VE BEEN ADDED TO YOUR ARSENAL!":SM=SM-A1:CS=CS+A:GOTO540 435 M5=M5+2:IFM5=12THENCLS:PRINT"PAYDAY!":GOSUB795:PRINT"$2.00 PER WARRIOR IS BEING DEDUCTED,FROM YOUR TREASURIES":PRINT:M5=0:P=NW*2:P1=SW*2:NM=NM-P:SM=SM-P1:IFNM<=0AND SM<=0THEN450:ELSEIFNM<=0THEN445:ELSEIF SM<=0THEN440:ELSEGOTO535:ELSERETURN 440 X=RND(2):IFX=1THEND=RND(32767):SW=SW-D:PRINTD;"OF ";S$"'S MEN HAVE DIED OF STARVATION":GOTO535:ELSED=RND(32767):SW=SW-D:NW=NW+D:PRINTD;"OF "S$"'S MEN JOINED "N$"'S ARMY.HE CAN'T PAY THEM!":GOTO535 445 X=RND(2):IFX=1THEND=RND(32767):NW=NW-D:PRINTD;"OF "N$"'S MEN JUST PERISHED FROM HUNGER":GOTO535:ELSED=RND(32767):NW=NW-D:SW=SW+D:PRINTD;"OF "N$"'S MEN SWITCHED SIDES- "N$" CAN'T PAY THEM!":GOTO535 450 X=RND(2):IFX=1THEND=RND(5000):NW=NW-D:PRINTD"OF "N$"'S MEN JUST DIED OF STARVATION- HE CAN'T PAY THEM!":GOTO455:ELSEPRINTN$" CAN'T PAY HIS MEN, BUT THEY REMAIN LOYAL!":GOTO455 455 X=RND(2):IFX=1THEND=RND(5000):SW=SW-D:PRINTD"OF "S$"'S MEN HAVE DIED FROM MALNUTRITION- HE CAN'T PAY THEM!":GOTO535:ELSEPRINTS$" CAN'T PAY HIS MEN, BUT THEY REMAIN LOYAL!":GOTO535 460 PRINT:PRINT:INPUT"PRESS < ENTER >...";A:RETURN 465 CLS:PRINT"SORRY, "N$".":GOSUB770:PRINT:PRINT"YOUR WARRIORS HAVE ALL BEEN KILLED. YOUR CASTLE HAS BEEN TAKEN OVER BY "S$"'S TROOPS.":Y=2:GOTO615 470 CLS:PRINT"SORRY, "S$".":GOSUB 770:PRINT:PRINT"ALL OF YOUR WARRIORS ARE DEAD. YOUR CASTLE HAS BEEN OCCUPIED BY "N$" 'S FORCES.":Y=1:GOTO615 475 X=RND(100):IFX>15THENRETURN:ELSE R=R+1:IF R>7 THENRETURN:ELSECLS:PRINT@20,"**! A CHEER GOES UP !**":GOSUB790:PRINT:PRINTN$"'S FATHER JUST BROUGHT-":P=RND(7) 480 IFP=1THENX=RND(100):CN=CN+X:PRINTX;C$:GOTO535:ELSEIFP=2THENX=RND(10000):NW=NW+X:PRINTX;W$:GOTO535:ELSEIFP=3THENNS=NS+1:PRINT"A";D$:GOTO535:ELSEIFP=4THENX=RND(20000):N=N+X:PRINT"A CASTLE REPAIR CREW- HE NOW HAS";N;H$:GOTO535 485 IFP=5THENX=RND(30000):NM=NM+X:PRINTM$;"$";X:GOTO535:ELSEIFP=6THENX=RND(10000):NC=NC+X:PRINTX;E$:GOTO535:ELSEIFP=7THEN490 490 C5=RND(500):W5=RND(30000):NS=NS+1:H5=RND(30000):M8=RND(30000):E5=RND(10000):CN=CN+C5:NW=NW+W5:N=N+H5:NM=NM+M8:NC=NC+E5:PRINTC5;C$ 495 PRINTW5;W$:PRINT" ONE";D$:PRINT" A CASTLE REPAIR CREW WHICH RESTORES";H5;H$:PRINT" $";M8:PRINTE5;E$:X=RND(5):PRINT" AND";X;"SPIES!":I=I+X 500 GOTO535 505 X=RND(100):IFX>15THENRETURN:ELSEIFS$="COMPUTER"AND Q>=1THENGOTO300:ELSE R1=R1+1:IF R1>7 THENRETURN:ELSECLS:PRINT@20,"**! A CHEER GOES UP !**":GOSUB790:PRINT:PRINTS$"'S FATHER JUST BROUGHT-":Q=Q+1:P=RND(7) 510 IFP=1THENX=RND(100):CS=CS+X:PRINTX;C$:GOTO535:ELSEIFP=2THENX=RND(10000):SW=SW+X:PRINTX;W$:GOTO535:ELSEIFP=3THENSS=SS+1:PRINT"ONE";D$:GOTO535:ELSEIFP=4THENX=RND(20000):S=S+X:PRINT"A CASTLE REPAIR CREW- IT NOW HAS";S;H$:GOTO535 515 IFP=5THENX=RND(30000):IF SM<=0THEN SM=X :ELSE SM=SM+X:PRINTM$;"$";X:GOTO535:ELSEIFP=6THENX=RND(10000):SC=SC+X:PRINT X;E$:GOTO535:ELSEIFP=7THEN520 520 C5=RND(500):W5=RND(30000):SS=SS+1:H5=RND(30000):D=RND(30000):E5=RND(10000):CS=CS+C5:SW=SW+W5:S=S+H5:IF SM<=0THEN SM=D :ELSE SM=SM+D:SC=SC+E5 525 PRINT C5;C$:PRINTW5;W$:PRINT" ONE";D$:PRINT" A CASTLE REPAIR CREW WHICH RESTORES";H5;H$:PRINT" $";D :PRINTE5;E$:X=RND(5):PRINT" AND";X;"SPIES!":I1=I1+X 530 GOTO535 535 PRINT:PRINT:INPUT"PRESS < ENTER >...";A:RETURN 540 PRINT:PRINT:INPUT"PRESS < ENTER >...";A:GOTO85 545 C$=" CANNON ":W$=" WARRIORS ":D$=" CATAPULTS ":H$=" HIT POINTS ":M$=" MONEY ":E$=" CIVILIANS ":RETURN 550 CLS:PRINT"SORRY, "N$".":GOSUB770:PRINT:PRINT" YOUR CASTLE HAS BEEN LEVELED BY KING "S$". YOU ARE FLEEING!":Y=2:GOTO615 555 CLS:PRINT"SORRY, "S$".":GOSUB770:PRINT:PRINT" YOUR CASTLE HAS BEEN DEMOLISHED BY KING "N$". YOU'VE LOST.":Y=1:GOTO615 560 CLS:PRINT"INFILTRATING":PRINT:FORX=1TO1000:NEXTX 565 IFNM<10000THENPRINT"YOU DON'T HAVE ENOUGH MONEY!":GOTO540 570 IFI2<=0THENPRINT"THEY'RE DEAD!":GOTO540:ELSEX4=RND(5):IFX4=1THEN570:ELSEI2=I2-1:H=9:GOSUB9000:PRINT:PRINT"HE HAS TO FIGHT"X4"GUARDS.":NM=NM-10000:FORX2=1TOX4:X3=RND(2) 575 IFX3<>1THENGOSUB805:PRINT"THE GUARDS KILLED HIM!!":GOTO540:ELSEGOSUB805:GOSUB810:PRINT"ONE DOWN!":NEXTX2:GOSUB805:GOSUB755:PRINT:PRINT"HE MADE IT!!":GOSUB805:GOTO600 580 CLS:PRINT"INFILTRATING":PRINT:FORX=1TO1000:NEXTX 585 IFSM<10000THENPRINT"NOT ENOUGH CASH ON HAND!":GOTO540 590 IFI1<=0THENPRINT"THEY'RE DEAD!":GOTO540:ELSEX4=RND(5):IFX4=1THEN590:ELSEI1=I1-1:H=10:GOSUB9000:PRINT:PRINT"HE HAS TO FIGHT"X4"GUARDS.":SM=SM-10000:FORX2=1TOX4:X3=RND(2) 595 IFX3<>1THENGOSUB805:PRINT"THE GUARDS KILLED HIM!!":GOTO540:ELSEGOSUB805:GOSUB810:PRINT"ONE DOWN!":NEXTX2:GOSUB805:GOSUB755:PRINT:PRINT"HE MADE IT!!":GOSUB805:GOTO605 600 CLS:PRINT@256,"****************************************************************":PRINT " ";N$"'S INFILTRATOR":PRINT " KILLED KING "S$"!!":PRINT:PRINT"****************************************************************":GOSUB770:Y=1:GOTO615 605 CLS:PRINT@256,"***************************************************************":PRINT" ";S$"'S INFILTRATOR":PRINT " KILLED KING "N$"!!":PRINT:PRINT"***************************************************************":GOSUB770:Y=2:GOTO615 610 RETURN 615 GOSUB815:CC$="+MERCENARY+":MM$="+FOOT SOLDIER+":L$="+MASTER.GUNNER+":C1$="+SAR'MAJOR+":BG$="+PLATOON LEADER+":MG$="*SWORDMASTER*":LG$="*WAR-LORD*":G1$="*EMPEROR*":E1$="*GRAND EMPEROR*":GE$="**SUPREME OVERLORD**":IFY=1THEN625:ELSE635 620 REMCLS 625 WR=WR+1:CLS:PRINTN$;"'S RANK IS NOW:";:IFWR=1THENPRINTCC$:ELSEIFWR=2PRINTMM$:ELSEIFWR=3PRINTL$:ELSEIFWR=4PRINTC1$:ELSEIFWR=5THENPRINTBG$:ELSEIFWR=6PRINTMG$:ELSEIFWR=7PRINTLG$:ELSEIFWR=8PRINTG1$:ELSEIFWR=9PRINTE1$:ELSEIFWR=10PRINTGE$:GOTO660 630 GOTO 650 635 ER=ER+1:CLS:PRINTS$"'S RANK IS NOW:";:IFER=1THENPRINTCC$:ELSEIFER=2PRINTMM$:ELSEIFER=3PRINTL$:ELSEIFER=4PRINTC1$:ELSEIFER=5PRINTBG$:ELSEIFER=6PRINTMG$:ELSEIFER=7PRINTLG$:ELSEIFER=8PRINTG1$:ELSEIFER=9PRINTE1$:ELSEPRINTGE$:GOTO665 640 REM 645 IFER<10THENGOSUB735:GOTO650 650 PRINT:PRINT"WANT ANOTHER GAME?":INPUT"IT CAN BE ANY TWO PLAYERS...";A$:IFA$=""THEN650:ELSEIFA$="Y"THEN655:ELSE1000 655 PRINT:INPUT" PRESS enter TO KEEP THE SAME PLAYERS AND RANKS. IF YOU'D LIKE TO BEGIN AGAIN WITH NEW BATTLERS,SIMPLY TYPE THE WORD new...";A$:IFA$="NEW"THEN39:ELSE55 660 PRINT:PRINTS$"'S RANK ENDS AT":PRINT"RANK "ER".":PRINT:PRINTN$" HOWEVER, HAS RISEN FAR":PRINT"ABOVE KINGMANSHIP AND HAS BEEN GIVEN COMMAND OF THE ENTIRE COUNTRY!!!":GOSUB815:GOSUB816:GOTO1000 665 PRINT:PRINTS$", HOWEVER, HAS RISEN FAR":PRINT"ABOVE KINGMANSHIP AND HAS BEEN GIVEN CONTROL OF THE ENTIRE COUNTRY!!":GOSUB815:GOSUB816:GOTO1000 670 IFNW<10000 OR N<10000 OR SW<10000 OR S<10000THENRETURN::ELSEX=RND(1000):IFX>=500ANDX<=515THEN675:ELSEX=RND(1000):IFX>=500ANDX<=515THEN700:ELSERETURN 675 CLS:FORX=1TO100:NEXTX:PRINT"TORRENTIAL RAINS CAUSE FLOODING!" 680 GOSUB815:D=RND(10000):NW=NW-D:PRINTN$" LOST-":PRINTD"MEN":D=RND(10000):N=N-D:PRINTD"HIT POINTS":D=RND(250):CN=CN-D:PRINTD"CANNON" 685 D=RND(1000):NC=NC-D:PRINTD"CIVILIANS" 690 GOSUB810:PRINTS$" LOST-":D=RND(10000):SW=SW-D:PRINTD"MEN":D=RND(10000):S=S-D:PRINTD"HIT POINTS":D=RND(250):CS=CS-D:PRINTD"CANNON" 695 SC=SC-D:PRINTD"CIVILIANS":GOTO535:RETURN 700 GOSUB815:CLS:PRINT"DRUDGERY! THE FOOD HAS GONE ROTTEN!,THERE IS A PLAGUE!":PRINT:GOSUB810 705 PRINTN$" LOST-":D=RND(10000):NW=NW-D:PRINTD"MEN":D=RND(10000):N=N-D:PRINTD"HIT POINTS":D=RND(1000):NC=NC-D:IFNC<=0THENNC=0:ELSE NC=NC 710 PRINTD"CIVILIANS":GOSUB810 715 PRINTS$" LOST-":D=RND(10000):SW=SW-D:PRINTD"MEN":D=RND(10000):S=S-D:PRINTD"HIT POINTS":D=RND(1000):SC=SC-D:PRINTD"CIVILIANS":GOTO535 720 GOTO540 725 IFNW<=0THEN465:ELSEIFN<=0THEN550:ELSE730 730 IFSW<=0THEN470:ELSEIFS<=0THEN555:ELSERETURN 735 GOSUB815:RETURN 740 REM:IFY=1THENWR=WR+1ELSEWR=WR:RETURN 745 REM:IFY=2THENER=ER+1ELSEER=ER:RETURN 750 GOTO650 755 GOSUB805:RETURN 760 GOSUB805:RETURN 765 GOSUB900 770 GOSUB805:RETURN 775 GOSUB805:RETURN 780 GOSUB805:RETURN 785 GOSUB805:RETURN 790 GOSUB810:RETURN 795 GOSUB805:RETURN 800 GOSUB805:RETURN 805 X=1:IFSO(SC(C1),X,1)=0THEN806 806 POKE16783,SO(SC(C1),X,2):POKE16784,SO(SC(C1),X,1):XX=USR(0):X=X+1:IFSO(SC(C1),X,1)>0THEN806:ELSERETURN 810 POKE16783,50:FORI=255TO5STEP-5:POKE16784,I:XX=USR(0):NEXT:RETURN 815 POKE16783,50:FORI=5TO255STEP5:POKE16784,I:XX=USR(0):NEXT:RETURN 816 FORX=1TO3000:NEXTX:RETURN 817 PRINT"PERHAPS THE SIGHTS ON YOUR CANNONS NEED CHECKING,YOU MISSED!!!":RETURN 818 PRINT"YOUR GUNNER'S NEED MORE PRACTICE,THEY MISSED!!!!":RETURN 900 X6=PEEK(14400) 910 PRINT@975,"press the SPACE-BAR to continue"; 929 FORI=1TO50:NEXTI 930 IF X6=128 THEN RETURN 940 PRINT@973,STRING$(35,CHR$(143)); 950 FOR I=1TO2:NEXTI 960 GOTO900 1000 CLS:PRINTCHR$(23):PRINT@8,"THIS PROGRAM COPYRIGHT":PRINT@90,"1991":PRINT@156,"BY":PRINT@210,"TED.CONNOR":PRINT:PRINT 1005 PRINT@324,"UNAUTHORIZED REPRODUCTION":PRINT@412,"IS":PRINT@458,"STRICTLY PROHIBITED":PRINT@524,"THIS MEANS YOU!":PRINT@582,"THANK YOU FOR PLAYING" 1010 FORT=1TO2000:NEXTT:PRINT:PRINT:END 2000 FORX=1TO1500:NEXT:GOTO85 9000 CLS:FORX=16195TO16206:POKEX,191:NEXT:POKE16130,191:POKE16131,191:POKE16132,191:POKE16142,191:POKE16143,191:POKE16141,191:POKE16065,176:POKE16067,176:POKE16069,176:POKE16076,176:POKE16078,176:POKE16080,176:POKE16135,170:POKE16071,170:POKE16007,171 9010 POKE16174,191:POKE16176,191:POKE16109,176:POKE16111,176:POKE16113,176:POKE16239,191:POKE16249,191:POKE16250,191:POKE16185,191:POKE16187,191:POKE16120,176:POKE16122,176:POKE16124,176:POKE16179,170:POKE16115,170:POKE16051,171:POKE16081,156 9020 POKE16108,172:POKE16082,140:FORX=16240TO16248:POKEX,191:NEXT:POKE16186,191:POKE16175,191:POKE16107,140:PRINT@896,U$;:POKE16301,131:POKE16302,131:POKE16271,131:POKE16272,131:IFH=1THEN9060:ELSEIFH=2THEN9080:ELSEIFH=3THEN9090:ELSEIFH=4THEN9120 9021 IFH=6THEN10000:ELSEIFH=5THEN9200:ELSEIFH=7THEN9220:ELSEIFH=8THEN9230:ELSEIFH=9THEN20070:ELSEIFH=10THEN20080:ELSEIFH=11THEN20090:ELSEH=0:RETURN:GOTO9080 9060 Y=34:PRINT@723,"<*";:FORX=1TO5:NEXT:PRINT@723," ";:FORX=39TO125:MM=RND(7)*.02:Y=Y+MM:SET(X,Y):SET(X+1,Y):IFPOINT(X+2,Y)=-1THEN9061:ELSEFORQQ=1TO2:NEXTQQ:RESET(X,Y):RESET(X+1,Y):NEXTX 9061 PRINT@812,CHR$(128);:FORYY=1TO10:NEXTYY:PRINT@812,"**";:FORX=1TO10:NEXTX:PRINT@812," ";:FORY=191TO128STEP-1:PRINT@814,CHR$(Y);:NEXTY:PRINT@814,CHR$(131);:RETURN 9080 Y=34:PRINT@723,"<*";:FORX=1TO5:NEXTX:PRINT@723," ";:FORX=39TO100:MM=RND(9)*.035:Y=Y+MM:SET(X,Y):SET(X+1,Y):IFPOINT(X,Y+1)=-1THEN9081:ELSEFORQQ=1TO2:NEXTQQ:RESET(X,Y):RESET(X+1,Y):NEXTX 9081 PRINT@540,"MISSED!!":RETURN 9090 Y=34:PRINT@744,"*>";:FORX=1TO50:NEXT:PRINT@744," ";:FORX=85TO33STEP-1:MM=RND(7)*.02:Y=Y+MM:SET(X,Y):SET(X-1,Y):IFPOINT(X-2,Y)=-1THEN9091:ELSEFORQQ=1TO2:NEXTQQ:RESET(X,Y):RESET(X-1,Y):NEXTX 9091 PRINT@786,CHR$(128);:FORYY=1TO10:NEXTYY:PRINT@784,"**";:FORX=1TO10:NEXTX:PRINT@784," ";:FORX=1TO2:FORY=191TO128STEP-1:PRINT@783,CHR$(Y);:NEXTY,X:PRINT@783,CHR$(131);:RETURN 9120 Y=34:PRINT@744,">*";:FORX=1TO50:NEXT:PRINT@744," ";:FORX=85TO37STEP-1:MM=RND(9)*.035:Y=Y+MM:SET(X,Y):SET(X-1,Y):IFPOINT(X,Y+1)=-1THEN9121:ELSEFORQQ=1TO2:NEXTQQ:RESET(X,Y):RESET(X-1,Y):NEXT 9121 PRINT@540,"MISSED!!":RETURN 9200 LL$=CHR$(176):A=706:FORX=1TO11:A=A-62:PRINT@A,LL$;:FORU=1TO20:PRINT@A+62," ";:NEXTU:NEXTX:FORX=1TO12:A=A+66.5:PRINT@A,LL$;:FORU=1TO20:PRINT@A-66.5," ";:NEXTU,X 9205 PRINT@A,"*";@A-65,"**";@A-129,"***";@A-192,"***";:FORX=1TO10:NEXT:PRINT@A," ";@A-65," ";@A-129," ";@A-192," ";:RETURN 9220 LL$=CHR$(176):A=763:FORX=1TO11:A=A-66:PRINT@A,LL$;:FORU=1TO20:PRINT@A+66," ";:NEXTU,X:FORX=1TO12:A=A+61.5:PRINT@A,LL$;:FORU=1TO20:PRINT@A-61.5," ";:NEXTU,X 9225 PRINT@A,"*";@A-65,"**";@A-129,"***";@A-192,"**";:FORX=1TO10:NEXT:PRINT@A," ";@A-65," ";@A-129," ";@A-192," ";:RETURN 9230 LL$=CHR$(176):A=763:FORX=1TO11:A=A-66:PRINT@A,LL$;:FORU=1TO20:PRINT@A+66," ";:NEXTU,X:FORX=1TO13:A=A+62.5:PRINT@A,LL$;:FORU=1TO20:PRINT@A-62.5," ";:NEXTU,X 9231 PRINT@A,"*";@A-65,"**";@A-126,"*";:FORX=1TO9:PRINT@A," ";@A-65," ";@A-126," ";@538,"MISSED!":RETURN 10000 LL$=CHR$(176):A=706:FORX=1TO11:A=A-62:PRINT@A,LL$;:FORU=1TO20:PRINT@A+62," ";:NEXTU:NEXTX:FORX=1TO13:A=A+67:PRINT@A,LL$;:FORU=1TO20:PRINT@A-67," ";:NEXTU,X:PRINT@A,"*";:PRINT@A-65,"**";:FORX=1TO10:PRINT@A," ";@A-65," ";@538,"MISSED!!":RETURN 20070 Y=41:FORX=30TO93:SET(X,Y):FORYY=1TO8:NEXTYY:RESET(X,Y):NEXTX:RETURN 20080 Y=41:FORX=93TO30STEP-1:SET(X,Y):FORYY=1TO8:NEXTYY:RESET(X,Y):NEXTX:RETURN 20090 PRINT@540,"CHARGE!!":Y=41:X=32:X1=89:FORXS=1TO27:X=X+1:X1=X1-1:SET(X,Y):SET(X1,Y):FORXT=1TO10:RESET(X-3,Y):RESET(X1+3,Y):NEXTXS:FORXX=191TO128STEP-1:PRINT@862,CHR$(XX);:NEXTXX:RETURN 30130 XX$="":FORI=1TO29:READA:XX$=XX$+CHR$(A):NEXTI 30140 POKE16782,201:IFPEEK(16396)=201THENPOKE16526,PEEK(VARPTR(XX$)+1):POKE16527,PEEK(VARPTR(XX$)+2):ELSEDEFUSR=PEEK(VARPTR(XX$)+1)+PEEK(VARPTR(XX$)+2)*256+65536*(PEEK(VARPTR(XX$)+2)>127):CMD"T" 30150 FORI=1TO12:X=1 30160 READA,B:IFA=0ANDB=0THENNEXTI:GOTO30180 30170 SO(I,X,1)=A:SO(I,X,2)=B:X=X+1 30180 RETURN 40000 DATA221,33,143,65,221,78,0,221,70,1,62,1,211,255,16,254,221,70,1,62,2,211,255,16,254,13,32,235,201 40010 DATA150,120,150,120,130,255,150,200,110,255,120,240,0,0 40020 DATA150,120,150,120,130,150,120,120,150,130,120,120,130,200,0,0 40030 DATA150,240,150,240,150,100,130,130,120,255,120,100,130,80,120,120,110,120,100,205,0,0 40040 DATA120,180,130,140,150,140,130,140,120,140,120,140,120,200,0,0 40050 DATA110,100,110,100,110,100,140,255,125,100,125,100,125,100,145,255,0,0 40060 DATA110,200,130,100,165,170,130,150,110,150,80,255,0,0 40070 DATA160,90,160,90,125,100,125,100,105,120,105,120,115,255,0,0 40080 DATA130,250,115,110,130,200,160,255,1,255,130,250,115,110,130,200,160,255,0,0 40090 DATA100,255,125,200,110,200,125,255,1,255,165,170,110,200,100,200,125,255,0,0 40100 DATA200,255,200,200,200,100,200,250,165,250,175,120,175,200,200,100,200,200,210,120,200,255,0,0 40110 DATA220,70,165,80,130,110,110,220,130,100,110,200,0,0 40120 DATA160,100,160,100,150,100,110,250,150,100,110,250,150,100,110,250,0,0 40130 DATA1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13 60000 FORDE=0TO250:NEXT:RETURN 60011 PRINT@978,"*I WELCOME THE CHALLENGE*";:AA$=INKEY$:GOSUB60000:GOSUB60000:IFAA$<>""THENRETURN:ELSEPRINT@978,"*I THE *";:GOSUB60000:GOSUB60000:GOTO60011 60012 PRINT@896,N$"'S TURN";:AA$=INKEY$:GOSUB60000:GOSUB60000:IFAA$<>""THENRETURN:ELSEPRINT@896,N$" 'S TURN";:GOSUB60000:GOSUB60000:GOTO60012