Created
October 29, 2016 05:31
-
-
Save ChadSki/afd9729a62bf9ca69b037a489e125166 to your computer and use it in GitHub Desktop.
Battle System
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| DECLARE SUB spellatk () | |
| DECLARE SUB Battle () | |
| DECLARE SUB border () | |
| DECLARE SUB msattle () | |
| DECLARE SUB deleteone () | |
| DECLARE SUB cdisplay () | |
| DECLARE SUB deletemenu () | |
| DECLARE SUB delete () | |
| DECLARE SUB savechar () | |
| DECLARE SUB charback () | |
| DECLARE SUB anthem () | |
| DECLARE SUB character () | |
| DECLARE SUB title () | |
| DECLARE SUB msorder () | |
| DECLARE SUB win () | |
| DECLARE SUB plyr1 () | |
| DECLARE SUB itemstart () | |
| DECLARE SUB selection () | |
| DECLARE SUB Itemclass4 () | |
| DECLARE SUB Itemclass3 () | |
| DECLARE SUB Itemclass2 () | |
| DECLARE SUB Itemclass1 () | |
| DECLARE SUB itemclass0 () | |
| DECLARE SUB turns () | |
| DECLARE SUB charback () | |
| COMMON SHARED ans.$, ws, y, ms, taken, redtep, bluestep, spellchk, skip() | |
| COMMON SHARED hp(), mp(), ws(), ws(), ms(), ms(), y(), y(), item1(), item2() | |
| COMMON SHARED item3(), armor1(), armor2(), pack1(), pack2(), pack3(), pack4() | |
| COMMON SHARED pack5(), name.$(), player.$(), plyr, call.$, dfsplyr | |
| COMMON SHARED spell1(), spell2(), spell3(), atk | |
| COMMON SHARED wsmin, wsmax, msmin, msmax, wsval, msval, mssval, item.$, rditem | |
| COMMON SHARED cv1, cvb1, cvb2, cv2, cv3, cv4, cv5, cv6, cv7, cv8, cv9, cv10, cv11, cv12 | |
| COMMON SHARED ctimes, freeze, direct, charge, mgmin, mgmax, level, mgval | |
| DIM name.$(2), ws(2), ms(2), y(2), item1(2), item2(2) | |
| DIM item3(2), armor1(2), armor2(2), pack1(2), pack2(2), pack3(2), pack4(2) | |
| DIM pack5(2), hp(2), mp(2), player.$(2), spell1(2), spell2(2), spell3(2), skip(2) | |
| cv1 = 2 'Border Color | |
| cvb1 = 2 'Menu | |
| cvb2 = 2 'Menu | |
| cv2 = 3 'Text/Heading | |
| cv3 = 9 'Text/Heading | |
| cv4 = 15 'Heading | |
| cv5 = 8 'Text/Label | |
| cv6 = 7 'Text | |
| cv7 = 4 'Graph Low | |
| cv8 = 14 'Graph Mid | |
| cv9 = 10 'Graph High | |
| cv10 = 12 'Speciality | |
| cv11 = 29 'Speciality | |
| cv12 = 1 'Speciality | |
| DO | |
| CLS | |
| SCREEN 13 | |
| CALL title | |
| DO | |
| 'CALL anthem | |
| menu.$ = INKEY$ | |
| LOOP WHILE menu.$ <> "1" AND menu.$ <> "2" AND menu.$ <> "3" AND menu.$ <> "4" AND menu.$ <> "5" AND menu.$ <> "z" | |
| IF menu.$ = "1" THEN | |
| CALL Battle | |
| END IF | |
| IF menu.$ = "2" THEN | |
| CALL character | |
| END IF | |
| IF menu.$ = "3" THEN | |
| CALL deletemenu | |
| END IF | |
| IF menu.$ = "4" THEN | |
| CALL cdisplay | |
| END IF | |
| IF menu.$ = "z" THEN | |
| CALL anthem | |
| END IF | |
| LOOP WHILE menu.$ <> "5" | |
| COLOR cv6 | |
| SUB anthem | |
| SOUND 200, 12 | |
| SOUND 150, 18 | |
| SOUND 200, 5 | |
| SOUND 20000, .5 | |
| SOUND 200, 3 | |
| SOUND 225, 2.75 | |
| SOUND 250, 2.75 | |
| SOUND 275, 3 | |
| SOUND 300, 12 | |
| SOUND 20000, 30 | |
| SOUND 400, 12 | |
| SOUND 300, 18 | |
| SOUND 400, 5 | |
| SOUND 20000, .5 | |
| SOUND 400, 3 | |
| SOUND 450, 2.75 | |
| SOUND 500, 2.75 | |
| SOUND 525, 3 | |
| SOUND 600, 14 | |
| SOUND 225, 2.75 | |
| SOUND 100, 2.75 | |
| SOUND 225, 6 | |
| END SUB | |
| SUB Battle | |
| hp(1) = 100 | |
| hp(2) = 100 | |
| mp(1) = 10 | |
| mp(2) = 10 | |
| taken = 0 | |
| plyr = 1 | |
| CALL selection | |
| IF call.$ = "q" THEN | |
| ELSE | |
| plyr = 2 | |
| CALL selection | |
| IF call.$ = "q" THEN | |
| ELSE | |
| plyr = 0 | |
| CALL turns | |
| END IF | |
| END IF | |
| END SUB | |
| SUB border | |
| COLOR cv1 | |
| PRINT "////////////////////////////////////////" | |
| PRINT "/ /" | |
| PRINT "/ /" | |
| PRINT "/ /" | |
| PRINT "/ /" | |
| PRINT "/ /" | |
| PRINT "/ /" | |
| PRINT "/ /" | |
| PRINT "/ /" | |
| PRINT "/ /" | |
| PRINT "/ /" | |
| PRINT "/ /" | |
| PRINT "/ /" | |
| PRINT "/ /" | |
| PRINT "/ /" | |
| PRINT "/ /" | |
| PRINT "/ /" | |
| PRINT "/ /" | |
| PRINT "/ /" | |
| PRINT "/ /" | |
| PRINT "////////////////////////////////////////" | |
| COLOR cv6 | |
| END SUB | |
| SUB cdisplay | |
| opencheck = 0 | |
| DIM c(9) | |
| DIM filename.$(9) | |
| CALL charback | |
| LOCATE 2, 11 | |
| PRINT " Character Stats " | |
| filename.$(1) = "c:char1.adv" | |
| filename.$(2) = "c:char2.adv" | |
| filename.$(3) = "c:char3.adv" | |
| filename.$(4) = "c:char4.adv" | |
| filename.$(5) = "c:char5.adv" | |
| filename.$(6) = "c:char6.adv" | |
| filename.$(7) = "c:char7.adv" | |
| filename.$(8) = "c:char8.adv" | |
| filename.$(9) = "c:char9.adv" | |
| LOCATE 4, 3 | |
| PRINT "Choose a character to view it's stats" | |
| OPEN "c:charlist.adv" FOR INPUT AS #1 | |
| FOR x = 1 TO 9 | |
| INPUT #1, c(x) | |
| NEXT x | |
| CLOSE #1 | |
| FOR z = 1 TO 9 | |
| IF c(z) = 0 THEN | |
| COLOR cv5 | |
| LOCATE 5 + z, 3 | |
| PRINT z | |
| ELSE | |
| COLOR cv2 | |
| OPEN filename.$(z) FOR INPUT AS #1 | |
| INPUT #1, name.$, ws, ms, y, item1, item2, item3, armor1, armor2, pack1, pack2, pack3, pack4, pack5, spell1, spell2, spell3 | |
| LOCATE 5 + z, 3 | |
| PRINT z; " - "; name.$ | |
| CLOSE #1 | |
| END IF | |
| NEXT z | |
| COLOR cv2 | |
| LOCATE 17, 3 | |
| PRINT " Q"; | |
| DO | |
| call.$ = INKEY$ | |
| LOOP WHILE call.$ <> "1" AND call.$ <> "2" AND call.$ <> "3" AND call.$ <> "4" AND call.$ <> "5" AND call.$ <> "6" AND call.$ <> "7" AND call.$ <> "8" AND call.$ <> "9" AND call.$ <> "q" | |
| IF call.$ = "1" AND c(1) = 1 THEN | |
| c(1) = 1 | |
| opencheck = 1 | |
| OPEN filename.$(1) FOR INPUT AS #1 | |
| END IF | |
| IF call.$ = "2" AND c(2) = 1 THEN | |
| c(2) = 1 | |
| opencheck = 1 | |
| OPEN filename.$(2) FOR INPUT AS #1 | |
| END IF | |
| IF call.$ = "3" AND c(3) = 1 THEN | |
| c(3) = 1 | |
| opencheck = 1 | |
| OPEN filename.$(3) FOR INPUT AS #1 | |
| END IF | |
| IF call.$ = "4" AND c(4) = 1 THEN | |
| c(4) = 1 | |
| opencheck = 1 | |
| OPEN filename.$(4) FOR INPUT AS #1 | |
| END IF | |
| IF call.$ = "5" AND c(5) = 1 THEN | |
| c(5) = 1 | |
| opencheck = 1 | |
| OPEN filename.$(5) FOR INPUT AS #1 | |
| END IF | |
| IF call.$ = "6" AND c(6) = 1 THEN | |
| c(6) = 1 | |
| opencheck = 1 | |
| OPEN filename.$(6) FOR INPUT AS #1 | |
| END IF | |
| IF call.$ = "7" AND c(7) = 1 THEN | |
| c(7) = 1 | |
| opencheck = 1 | |
| OPEN filename.$(7) FOR INPUT AS #1 | |
| END IF | |
| IF call.$ = "8" AND c(8) = 1 THEN | |
| c(8) = 1 | |
| opencheck = 1 | |
| OPEN filename.$(8) FOR INPUT AS #1 | |
| END IF | |
| IF call.$ = "9" AND c(9) = 1 THEN | |
| c(9) = 1 | |
| opencheck = 1 | |
| OPEN filename.$(9) FOR INPUT AS #1 | |
| END IF | |
| IF opencheck = 1 THEN | |
| INPUT #1, name.$, ws, ms, y, item1, item2, item3, armor1, armor2, pack1, pack2, pack3, pack4, pack5, spell1, spell2, spell3 | |
| CALL charback | |
| LOCATE 2, 11 | |
| PRINT " Character Stats " | |
| LOCATE 4, 3 | |
| PRINT name.$; " is:" | |
| highest = ws + 1 | |
| IF highest < ms + 1 THEN highest = ms + 1 | |
| IF highest < y + 1 THEN highest = y + 1 | |
| IF highest < 11 THEN highest = 11 | |
| space = highest / 11 | |
| '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~` | |
| COLOR cv2 | |
| LOCATE 6, 3 | |
| IF ws <= 3 THEN | |
| PRINT "NOT VERY "; | |
| lockr = 12 | |
| COLOR cv7 | |
| END IF | |
| IF ws >= 3.5 AND ws <= 6.5 THEN | |
| PRINT ""; | |
| lockr = 3 | |
| COLOR cv8 | |
| END IF | |
| IF ws >= 7 THEN | |
| PRINT "VERY"; | |
| lockr = 8 | |
| COLOR cv9 | |
| END IF | |
| LOCATE 6, 28 | |
| PRINT ws | |
| COLOR cv2 | |
| LOCATE 6, lockr | |
| PRINT "BATTLE ORIENTED" | |
| COLOR cv3 | |
| '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~` | |
| COLOR cv2 | |
| LOCATE 8, 3 | |
| IF ms <= 3 THEN | |
| PRINT "NOT VERY "; | |
| lockb = 12 | |
| COLOR cv7 | |
| END IF | |
| IF ms >= 3.5 AND ms <= 6.5 THEN | |
| PRINT ""; | |
| lockb = 3 | |
| COLOR cv8 | |
| END IF | |
| IF ms >= 7 THEN | |
| PRINT "VERY"; | |
| lockb = 8 | |
| COLOR cv9 | |
| END IF | |
| LOCATE 8, 28 | |
| PRINT ms | |
| COLOR cv2 | |
| LOCATE 8, lockb | |
| PRINT "MAGIC ORIENTED" | |
| COLOR cv3 | |
| '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~` | |
| COLOR cv2 | |
| LOCATE 10, 3 | |
| IF y < 3.5 THEN | |
| PRINT "NOT VERY "; | |
| locky = 12 | |
| COLOR cv7 | |
| END IF | |
| IF y >= 3.5 AND y < 7 THEN | |
| PRINT ""; | |
| locky = 3 | |
| COLOR cv8 | |
| END IF | |
| IF y >= 7 THEN | |
| PRINT "VERY"; | |
| locky = 8 | |
| COLOR cv9 | |
| END IF | |
| LOCATE 10, 28 | |
| PRINT y | |
| COLOR cv2 | |
| LOCATE 10, locky | |
| PRINT "INTELLIGENT" | |
| COLOR cv3 | |
| ':+:+:+:+:+:+:+:+:+:+:+:+:+:+:+: | |
| LOCATE 12, 5 | |
| COLOR cv5 | |
| PRINT "Weapons" | |
| COLOR cv2 | |
| rditem = item1 | |
| CALL itemstart | |
| LOCATE 13, 5 | |
| PRINT USING " \ \"; item.$ | |
| rditem = item2 | |
| CALL itemstart | |
| LOCATE 14, 5 | |
| PRINT USING " \ \"; item.$ | |
| LOCATE 16, 5 | |
| COLOR cv5 | |
| PRINT "Spells" | |
| COLOR cv2 | |
| rditem = spell1 | |
| CALL itemstart | |
| LOCATE 17, 5 | |
| PRINT USING " \ \"; item.$ | |
| rditem = spell2 | |
| CALL itemstart | |
| LOCATE 18, 5 | |
| PRINT USING " \ \"; item.$ | |
| rditem = spell3 | |
| CALL itemstart | |
| LOCATE 19, 5 | |
| PRINT USING " \ \"; item.$ | |
| LOCATE 12, 25 | |
| COLOR cv5 | |
| PRINT "Pack" | |
| COLOR cv2 | |
| rditem = pack1 | |
| CALL itemstart | |
| LOCATE 13, 25 | |
| PRINT USING " \ \"; item.$ | |
| rditem = pack2 | |
| CALL itemstart | |
| LOCATE 14, 25 | |
| PRINT USING " \ \"; item.$ | |
| rditem = pack3 | |
| CALL itemstart | |
| LOCATE 15, 25 | |
| PRINT USING " \ \"; item.$ | |
| rditem = pack4 | |
| CALL itemstart | |
| LOCATE 16, 25 | |
| PRINT USING " \ \"; item.$ | |
| rditem = pack5 | |
| CALL itemstart | |
| LOCATE 17, 25 | |
| PRINT USING " \ \"; item.$ | |
| CLOSE #1 | |
| DO: LOOP WHILE INKEY$ = "" | |
| END IF | |
| IF opencheck <> 1 AND call.$ <> "q" THEN | |
| LOCATE 17, 3 | |
| PRINT "Character does not exist!" | |
| DO: LOOP WHILE INKEY$ = "" | |
| END IF | |
| END SUB | |
| SUB character | |
| ms = 0 | |
| ws = 0 | |
| y = 0 | |
| 'Question #1 | |
| CALL charback | |
| COLOR cv2 | |
| LOCATE 4, 3 | |
| PRINT "1) DO YOU PREFER BATTLE:" | |
| LOCATE 6, 3 | |
| COLOR cv2 | |
| PRINT "A) "; | |
| COLOR cv3 | |
| PRINT "LONG-RANGE" | |
| LOCATE 7, 3 | |
| COLOR cv2 | |
| PRINT "B) "; | |
| COLOR cv3 | |
| PRINT "HAND-TO-HAND?" | |
| COLOR cv6 | |
| DO | |
| ans.$ = INKEY$ | |
| LOOP WHILE ans.$ <> "a" AND ans.$ <> "b" | |
| IF ans.$ = "a" OR ans.$ = "A" THEN | |
| ms = ms + 2 | |
| END IF | |
| IF ans.$ = "b" OR ans.$ = "B" THEN | |
| ws = ws + 2 | |
| END IF | |
| 'End question #1 | |
| '############################################################### | |
| 'Question #2 | |
| CALL charback | |
| COLOR cv2 | |
| LOCATE 4, 3 | |
| PRINT "2) ARE YOU MORE MOTIVATED BY: " | |
| LOCATE 5, 3 | |
| PRINT " "; | |
| LOCATE 7, 3 | |
| COLOR cv2 | |
| PRINT "A) "; | |
| COLOR cv3 | |
| PRINT "ACHEIVEMENTS" | |
| LOCATE 8, 3 | |
| COLOR cv2 | |
| PRINT "B) "; | |
| COLOR cv3 | |
| PRINT "KNOWLEDGE?" | |
| COLOR cv6 | |
| DO | |
| ans.$ = INKEY$ | |
| LOOP WHILE ans.$ <> "a" AND ans.$ <> "b" | |
| IF ans.$ = "a" OR ans.$ = "A" THEN | |
| ws = ws + 2 | |
| END IF | |
| IF ans.$ = "b" OR ans.$ = "B" THEN | |
| y = y + 2 | |
| END IF | |
| 'End question #2 | |
| '############################################################### | |
| 'Question #3 | |
| CALL charback | |
| COLOR cv2 | |
| LOCATE 4, 3 | |
| PRINT "3) DO YOU: " | |
| LOCATE 5, 3 | |
| PRINT " "; | |
| LOCATE 7, 3 | |
| COLOR cv2 | |
| PRINT "A) "; | |
| COLOR cv3 | |
| PRINT "CAREFULLY CONSIDER YOUR OPTIONS" | |
| LOCATE 8, 3 | |
| COLOR cv2 | |
| PRINT "B) "; | |
| COLOR cv3 | |
| PRINT "RUSH TO A DECISION?" | |
| COLOR cv6 | |
| DO | |
| ans.$ = INKEY$ | |
| LOOP WHILE ans.$ <> "a" AND ans.$ <> "b" | |
| IF ans.$ = "a" OR ans.$ = "A" THEN | |
| y = y + 2 | |
| END IF | |
| IF ans.$ = "b" OR ans.$ = "B" THEN | |
| ms = ms + 2 | |
| END IF | |
| 'End question #3 | |
| '############################################################### | |
| 'Question #4 | |
| CALL charback | |
| COLOR cv2 | |
| LOCATE 4, 3 | |
| PRINT "4) WHICH CONSTELLATION " | |
| LOCATE 5, 3 | |
| PRINT " DO YOU PREFER:" | |
| LOCATE 7, 3 | |
| COLOR cv2 | |
| PRINT "A) "; | |
| COLOR cv3 | |
| PRINT "MAGUS, THE SORCERER"; | |
| LOCATE 8, 3 | |
| COLOR cv2 | |
| PRINT "B) "; | |
| COLOR cv3 | |
| PRINT "HERUK, THE HUNTER?" | |
| COLOR cv6 | |
| DO | |
| ans.$ = INKEY$ | |
| LOOP WHILE ans.$ <> "a" AND ans.$ <> "b" | |
| IF ans.$ = "a" OR ans.$ = "A" THEN | |
| ms = ms + 1.5 | |
| END IF | |
| IF ans.$ = "b" OR ans.$ = "B" THEN | |
| ws = ws + 1.5 | |
| END IF | |
| 'End question #4 | |
| '############################################################### | |
| 'Question #5 | |
| CALL charback | |
| COLOR cv2 | |
| LOCATE 4, 3 | |
| PRINT "5) WHICH ARE YOU MORE LIKELT TO DO: " | |
| LOCATE 5, 3 | |
| PRINT " "; | |
| LOCATE 7, 3 | |
| COLOR cv2 | |
| PRINT "A) "; | |
| COLOR cv3 | |
| PRINT "BEAT UP PUNCHING BAGS" | |
| LOCATE 8, 3 | |
| COLOR cv2 | |
| PRINT "B) "; | |
| COLOR cv3 | |
| PRINT "CONTEMPLATE?" | |
| COLOR cv6 | |
| DO | |
| ans.$ = INKEY$ | |
| LOOP WHILE ans.$ <> "a" AND ans.$ <> "b" | |
| IF ans.$ = "a" OR ans.$ = "A" THEN | |
| ws = ws + 1.5 | |
| END IF | |
| IF ans.$ = "b" OR ans.$ = "B" THEN | |
| y = y + 1.5 | |
| END IF | |
| 'End question #5 | |
| '############################################################### | |
| 'Question #6 | |
| CALL charback | |
| COLOR cv2 | |
| LOCATE 4, 3 | |
| PRINT "6) WOULD YOU RATHER: " | |
| LOCATE 5, 3 | |
| PRINT " "; | |
| LOCATE 7, 3 | |
| COLOR cv2 | |
| PRINT "A) "; | |
| COLOR cv3 | |
| PRINT "WORK HARD AND GAIN" | |
| LOCATE 8, 3 | |
| COLOR cv2 | |
| PRINT "B) "; | |
| COLOR cv3 | |
| PRINT "MAGICALLY FINISH YOUR WORK" | |
| COLOR cv6 | |
| DO | |
| ans.$ = INKEY$ | |
| LOOP WHILE ans.$ <> "a" AND ans.$ <> "b" | |
| IF ans.$ = "a" OR ans.$ = "A" THEN | |
| y = y + 1.5 | |
| END IF | |
| IF ans.$ = "b" OR ans.$ = "B" THEN | |
| ms = ms + 1.5 | |
| END IF | |
| 'End question #6 | |
| '############################################################### | |
| 'Question #7 | |
| CALL charback | |
| COLOR cv2 | |
| LOCATE 4, 3 | |
| PRINT "7) WOULD YOU RATHER BE: " | |
| LOCATE 5, 3 | |
| PRINT " "; | |
| LOCATE 7, 3 | |
| COLOR cv2 | |
| PRINT "A) "; | |
| COLOR cv3 | |
| PRINT "UNHINDERED BY ARMOR" | |
| LOCATE 8, 3 | |
| COLOR cv2 | |
| PRINT "B) "; | |
| COLOR cv3 | |
| PRINT "SLOW BUT PROTECTED?" | |
| COLOR cv6 | |
| DO | |
| ans.$ = INKEY$ | |
| LOOP WHILE ans.$ <> "a" AND ans.$ <> "b" | |
| IF ans.$ = "a" OR ans.$ = "A" THEN | |
| ms = ms + 1 | |
| END IF | |
| IF ans.$ = "b" OR ans.$ = "B" THEN | |
| ws = ws + 1 | |
| END IF | |
| 'End question #7 | |
| '############################################################### | |
| 'Question #8 | |
| CALL charback | |
| COLOR cv2 | |
| LOCATE 4, 3 | |
| PRINT "8) WOULD YOU RATHER HAVE " | |
| LOCATE 5, 3 | |
| PRINT " HAVE YOUR WEAPONS: "; | |
| LOCATE 7, 3 | |
| COLOR cv2 | |
| PRINT "A) "; | |
| COLOR cv3 | |
| PRINT "EXTRA-SHARP AND BROKEN IN" | |
| LOCATE 8, 3 | |
| COLOR cv2 | |
| PRINT "B) "; | |
| COLOR cv3 | |
| PRINT "INSCRIBED WITH RUNES?" | |
| COLOR cv6 | |
| DO | |
| ans.$ = INKEY$ | |
| LOOP WHILE ans.$ <> "a" AND ans.$ <> "b" | |
| IF ans.$ = "a" OR ans.$ = "A" THEN | |
| ws = ws + 1 | |
| END IF | |
| IF ans.$ = "b" OR ans.$ = "B" THEN | |
| y = y + 1 | |
| END IF | |
| 'End question #8 | |
| '################################################################## | |
| 'Question #9 | |
| CALL charback | |
| COLOR cv2 | |
| LOCATE 4, 3 | |
| PRINT "9) WOULD YOU RATHER HAVE: " | |
| LOCATE 5, 3 | |
| PRINT " "; | |
| LOCATE 7, 3 | |
| COLOR cv2 | |
| PRINT "A) "; | |
| COLOR cv3 | |
| PRINT "A LIBRARY OF OLD SCROLLS" | |
| LOCATE 8, 3 | |
| COLOR cv2 | |
| PRINT "B) "; | |
| COLOR cv3 | |
| PRINT "A GIANT MAGIC CRYSTAL?" | |
| COLOR cv6 | |
| DO | |
| ans.$ = INKEY$ | |
| LOOP WHILE ans.$ <> "a" AND ans.$ <> "b" | |
| IF ans.$ = "a" OR ans.$ = "A" THEN | |
| y = y + 1 | |
| END IF | |
| IF ans.$ = "b" OR ans.$ = "B" THEN | |
| ms = ms + 1 | |
| END IF | |
| 'End question #9 | |
| '############################################################### | |
| 'Question #10 | |
| CALL charback | |
| COLOR cv2 | |
| LOCATE 4, 3 | |
| PRINT "10) WOULD YOU RATHER BE"; | |
| LOCATE 5, 3 | |
| PRINT " "; | |
| LOCATE 7, 3 | |
| COLOR cv2 | |
| PRINT "A) "; | |
| COLOR cv3 | |
| PRINT "INTELLIGENT" | |
| LOCATE 8, 3 | |
| COLOR cv2 | |
| PRINT "B) "; | |
| COLOR cv3 | |
| PRINT "BRAWNY?" | |
| COLOR cv6 | |
| DO | |
| ans.$ = INKEY$ | |
| LOOP WHILE ans.$ <> "a" AND ans.$ <> "b" | |
| IF ans.$ = "a" OR ans.$ = "A" THEN | |
| ms = ms + .5 | |
| END IF | |
| IF ans.$ = "b" OR ans.$ = "B" THEN | |
| ws = ws + .5 | |
| END IF | |
| 'End question #10 | |
| '############################################################### | |
| 'Question #11 | |
| CALL charback | |
| COLOR cv2 | |
| LOCATE 4, 3 | |
| PRINT "11) DO YOU PREFER: " | |
| LOCATE 5, 3 | |
| PRINT " "; | |
| LOCATE 7, 3 | |
| COLOR cv2 | |
| PRINT "A) "; | |
| COLOR cv3 | |
| PRINT "WAR MOVIES" | |
| LOCATE 8, 3 | |
| COLOR cv2 | |
| PRINT "B) "; | |
| COLOR cv3 | |
| PRINT "DOCUMENTARIES?" | |
| COLOR cv6 | |
| DO | |
| ans.$ = INKEY$ | |
| LOOP WHILE ans.$ <> "a" AND ans.$ <> "b" | |
| IF ans.$ = "a" OR ans.$ = "A" THEN | |
| ws = ws + .5 | |
| END IF | |
| IF ans.$ = "b" OR ans.$ = "B" THEN | |
| y = y + .5 | |
| END IF | |
| 'End question #11 | |
| '############################################################### | |
| 'Question #12 | |
| CALL charback | |
| COLOR cv2 | |
| LOCATE 4, 3 | |
| PRINT "12) ARE YOU MORE OF A:" | |
| LOCATE 5, 3 | |
| PRINT " "; | |
| LOCATE 7, 3 | |
| COLOR cv2 | |
| PRINT "A) "; | |
| COLOR cv3 | |
| PRINT "BUDDHIST MONK" | |
| LOCATE 8, 3 | |
| COLOR cv2 | |
| PRINT "B) "; | |
| COLOR cv3 | |
| PRINT "GLADIATOR?" | |
| COLOR cv6 | |
| DO | |
| ans.$ = INKEY$ | |
| LOOP WHILE ans.$ <> "a" AND ans.$ <> "b" | |
| IF ans.$ = "a" OR ans.$ = "A" THEN | |
| y = y + .5 | |
| END IF | |
| IF ans.$ = "b" OR ans.$ = "B" THEN | |
| ms = ms + .5 | |
| END IF | |
| 'End question #12 | |
| '############################################################### | |
| CALL charback | |
| LOCATE 4, 3 | |
| PRINT "New Character is:" | |
| highest = ms + 1 | |
| IF highest < ws + 1 THEN highest = ws + 1 | |
| IF highest < y + 1 THEN highest = y + 1 | |
| IF highest < 11 THEN highest = 11 | |
| space = highest / 11 | |
| '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~` | |
| COLOR cv2 | |
| LOCATE 8, 3 | |
| IF ws <= 3 THEN | |
| PRINT "NOT VERY "; | |
| lockr = 12 | |
| COLOR cv7 | |
| END IF | |
| IF ws >= 3.5 AND ws <= 6.5 THEN | |
| PRINT ""; | |
| lockr = 3 | |
| COLOR cv8 | |
| END IF | |
| IF ws >= 7 THEN | |
| PRINT "VERY"; | |
| lockr = 8 | |
| COLOR cv9 | |
| END IF | |
| LOCATE 8, 28 | |
| FOR graphr = 1 TO (ws + 1) / space | |
| PRINT CHR$(219); | |
| NEXT graphr | |
| COLOR cv2 | |
| LOCATE 8, lockr | |
| PRINT "BATTLE ORIENTED" | |
| COLOR cv3 | |
| '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~` | |
| COLOR cv2 | |
| LOCATE 10, 3 | |
| IF ms <= 3 THEN | |
| PRINT "NOT VERY "; | |
| lockb = 12 | |
| COLOR cv7 | |
| END IF | |
| IF ms >= 3.5 AND ms <= 6.5 THEN | |
| PRINT ""; | |
| lockb = 3 | |
| COLOR cv8 | |
| END IF | |
| IF ms >= 7 THEN | |
| PRINT "VERY"; | |
| lockb = 8 | |
| COLOR cv9 | |
| END IF | |
| LOCATE 10, 28 | |
| FOR graphb = 1 TO (ms + 1) / space | |
| PRINT CHR$(219); | |
| NEXT graphb | |
| COLOR cv2 | |
| LOCATE 10, lockb | |
| PRINT "MAGIC ORIENTED" | |
| COLOR cv3 | |
| '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~` | |
| COLOR cv2 | |
| LOCATE 12, 3 | |
| IF y < 3.5 THEN | |
| PRINT "NOT VERY "; | |
| locky = 12 | |
| COLOR cv7 | |
| END IF | |
| IF y >= 3.5 AND y < 7 THEN | |
| PRINT ""; | |
| locky = 3 | |
| COLOR cv8 | |
| END IF | |
| IF y >= 7 THEN | |
| PRINT "VERY"; | |
| locky = 8 | |
| COLOR cv9 | |
| END IF | |
| LOCATE 12, 28 | |
| FOR graphy = 1 TO (y + 1) / space | |
| PRINT CHR$(219); | |
| NEXT graphy | |
| COLOR cv2 | |
| LOCATE 12, locky | |
| PRINT "INTELLIGENT" | |
| COLOR cv3 | |
| ':+:+:+:+:+:+:+:+:+:+:+:+:+:+:+: | |
| LOCATE 14, 3 | |
| PRINT "SAVE THIS CHARACTER? (Y/N)" | |
| DO | |
| call.$ = INKEY$ | |
| LOOP WHILE call.$ <> "y" AND call.$ <> "n" | |
| IF call.$ = "y" THEN | |
| CALL savechar | |
| END IF | |
| END SUB | |
| SUB charback | |
| CLS | |
| CALL border | |
| COLOR cv2 | |
| LOCATE 2, 11 | |
| PRINT "CREATE A CHARACTER" | |
| END SUB | |
| SUB delete | |
| OPEN "c:charlist.adv" FOR OUTPUT AS #1 | |
| FOR x = 1 TO 9 | |
| WRITE #1, slot | |
| NEXT x | |
| CLOSE #1 | |
| END SUB | |
| SUB deletemenu | |
| CLS | |
| CALL border | |
| COLOR cv2 | |
| LOCATE 3, 11 | |
| PRINT "DELETE A CHARACTER" | |
| COLOR cv6 | |
| LOCATE 8, 7 | |
| PRINT "1)"; | |
| COLOR cv1 | |
| PRINT " Delete one character" | |
| LOCATE 9, 7 | |
| COLOR cv6 | |
| PRINT "2)"; | |
| COLOR cv1 | |
| PRINT " Reset all characters" | |
| DO | |
| delmenu.$ = INKEY$ | |
| LOOP UNTIL delmenu.$ = "1" OR delmenu.$ = "2" | |
| IF delmenu.$ = "1" THEN CALL deleteone | |
| IF delmenu.$ = "2" THEN CALL delete | |
| END SUB | |
| SUB deleteone | |
| DIM c(9) | |
| DIM filename.$(9) | |
| CALL charback | |
| filename.$(1) = "c:char1.adv" | |
| filename.$(2) = "c:char2.adv" | |
| filename.$(3) = "c:char3.adv" | |
| filename.$(4) = "c:char4.adv" | |
| filename.$(5) = "c:char5.adv" | |
| filename.$(6) = "c:char6.adv" | |
| filename.$(7) = "c:char7.adv" | |
| filename.$(8) = "c:char8.adv" | |
| filename.$(9) = "c:char9.adv" | |
| LOCATE 4, 3 | |
| PRINT "Choose a character to delete" | |
| OPEN "c:charlist.adv" FOR INPUT AS #1 | |
| FOR x = 1 TO 9 | |
| INPUT #1, c(x) | |
| NEXT x | |
| CLOSE #1 | |
| FOR z = 1 TO 9 | |
| IF c(z) = 0 THEN | |
| COLOR cv5 | |
| LOCATE 5 + z, 3 | |
| PRINT z | |
| ELSE | |
| COLOR cv2 | |
| OPEN filename.$(z) FOR INPUT AS #1 | |
| INPUT #1, name.$, ws, ms, y, item1, item2, item3, armor1, armor2, pack1, pack2, pack3, pack4, pack5, spell1, spell2, spell3 | |
| LOCATE 5 + z, 3 | |
| PRINT z; " - "; name.$ | |
| CLOSE #1 | |
| END IF | |
| NEXT z | |
| COLOR cv2 | |
| LOCATE 17, 3 | |
| PRINT " Q"; | |
| DO | |
| call.$ = INKEY$ | |
| LOOP WHILE call.$ <> "1" AND call.$ <> "2" AND call.$ <> "3" AND call.$ <> "4" AND call.$ <> "5" AND call.$ <> "1" AND call.$ <> "6" AND call.$ <> "7" AND call.$ <> "8" AND call.$ <> "9" AND call.$ <> "q" | |
| del = ASC(call.$) | |
| del = del - 48 | |
| OPEN "c:charlist.adv" FOR OUTPUT AS #1 | |
| FOR w = 1 TO 9 | |
| IF w = del THEN c(w) = 0 | |
| WRITE #1, c(w) | |
| NEXT w | |
| CLOSE #1 | |
| END SUB | |
| SUB itemclass0 | |
| 'Item Class 0: battle Weapons | |
| 'Nothing | |
| IF rditem = 0 THEN | |
| item.$ = "Nothing" | |
| wsmin = 0 | |
| wsmax = 0 | |
| msmin = 0 | |
| msmax = 0 | |
| msbst = 0 | |
| END IF | |
| 'Dagger | |
| IF rditem >= 1 AND rditem <= 999 THEN | |
| item.$ = "Dagger" | |
| wsmin = 1 | |
| wsmax = 12 | |
| msmin = 0 | |
| msmax = 0 | |
| msbst = 0 | |
| IF rditem = 2 THEN | |
| item.$ = "Red Dagger" | |
| wsmax = wsmax + redstep | |
| msmax = msmax + redstep | |
| END IF | |
| IF rditem = 3 THEN | |
| item.$ = "Blue Dagger" | |
| wsmin = wsmin + bluestep | |
| msmin = msmin + bluestep | |
| END IF | |
| END IF | |
| 'Sword | |
| IF rditem >= 1000 AND rditem <= 1999 THEN | |
| item.$ = "Sword" | |
| wsmin = 2 | |
| wsmax = 17 | |
| msmin = 1 | |
| msmax = 7 | |
| msbst = 4 | |
| IF rditem = 2 THEN | |
| item.$ = "Red Sword" | |
| wsmax = wsmax + redstep | |
| msmax = msmax + redstep | |
| END IF | |
| IF rditem = 3 THEN | |
| item.$ = "Blue Sword" | |
| wsmin = wsmin + bluestep | |
| msmin = msmin + bluestep | |
| END IF | |
| END IF | |
| 'Longsword | |
| IF rditem >= 2000 AND rditem <= 2999 THEN | |
| item.$ = "Longsword" | |
| wsmin = 5 | |
| wsmax = 21 | |
| msmin = 4 | |
| msmax = 6 | |
| msbst = 5 | |
| IF rditem = 2001 THEN | |
| item.$ = "Red Longsword" | |
| wsmax = wsmax + redstep | |
| msmax = msmax + redstep | |
| END IF | |
| IF rditem = 2002 THEN | |
| item.$ = "Blue Longsword" | |
| wsmin = wsmin + bluestep | |
| msmin = msmin + bluestep | |
| END IF | |
| END IF | |
| END SUB | |
| SUB Itemclass1 | |
| 'Item Class 1: Magic Weapons | |
| 'Wooden Staff | |
| IF rditem >= 10000 AND rditem <= 10999 THEN | |
| item.$ = "Wooden Staff" | |
| wsmin = 1 | |
| wsmax = 7 | |
| msmin = 2 | |
| msmax = 9 | |
| msbst = 5 | |
| IF rditem = 10001 THEN | |
| item.$ = "Red Staff" | |
| wsmax = wsmax + redstep | |
| msmax = msmax + redstep | |
| END IF | |
| IF rditem = 10002 THEN | |
| item.$ = "Blue Staff" | |
| wsmin = wsmin + bluestep | |
| msmin = msmin + bluestep | |
| END IF | |
| END IF | |
| 'Battlestaff | |
| IF rditem >= 11000 AND rditem <= 11999 THEN | |
| item.$ = "Battlestaff" | |
| wsmin = 1 | |
| wsmax = 12 | |
| msmin = 4 | |
| msmax = 25 | |
| msbst = 7 | |
| IF rditem = 11001 THEN | |
| item.$ = "Red Battlestaff" | |
| wsmax = wsmax + redstep | |
| msmax = msmax + redstep | |
| END IF | |
| IF rditem = 11002 THEN | |
| item.$ = "Blue Battlestaff" | |
| wsmin = wsmin + bluestep | |
| msmin = msmin + bluestep | |
| END IF | |
| END IF | |
| END SUB | |
| SUB Itemclass2 | |
| 'Item Class 2: Magic Spells | |
| 'Water | |
| IF rditem >= 20000 AND rditem <= 20999 THEN | |
| item.$ = "Water" | |
| level = 1 | |
| spellchk = 1 | |
| ctimes = 1 | |
| freeze = 0 | |
| direct = 0 | |
| mpcost = 2 | |
| mgmin = 10 | |
| mgmax = 25 | |
| END IF | |
| 'Fire | |
| IF rditem <= 21000 AND rditem <= 21999 THEN | |
| item.$ = "Fire" | |
| level = 1 | |
| spellchk = 1 | |
| ctimes = 3 | |
| freeze = 0 | |
| direct = 0 | |
| mpcost = 5 | |
| mgmin = 8 | |
| mgmax = 15 | |
| END IF | |
| 'Earth | |
| IF rditem <= 22000 AND rditem <= 22999 THEN | |
| item.$ = "Earth" | |
| level = 1 | |
| spellchk = 1 | |
| ctimes = 1 | |
| freeze = 0 | |
| direct = 0 | |
| mpcost = 5 | |
| mgmin = 50 | |
| mgmax = 80 | |
| END IF | |
| 'Air | |
| IF rditem <= 23000 AND rditem <= 23999 THEN | |
| item.$ = "Air" | |
| level = 1 | |
| spellchk = 1 | |
| ctimes = 1 | |
| freeze = 0 | |
| direct = 0 | |
| mpcost = 1 | |
| mgmin = 0 | |
| mgmax = 30 | |
| END IF | |
| 'Ice | |
| IF rditem >= 24000 AND rditem <= 24999 THEN | |
| item.$ = "Ice" | |
| level = 1 | |
| spellchk = 1 | |
| ctimes = 1 | |
| freeze = 1 | |
| direct = 0 | |
| mpcost = 6 | |
| mgmin = 3 | |
| mgmax = 7 | |
| END IF | |
| END SUB | |
| SUB Itemclass3 | |
| 'Item Class 0: Amulets / Modifiers | |
| ' 'Amulet | |
| ' IF rditem >= 30000 AND rditem <= 30999 THEN | |
| ' | |
| ' wsmin = 0 | |
| ' wsmax = 0 | |
| ' msmin = 0 | |
| ' msmax = 0 | |
| ' msbst = 0 | |
| ' | |
| ' wsval = (wsmin+wsmax) + (msmin + msmax)/2 + msbst | |
| ' msval = (msmin+msmax) + (wsmin + wsmax)/2 + msbst | |
| ' mssval = msbst + (wsmin+wsmax)/2+(msmin+msmax)/2 | |
| ' | |
| ' | |
| ' END IF | |
| ' | |
| ' 'Ring | |
| ' IF rditem >= 1000 AND rditem <= 1999 THEN | |
| ' | |
| ' wsmin = 0 | |
| ' wsmax = 0 | |
| ' msmin = 0 | |
| ' msmax = 0 | |
| ' msbst = 0 | |
| ' | |
| ' wsval = (wsmin+wsmax) + (msmin + msmax)/2 + msbst | |
| ' msval = (msmin+msmax) + (wsmin + wsmax)/2 + msbst | |
| ' mssval = msbst + (wsmin+wsmax)/2+(msmin+msmax)/2 | |
| ' | |
| ' | |
| ' END IF | |
| ' | |
| ' 'Talisman | |
| ' IF rditem >= 2000 AND rditem <= 2999 THEN | |
| ' | |
| ' wsmin = 0 | |
| ' wsmax = 0 | |
| ' msmin = 0 | |
| ' msmax = 0 | |
| ' msbst = 0 | |
| ' | |
| ' wsval = (wsmin+wsmax) + (msmin + msmax)/2 + msbst | |
| ' msval = (msmin+msmax) + (wsmin + wsmax)/2 + msbst | |
| ' mssval = msbst + (wsmin+wsmax)/2+(msmin+msmax)/2 | |
| ' | |
| ' END IF | |
| END SUB | |
| SUB Itemclass4 | |
| 'Item Class 0: Armor / Clothing | |
| 'Peasant Robes | |
| IF rditem <= 4000 AND rditem <= 40999 THEN | |
| wsmin = 0 | |
| wsmax = 0 | |
| msmin = 0 | |
| msmax = 0 | |
| msbst = 0 | |
| wsval = (wsmin + wsmax) + (msmin + msmax) / 2 + msbst | |
| msval = (msmin + msmax) + (wsmin + wsmax) / 2 + msbst | |
| mssval = msbst + (wsmin + wsmax) / 2 + (msmin + msmax) / 2 | |
| END IF | |
| ' 'Dark wsobes | |
| ' IF rditem <= 41000 AND rditem <= 41999 THEN | |
| ' | |
| ' wsmin = 0 | |
| ' wsmax = 0 | |
| ' msmin = 0 | |
| ' msmax = 0 | |
| ' msbst = 0 | |
| ' | |
| ' wsval = (wsmin+wsmax) + (msmin + msmax)/2 + msbst | |
| ' msval = (msmin+msmax) + (wsmin + wsmax)/2 + msbst | |
| ' mssval = msbst + (wsmin+wsmax)/2+(msmin+msmax)/2 | |
| ' | |
| ' END IF | |
| ' | |
| ' 'Mystic wsobes | |
| ' IF rditem <= 42000 AND rditem <= 42999 THEN | |
| ' | |
| ' wsmin = 0 | |
| ' wsmax = 0 | |
| ' msmin = 0 | |
| ' msmax = 0 | |
| ' msbst = 0 | |
| ' | |
| ' wsval = (wsmin+wsmax) + (msmin + msmax)/2 + msbst | |
| ' msval = (msmin+msmax) + (wsmin + wsmax)/2 + msbst | |
| ' mssval = msbst + (wsmin+wsmax)/2+(msmin+msmax)/2 | |
| ' | |
| ' END IF | |
| ' | |
| ' 'Armor | |
| ' IF rditem <= 43000 AND rditem <= 43999 THEN | |
| ' | |
| ' wsmin = 0 | |
| ' wsmax = 0 | |
| ' msmin = 0 | |
| ' msmax = 0 | |
| ' msbst = 0 | |
| ' | |
| ' wsval = (wsmin+wsmax) + (msmin + msmax)/2 + msbst | |
| ' msval = (msmin+msmax) + (wsmin + wsmax)/2 + msbst | |
| ' mssval = msbst + (wsmin+wsmax)/2+(msmin+msmax)/2 | |
| ' | |
| ' END IF | |
| ' | |
| ' 'More Armor | |
| ' IF rditem <= 4000 AND rditem <= 4999 THEN | |
| ' | |
| ' 'Leather | |
| ' IF rditem >= 4000 AND rditem <= 4099 THEN : | |
| ' | |
| ' wsmin = 0 | |
| ' wsmax = 0 | |
| ' msmin = 0 | |
| ' msmax = 0 | |
| ' msbst = 0 | |
| ' | |
| ' wsval = (wsmin+wsmax) + (msmin + msmax)/2 + msbst | |
| ' msval = (msmin+msmax) + (wsmin + wsmax)/2 + msbst | |
| ' mssval = msbst + (wsmin+wsmax)/2+(msmin+msmax)/2 | |
| ' | |
| ' 'Chainlink | |
| ' | |
| ' wsmin = 0 | |
| ' wsmax = 0 | |
| ' msmin = 0 | |
| ' msmax = 0 | |
| ' msbst = 0 | |
| ' | |
| ' wsval = (wsmin+wsmax) + (msmin + msmax)/2 + msbst | |
| ' msval = (msmin+msmax) + (wsmin + wsmax)/2 + msbst | |
| ' mssval = msbst + (wsmin+wsmax)/2+(msmin+msmax)/2 | |
| ' | |
| ' IF rditem >= 4100 AND rditem <= 4199 THEN : | |
| ' | |
| ' END IF | |
| END SUB | |
| SUB itemstart | |
| redstep = 2: bluestep = 2: spellchk = 0 | |
| IF rditem >= 0 AND rditem <= 9999 THEN : CALL itemclass0 | |
| IF rditem >= 10000 AND rditem <= 19999 THEN : CALL Itemclass1 | |
| IF rditem >= 20000 AND rditem <= 29999 THEN : CALL Itemclass2 | |
| IF rditem >= 30000 AND rditem <= 39999 THEN : CALL Itemclass3 | |
| IF rditem >= 40000 AND rditem <= 49999 THEN : CALL Itemclass4 | |
| wsval = wsmin + wsmax | |
| msval = msmin + msmax | |
| mssval = msbst * 2 | |
| mgval = ((mgmin + mgmax) * ctimes * (freeze + 1) * (direct + 1)) - mpcost | |
| END SUB | |
| SUB savechar | |
| DIM c(9) | |
| DIM filename.$(9) | |
| CALL charback | |
| wssav = ws | |
| mssav = ms | |
| ysav = y | |
| wssv = ws | |
| mssv = ms | |
| ysv = y | |
| filename.$(1) = "c:char1.adv" | |
| filename.$(2) = "c:char2.adv" | |
| filename.$(3) = "c:char3.adv" | |
| filename.$(4) = "c:char4.adv" | |
| filename.$(5) = "c:char5.adv" | |
| filename.$(6) = "c:char6.adv" | |
| filename.$(7) = "c:char7.adv" | |
| filename.$(8) = "c:char8.adv" | |
| filename.$(9) = "c:char9.adv" | |
| LOCATE 4, 3 | |
| PRINT "Choose a slot to save your character" | |
| OPEN "c:charlist.adv" FOR INPUT AS #1 | |
| FOR x = 1 TO 9 | |
| INPUT #1, c(x) | |
| NEXT x | |
| CLOSE #1 | |
| FOR z = 1 TO 9 | |
| IF c(z) = 0 THEN | |
| COLOR cv5 | |
| LOCATE 5 + z, 3 | |
| PRINT z | |
| ELSE | |
| COLOR cv2 | |
| OPEN filename.$(z) FOR INPUT AS #1 | |
| INPUT #1, name.$, ws, ms, y, item1, item2, item3, armor1, armor2, pack1, pack2, pack3, pack4, pack5, spell1, spell2, spell3 | |
| LOCATE 5 + z, 3 | |
| PRINT z; " - "; name.$ | |
| CLOSE #1 | |
| END IF | |
| NEXT z | |
| COLOR cv2 | |
| LOCATE 17, 3 | |
| PRINT " Q"; | |
| DO | |
| call.$ = INKEY$ | |
| LOOP WHILE call.$ <> "1" AND call.$ <> "2" AND call.$ <> "3" AND call.$ <> "4" AND call.$ <> "5" AND call.$ <> "1" AND call.$ <> "6" AND call.$ <> "7" AND call.$ <> "8" AND call.$ <> "9" AND call.$ <> "q" | |
| IF call.$ = "1" THEN | |
| c(1) = 1 | |
| OPEN filename.$(1) FOR OUTPUT AS #1 | |
| END IF | |
| IF call.$ = "2" THEN | |
| c(2) = 1 | |
| OPEN filename.$(2) FOR OUTPUT AS #1 | |
| END IF | |
| IF call.$ = "3" THEN | |
| c(3) = 1 | |
| OPEN filename.$(3) FOR OUTPUT AS #1 | |
| END IF | |
| IF call.$ = "4" THEN | |
| c(4) = 1 | |
| OPEN filename.$(4) FOR OUTPUT AS #1 | |
| END IF | |
| IF call.$ = "5" THEN | |
| c(5) = 1 | |
| OPEN filename.$(5) FOR OUTPUT AS #1 | |
| END IF | |
| IF call.$ = "6" THEN | |
| c(6) = 1 | |
| OPEN filename.$(6) FOR OUTPUT AS #1 | |
| END IF | |
| IF call.$ = "7" THEN | |
| c(7) = 1 | |
| OPEN filename.$(7) FOR OUTPUT AS #1 | |
| END IF | |
| IF call.$ = "8" THEN | |
| c(8) = 1 | |
| OPEN filename.$(8) FOR OUTPUT AS #1 | |
| END IF | |
| IF call.$ = "9" THEN | |
| c(9) = 1 | |
| OPEN filename.$(9) FOR OUTPUT AS #1 | |
| END IF | |
| ws = 0: ms = 0: y = 0 | |
| item1 = 1: item2 = 10000: item3 = 0: armor1 = 0: armor2 = 0 | |
| pack1 = 0: pack2 = 0: pack3 = 0: pack4 = 0: pack5 = 0 | |
| spell1 = 20000: spell2 = 0: spell3 = 0 | |
| IF call.$ <> "q" THEN | |
| LOCATE 17, 3 | |
| INPUT "Desired name"; name.$ | |
| WRITE #1, name.$, wssav, mssav, ysav, item1, item2, item3, armor1, armor2, pack1, pack2, pack3, pack4, pack5, spell1, spell2, spell3 | |
| CLOSE #1 | |
| END IF | |
| OPEN "c:charlist.adv" FOR OUTPUT AS #1 | |
| FOR w = 1 TO 9 | |
| WRITE #1, c(w) | |
| NEXT w | |
| CLOSE #1 | |
| END SUB | |
| SUB selection | |
| DIM c(10) | |
| DIM filename.$(9) | |
| DO | |
| opencheck = 0 | |
| CALL charback | |
| LOCATE 2, 11 | |
| PRINT "CHOOSE A CHARACTER" | |
| filename.$(1) = "c:char1.adv" | |
| filename.$(2) = "c:char2.adv" | |
| filename.$(3) = "c:char3.adv" | |
| filename.$(4) = "c:char4.adv" | |
| filename.$(5) = "c:char5.adv" | |
| filename.$(6) = "c:char6.adv" | |
| filename.$(7) = "c:char7.adv" | |
| filename.$(8) = "c:char8.adv" | |
| filename.$(9) = "c:char9.adv" | |
| COLOR cv2 | |
| LOCATE 4, 3 | |
| PRINT "Player "; plyr; ": Choose Character" | |
| OPEN "c:charlist.adv" FOR INPUT AS #1 | |
| FOR x = 1 TO 9 | |
| INPUT #1, c(x) | |
| NEXT x | |
| CLOSE #1 | |
| FOR z = 1 TO 9 | |
| IF c(z) = 0 THEN | |
| COLOR cv5 | |
| LOCATE 5 + z, 3 | |
| PRINT z | |
| ELSE | |
| COLOR cv2 | |
| OPEN filename.$(z) FOR INPUT AS #1 | |
| INPUT #1, name.$, ws, ms, y, item1, item2, item3, armor1, armor2, pack1, pack2, pack3, pack4, pack5, spell1, spell2, spell3 | |
| LOCATE 5 + z, 3 | |
| PRINT z; " - "; name.$ | |
| CLOSE #1 | |
| END IF | |
| NEXT z | |
| COLOR cv2 | |
| LOCATE 17, 3 | |
| PRINT " Q"; | |
| DO | |
| call.$ = INKEY$ | |
| LOOP WHILE call.$ <> "1" AND call.$ <> "2" AND call.$ <> "3" AND call.$ <> "4" AND call.$ <> "5" AND call.$ <> "6" AND call.$ <> "7" AND call.$ <> "8" AND call.$ <> "9" AND call.$ <> "q" | |
| IF call.$ = "q" THEN | |
| ELSE | |
| sel = ASC(call.$) - 48 | |
| IF sel >= 1 AND sel <= 9 AND sel <> taken AND call.$ <> "q" THEN | |
| IF c(sel) = 1 THEN | |
| opencheck = 1 | |
| taken = sel | |
| OPEN filename.$(sel) FOR INPUT AS #1 | |
| INPUT #1, name.$(plyr), ws(plyr), ms(plyr), y(plyr), item1(plyr), item2(plyr), item3(plyr), armor1(plyr), armor2(plyr), pack1(plyr), pack2(plyr), pack3(plyr), pack4(plyr), pack5(plyr), spell1(plyr), spell2(plyr), spell3(plyr) | |
| CLOSE #1 | |
| player.$(plyr) = filename.$(sel) | |
| END IF | |
| END IF | |
| IF opencheck = 0 THEN | |
| LOCATE 17, 3 | |
| PRINT "Character does not exist!" | |
| DO: LOOP WHILE INKEY$ = "" | |
| END IF | |
| END IF | |
| LOOP WHILE opencheck = 0 AND call.$ <> "q" | |
| END SUB | |
| SUB spellatk | |
| nope = 0 | |
| DO | |
| COLOR 0 | |
| LOCATE 5, 15 | |
| PRINT " " | |
| LOCATE 5, 15 | |
| PRINT item.$ | |
| COLOR 0 | |
| LOCATE 7, 10 | |
| PRINT "Weapon Strength: "; wsval | |
| LOCATE 8, 10 | |
| PRINT "Magic Strength: "; msval | |
| LOCATE 9, 10 | |
| PRINT "Channel Strength: "; mssval | |
| LOCATE 11, 8 | |
| PRINT "Attack as: "; | |
| PRINT "W, M, C, or R" | |
| COLOR cv2 | |
| LOCATE 5, 10 | |
| PRINT "Choose Spell" | |
| rditem = spell1(plyr) | |
| CALL itemstart | |
| LOCATE 7, 13 | |
| COLOR cv2 | |
| PRINT "A: "; item.$; " Lv."; level | |
| LOCATE 8, 13 | |
| COLOR cv5 | |
| PRINT "Magic Value:"; mgval | |
| rditem = spell2(plyr) | |
| CALL itemstart | |
| LOCATE 10, 13 | |
| COLOR cv2 | |
| PRINT "B: "; item.$; " Lv."; level | |
| LOCATE 11, 13 | |
| COLOR cv5 | |
| PRINT "Magic Value:"; mgval | |
| rditem = spell3(plyr) | |
| CALL itemstart | |
| LOCATE 13, 13 | |
| COLOR cv2 | |
| PRINT "C: "; item.$; " Lv."; level | |
| LOCATE 14, 13 | |
| COLOR cv5 | |
| PRINT "Magic Value:"; mgval | |
| DO: call.$ = INKEY$: LOOP WHILE call.$ <> "a" AND call.$ <> "b" AND call.$ <> "c" | |
| IF call.$ = "a" THEN : rditem = spell1 | |
| IF call.$ = "b" THEN : rditem = spell2 | |
| IF call.$ = "c" THEN : rditem = spell3 | |
| CALL itemstart | |
| IF mp(plyr) - mpcost < 0 THEN nope = 1 ELSE mp(plyr) = mp(plyr) - mpcost | |
| IF nope = 1 THEN : ELSE : atk = (INT(RND * (mgmax - mgmin)) + mgmin) * ctimes | |
| PRINT nope; mgmax; mgmin; ctimes | |
| INPUT go.$ | |
| LOOP WHILE nope = 1 | |
| END SUB | |
| SUB title | |
| '******************* | |
| 'Border | |
| a = cv1 | |
| 'Author | |
| b = cv2 | |
| '******************* | |
| 'ASCII letters | |
| c = 7 | |
| 'Non-ASCII letters | |
| d = cvb1 | |
| '******************* | |
| '"Press:" | |
| e = 0 | |
| 'Option numbers | |
| f = 7 | |
| 'Options | |
| g = cvb2 | |
| '******************* | |
| 'Version | |
| h = 4 | |
| COLOR a | |
| PRINT "////////////////////////////////////////" | |
| PRINT "/ /" | |
| PRINT "/ "; | |
| COLOR b | |
| PRINT "CHAD ZAWISTOWSKI'S"; | |
| COLOR a | |
| PRINT " /" | |
| PRINT "/ "; | |
| COLOR c | |
| PRINT "____"; | |
| COLOR a | |
| PRINT " /" | |
| PRINT "/ "; | |
| COLOR c | |
| PRINT "| \"; | |
| COLOR a | |
| PRINT " /" | |
| PRINT "/ "; | |
| COLOR c | |
| PRINT "| /\ \ _"; | |
| COLOR a | |
| PRINT " /" | |
| PRINT "/ "; | |
| COLOR c | |
| PRINT "| \/ / / \"; | |
| COLOR a | |
| PRINT " /" | |
| PRINT "/ "; | |
| COLOR c | |
| PRINT "| / | | |"; | |
| COLOR a | |
| PRINT " /" | |
| PRINT "/ "; | |
| COLOR c | |
| PRINT "| \ "; | |
| COLOR d | |
| PRINT "ATTLE"; | |
| COLOR c | |
| PRINT " | | |"; | |
| COLOR a | |
| PRINT " /" | |
| PRINT "/ "; | |
| COLOR c | |
| PRINT "| /\ \ \ \ "; | |
| COLOR d | |
| PRINT "YSTEM"; | |
| COLOR a | |
| PRINT " /" | |
| PRINT "/ "; | |
| COLOR c | |
| PRINT "| \/ / | | |"; | |
| COLOR a | |
| PRINT " /" | |
| PRINT "/ "; | |
| COLOR c | |
| PRINT "|___/ | | |"; | |
| COLOR a | |
| PRINT " /" | |
| PRINT "/ "; | |
| COLOR c | |
| PRINT "\_/"; | |
| COLOR a | |
| PRINT " /" | |
| PRINT "/ "; | |
| COLOR e | |
| PRINT "PRESS:"; | |
| COLOR a | |
| PRINT " /" | |
| PRINT "/ "; | |
| COLOR f | |
| PRINT " 1)"; | |
| COLOR g | |
| PRINT " BATTLE "; | |
| COLOR a | |
| PRINT " /" | |
| PRINT "/ "; | |
| COLOR f | |
| PRINT " 2)"; | |
| COLOR g | |
| PRINT " CREATE A CHARACTER"; | |
| COLOR a | |
| PRINT " /" | |
| PRINT "/ "; | |
| COLOR f | |
| PRINT " 3)"; | |
| COLOR g | |
| PRINT " DELETE CHARACTERS "; | |
| COLOR a | |
| PRINT " /" | |
| PRINT "/ "; | |
| COLOR f | |
| PRINT " 4)"; | |
| COLOR g | |
| PRINT " VIEW STATS "; | |
| COLOR a | |
| PRINT " /" | |
| PRINT "/ "; | |
| COLOR f | |
| PRINT " 5)"; | |
| COLOR g | |
| PRINT " EXIT GAME "; | |
| COLOR a | |
| PRINT " /" | |
| PRINT "/"; | |
| COLOR h | |
| PRINT " v0.35"; | |
| COLOR a | |
| PRINT "/" | |
| PRINT "////////////////////////////////////////" | |
| 'PRINT "/ /" | |
| END SUB | |
| SUB turns | |
| OPEN player.$(1) FOR INPUT AS #1 | |
| INPUT #1, name.$(1), ws(1), ms(1), y(1), item1(1), item2(1), item3(1), armor1(1), armor2(1), pack1(1), pack2(1), pack3(1), pack4(1), pack5(1), spell1(1), spell2(1), spell3(1) | |
| CLOSE #1 | |
| OPEN player.$(2) FOR INPUT AS #1 | |
| INPUT #1, name.$(2), ws(2), ms(2), y(2), item1(2), item2(2), item3(2), armor1(2), armor2(2), pack1(2), pack2(2), pack3(2), pack4(2), pack5(2), spell1(2), spell2(2), spell3(2) | |
| CLOSE #1 | |
| DO | |
| ':+:+: Displays border, health bars, turn, and player :+:+: | |
| CLS | |
| CALL border | |
| COLOR cv5 | |
| IF plyr <> 0 THEN | |
| IF plyr = 1 THEN | |
| LOCATE 16, 35 | |
| ELSE | |
| LOCATE 16, 4 | |
| END IF | |
| PRINT "-"; dmg | |
| END IF | |
| IF plyr = 1 THEN | |
| plyr = 2 | |
| dfsplyr = 1 | |
| ELSE | |
| plyr = 1 | |
| dfsplyr = 2 | |
| turn = turn + 1 | |
| END IF | |
| 'Displays Health bars | |
| hplayer = 128 | |
| COLOR cv3 | |
| IF hp(1) <= 66 THEN COLOR cv8 | |
| IF hp(1) <= 33 THEN COLOR cv7 | |
| FOR health1 = hplayer TO hplayer - hp(1) STEP -1 | |
| PSET (8, health1) | |
| NEXT health1 | |
| COLOR cv3 | |
| IF hp(2) <= 50 THEN COLOR cv8 | |
| IF hp(2) <= 25 THEN COLOR cv7 | |
| FOR health2 = hplayer TO hplayer - hp(2) STEP -1 | |
| PSET (310, health2) | |
| NEXT health2 | |
| LOCATE 18, 3 | |
| IF plyr = 1 THEN COLOR 7 ELSE COLOR 8 | |
| PRINT name.$(1) | |
| LOCATE 20, 3 | |
| COLOR cv10 | |
| PRINT "W:"; ws(1); | |
| COLOR cv8 | |
| PRINT "M:"; ms(1) | |
| LOCATE 18, 31 | |
| IF plyr = 2 THEN COLOR 7 ELSE COLOR 8 | |
| PRINT name.$(2) | |
| LOCATE 20, 30 | |
| COLOR cv10 | |
| PRINT "W:"; ws(2); | |
| COLOR cv8 | |
| PRINT "M:"; ms(2) | |
| COLOR cv3 | |
| LOCATE 3, 2 | |
| PRINT "Turn:"; turn | |
| LOCATE 3, 17 | |
| PRINT name.$(plyr) | |
| LOCATE 3, 30 | |
| PRINT "Player:"; plyr; | |
| IF hp(plyr) <= 0 THEN | |
| CALL win: wind = 1 | |
| ELSE | |
| ':+:+: Player Attack :+:+: | |
| DO | |
| OPEN player.$(plyr) FOR INPUT AS #1 | |
| INPUT #1, name.$, ws, ms, y, item1, item2, item3, armor1, armor2, pack1, pack2, pack3, pack4, pack5, spell1, spell2, spell3 | |
| CLOSE #1 | |
| COLOR cv2 | |
| LOCATE 5, 15 | |
| PRINT "Choose" | |
| COLOR cv2 | |
| rditem = item1 | |
| CALL itemstart | |
| LOCATE 7, 13 | |
| PRINT "A: "; item.$ | |
| rditem = item2 | |
| CALL itemstart | |
| LOCATE 8, 13 | |
| PRINT "B: "; item.$ | |
| ' rditem = item3 ' Item3 slot will be for Also, don't forget | |
| ' CALL itemstart ' amulets and other objects to add armor and | |
| ' ' of power in the next wselease amulets to the | |
| ' LOCATE 9, 13 ' don't forget to add the prize thingy! | |
| ' PRINT "C: "; item.$ ' "c" to the DO LOOP | |
| DO: call.$ = INKEY$: LOOP WHILE call.$ <> "a" AND call.$ <> "b" | |
| IF call.$ = "a" THEN rditem = item1 | |
| IF call.$ = "b" THEN rditem = item2 | |
| CALL itemstart | |
| LOCATE 5, 15 | |
| PRINT " " | |
| LOCATE 5, 15 | |
| COLOR cv2 | |
| PRINT item.$ | |
| COLOR cv2 | |
| LOCATE 7, 10 | |
| PRINT "Weapon Strength: "; wsval | |
| LOCATE 8, 10 | |
| PRINT "Magic Strength: "; msval | |
| LOCATE 9, 10 | |
| PRINT "Channel Strength: "; mssval | |
| LOCATE 11, 8 | |
| COLOR cv3 | |
| PRINT "Attack as: "; | |
| COLOR cv3 | |
| PRINT "W, M, C, or R" | |
| DO: call.$ = INKEY$: LOOP WHILE call.$ <> "w" AND call.$ <> "m" AND call.$ <> "c" AND call.$ <> "r" | |
| IF call.$ = "r" THEN | |
| ELSE | |
| IF call.$ = "w" THEN atk = INT(RND * (wsmax - wsmin + ws(plyr)) + wsmin): atk.$ = "ws" | |
| IF call.$ = "m" THEN atk = INT(RND * (msmax - msmin + ms(plyr)) + wsmin): atk.$ = "ms" | |
| IF call.$ = "c" THEN CALL spellatk | |
| END IF | |
| LOOP WHILE call.$ = "r" | |
| IF atk.$ = "ws" THEN | |
| dfs = ws(dfsplyr) | |
| END IF | |
| IF atk.$ = "ms" THEN | |
| dfs = ms(dfsplyr) | |
| END IF | |
| IF atk.$ = "c" THEN | |
| dfs = ms(dfsplyr) | |
| END IF | |
| IF spellcheck = 1 THEN | |
| IF direct = 1 THEN dfs = 0 | |
| IF freeze > 0 AND skip(dfsplyr) = 0 THEN skip(dfsplyr) = freeze | |
| IF charge > 0 AND skip(plyr) = 0 THEN skip(plyr) = charge | |
| END IF | |
| dmg = atk - dfs | |
| PRINT atk; dfs; dmg | |
| INPUT go.$ | |
| IF dmg < 0 THEN dmg = 0 | |
| hp(dfsplyr) = hp(dfsplyr) - dmg | |
| IF call.$ = "q" THEN wind = 1 | |
| END IF | |
| LOOP WHILE wind <> 1 | |
| END SUB | |
| SUB win | |
| RANDOMIZE TIMER | |
| winner = dfsplyr | |
| ws(winner) = INT(ws(winner) + ((ws(plyr) + 1) * (y(winner) + 1)) / (((ws(winner) + 1) * 2))) | |
| ms(winner) = INT(ms(winner) + ((ms(plyr) + 1) * (y(winner) + 1)) / (((ms(winner) + 1) * 2))) | |
| prize = INT(RND * 18) | |
| IF prize = 0 THEN | |
| ' Dagger | |
| pz = 1 | |
| END IF | |
| IF prize = 1 THEN | |
| ' Red Dagger | |
| pz = 2 | |
| END IF | |
| IF prize = 2 THEN | |
| ' Blue Sword | |
| pz = 3 | |
| END IF | |
| IF prize = 3 THEN | |
| ' Sword | |
| pz = 1000 | |
| END IF | |
| IF prize = 4 THEN | |
| ' Red Sword | |
| pz = 1001 | |
| END IF | |
| IF prize = 5 THEN | |
| ' Blue Sword | |
| pz = 1002 | |
| END IF | |
| IF prize = 6 THEN | |
| ' Longsword | |
| pz = 2000 | |
| END IF | |
| IF prize = 7 THEN | |
| ' Read Longsword | |
| pz = 2001 | |
| END IF | |
| IF prize = 8 THEN | |
| ' Blue Longsword | |
| pz = 2002 | |
| END IF | |
| IF prize = 9 THEN | |
| ' Wooden Staff | |
| pz = 10000 | |
| END IF | |
| IF prize = 10 THEN | |
| ' Read Staff | |
| pz = 10001 | |
| END IF | |
| IF prize = 11 THEN | |
| ' Blue Staff | |
| pz = 10002 | |
| END IF | |
| IF prize = 12 THEN | |
| ' Battlestaff | |
| pz = 11000 | |
| END IF | |
| IF prize = 13 THEN | |
| ' Read Battlestaff | |
| pz = 11001 | |
| END IF | |
| IF prize = 14 THEN | |
| ' Blue Battlestaff | |
| pz = 11002 | |
| END IF | |
| IF prize = 15 THEN | |
| ' Weapon Skill Boost | |
| boost = 1 | |
| END IF | |
| IF prize = 16 THEN | |
| ' Magic Skill Boost | |
| boost = 2 | |
| END IF | |
| IF prize = 17 THEN | |
| ' Intelligence Skill Boost | |
| boost = 3 | |
| END IF | |
| IF boost > 0 THEN | |
| CLS | |
| CALL border | |
| LOCATE 3, 3 | |
| COLOR cv10 | |
| PRINT "Player"; winner; " won!" | |
| COLOR cv5 | |
| LOCATE 5, 3 | |
| PRINT "Prize: "; item.$ | |
| IF boost = 1 THEN ws(winner) = ws(winner) + 2: item.$ = "Weapon Skill Boost" | |
| IF boost = 2 THEN ms(winner) = ms(winner) + 2: item.$ = "Magic Skill Boost" | |
| IF boost = 3 THEN y(winner) = y(winner) + 2: item.$ = "Intelligence Skill Boost" | |
| CLS | |
| CALL border | |
| LOCATE 3, 3 | |
| COLOR cv10 | |
| PRINT "Player"; winner; " won!" | |
| COLOR cv5 | |
| LOCATE 5, 3 | |
| PRINT "Prize: "; item.$ | |
| OPEN player.$(winner) FOR INPUT AS #1 | |
| INPUT #1, name.$, ws, ms, y, item1, item2, item3, armor1, armor2, pack1, pack2, pack3, pack4, pack5, spell1, spell2, spell3 | |
| CLOSE #1 | |
| ws = ws(winner): ms = ms(winner): y = y(winner) | |
| OPEN player.$(winner) FOR OUTPUT AS #1 | |
| WRITE #1, name.$, ws, ms, y, item1, item2, item3, armor1, armor2, pack1, pack2, pack3, pack4, pack5, spell1, spell2, spell3 | |
| CLOSE #1 | |
| ELSE | |
| DO: Reado = 0 | |
| rditem = pz | |
| CALL itemstart | |
| CLS | |
| CALL border | |
| LOCATE 3, 3 | |
| COLOR cv10 | |
| PRINT "Player"; winner; " won!" | |
| COLOR cv5 | |
| LOCATE 5, 3 | |
| PRINT "Prize: "; item.$ | |
| COLOR cv3 | |
| LOCATE 7, 3 | |
| PRINT "Weapon Strength: "; wsval | |
| LOCATE 8, 3 | |
| PRINT "Magic Strength: "; msval | |
| LOCATE 9, 3 | |
| PRINT "Channel Strength: "; mssval | |
| OPEN player.$(winner) FOR INPUT AS #1 | |
| INPUT #1, name.$, ws, ms, y, item1, item2, item3, armor1, armor2, pack1, pack2, pack3, pack4, pack5, spell1, spell2, spell3 | |
| CLOSE #1 | |
| LOCATE 13, 5 | |
| COLOR cv5 | |
| PRINT "Equipped" | |
| COLOR cv2 | |
| rditem = item1 | |
| CALL itemstart | |
| LOCATE 14, 5 | |
| PRINT USING "A: \ \"; item.$ | |
| rditem = item2 | |
| CALL itemstart | |
| LOCATE 15, 5 | |
| PRINT USING "B: \ \"; item.$ | |
| LOCATE 18, 5 | |
| PRINT "Q: "; "Toss Prize" | |
| LOCATE 13, 25 | |
| COLOR cv5 | |
| PRINT "Pack" | |
| COLOR cv2 | |
| rditem = pack1 | |
| CALL itemstart | |
| LOCATE 14, 25 | |
| PRINT USING "C: \ \"; item.$ | |
| rditem = pack2 | |
| CALL itemstart | |
| LOCATE 15, 25 | |
| PRINT USING "D: \ \"; item.$ | |
| rditem = pack3 | |
| CALL itemstart | |
| LOCATE 16, 25 | |
| PRINT USING "E: \ \"; item.$ | |
| rditem = pack4 | |
| CALL itemstart | |
| LOCATE 17, 25 | |
| PRINT USING "F: \ \"; item.$ | |
| rditem = pack5 | |
| CALL itemstart | |
| LOCATE 18, 25 | |
| PRINT USING "G: \ \"; item.$ | |
| DO: call.$ = INKEY$ | |
| LOOP WHILE call.$ <> "a" AND call.$ <> "b" AND call.$ <> "c" AND call.$ <> "d" AND call.$ <> "e" AND call.$ <> "f" AND call.$ <> "g" AND call.$ <> "q" | |
| IF call.$ = "q" THEN | |
| ELSE | |
| OPEN player.$(winner) FOR INPUT AS #1 | |
| INPUT #1, name.$, ws, ms, y, item1, item2, item3, armor1, armor2, pack1, pack2, pack3, pack4, pack5, spell1, spell2, spell3 | |
| CLOSE #1 | |
| IF call.$ = "a" THEN rditem = item1: CALL itemstart: item1 = pz | |
| IF call.$ = "b" THEN rditem = item2: CALL itemstart: item2 = pz | |
| IF call.$ = "c" THEN rditem = pack1: CALL itemstart: pack1 = pz | |
| IF call.$ = "d" THEN rditem = pack2: CALL itemstart: pack2 = pz | |
| IF call.$ = "e" THEN rditem = pack3: CALL itemstart: pack3 = pz | |
| IF call.$ = "f" THEN rditem = pack4: CALL itemstart: pack4 = pz | |
| IF call.$ = "g" THEN rditem = pack5: CALL itemstart: pack5 = pz | |
| CLS | |
| COLOR cv1 | |
| CALL border | |
| LOCATE 2, 10 | |
| COLOR cv4 | |
| PRINT "Erase "; item.$; "? <y/n>" | |
| COLOR cv6 | |
| DO: call.$ = INKEY$: LOOP WHILE call.$ <> "y" AND call.$ <> "n" | |
| IF call.$ = "y" THEN | |
| OPEN player.$(winner) FOR OUTPUT AS #1 | |
| WRITE #1, name.$, ws, ms, y, item1, item2, item3, armor1, armor2, pack1, pack2, pack3, pack4, pack5, spell1, spell2, spell3 | |
| CLOSE #1 | |
| END IF | |
| END IF | |
| LOOP WHILE Reado = 1 | |
| END IF | |
| END SUB | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment