setting: SCREEN 12 CLS RANDOMIZE TIMER currentx = 15 currenty = 35 location$ = "Armen's Forest" maxhp = 10 currenthp = 10 attack = 8 defense = 4 speed = 5 avoid = 1 accuracy = 8 LOCATE 2, 2 PRINT "LOCATION: "; location$; "("; currenty; ","; currentx; ")" LOCATE currentx, currenty PRINT "I" exity = 10 exitx = 10 won = 0 lost = 0 rank$ = "A nobody" dragon$ = "not yet" endturn = 0 story: CLS LOCATE 3, 3 PRINT "Iso's Journey: The Dragon Hunt" LOCATE 4, 3 PRINT " On a journey to become the most famed warrior, Iso starts out by" LOCATE 5, 3 PRINT "joining the dragon hunt contest. In the beginning, other contestants might" LOCATE 6, 3 PRINT "not be paying much attention to Iso but once he defeats 20 animals, he'll be" LOCATE 7, 3 PRINT "noticed by them." SLEEP CLS LOCATE 3, 3 PRINT "Iso's Journey: The Dragon Hunt" LOCATE 4, 3 PRINT " The dragon lies on Dragon's Shore past the Armen's Forest's trail." LOCATE 5, 3 PRINT "With the skills attack, heal, non fatal, and flash(type each skill in" LOCATE 6, 3 PRINT "combat to use it) Iso is determined to win." LOCATE 8, 3 PRINT "attack: your normal attack(damage = attack - opponent's defense)" LOCATE 9, 3 PRINT "heal: recover full hp but uses more attack time" LOCATE 10, 3 PRINT "non fatal: cuts your opponents current hp to half his/her max" LOCATE 11, 3 PRINT "flash: does half the damage with less attack time" LOCATE 13, 3 PRINT "Still, to win, Iso would need to understand battle through experience..." SLEEP CLS LOCATE 3, 3 PRINT "Iso's Journey: The Dragon Hunt" LOCATE 4, 3 PRINT " The Dragon will only appear on Dragon's Shore's exit. Iso must" LOCATE 5, 3 PRINT "defeat other contestants including knights and hunters. In addition," LOCATE 6, 3 PRINT "Iso must win at least 60% of his battles. A dragon's hp is going to" LOCATE 7, 3 PRINT "surprisingly high so even if Iso meets all the requirements he may" LOCATE 8, 3 PRINT "not be able to win." SLEEP start: CLS DO levelpoints = maxhp + attack + defense + accuracy + avoid + speed LOCATE 25, 4 PRINT "Move: w" LOCATE 26, 4 PRINT " asd" LOCATE 25, 20 PRINT "Press 'q' to quit" LOCATE 10, 45 PRINT "Won:", won LOCATE 11, 45 PRINT "Lost:", lost IF won = 0 AND lost = 0 THEN winpercentage = 0 ELSE winpercentage = INT((won / (won + lost)) * 100) LOCATE 13, 45 PRINT "Win Percentage:"; winpercentage; "%" END IF SELECT CASE levelpoints CASE IS < 56 rank$ = "A nobody" CASE IS >= 56 rank$ = "Contestant" END SELECT IF dragon$ = "won" THEN rank$ = "Champion" endturn = endturn + 1 END IF LOCATE 16, 45 PRINT "Rank:"; rank$ DO k$ = INKEY$ LOOP UNTIL k$ = "w" OR k$ = "a" OR k$ = "s" OR k$ = "d" OR k$ = "q" SELECT CASE k$ CASE IS = "w" LOCATE currentx, currenty PRINT " " currentx = currentx - 1 CASE IS = "a" LOCATE currentx, currenty PRINT " " currenty = currenty - 1 CASE IS = "s" LOCATE currentx, currenty PRINT " " currentx = currentx + 1 CASE IS = "d" LOCATE currentx, currenty PRINT " " currenty = currenty + 1 CASE IS = "q" GOSUB endgame END SELECT IF currentx < 7 THEN currentx = currentx + 1 IF currentx > 23 THEN currentx = currentx - 1 IF currenty < 5 THEN currenty = currenty + 1 IF currenty > 40 THEN currenty = currenty - 1 DIM r$(10) RESTORE rDATA FOR count = 1 TO 10 READ r$(count) NEXT count rnumber = INT(RND * 4 + 1) IF levelpoints > 56 THEN rnumber = rnumber + 4 IF levelpoints > 56 AND winpercentage >= 60 AND location$ = "Dragon's Shore" AND currentx = 20 AND currenty = 30 AND dragon$ = "not yet" THEN rnumber = 9 IF dragon$ = "won" AND endturn = 3 THEN rnumber = 10 monster$ = LEFT$(r$(rnumber), 6) mmaxhp = VAL(MID$(r$(rnumber), 7, 3)) mcurrenthp = mmaxhp mattack = VAL(MID$(r$(rnumber), 10, 2)) mdefense = VAL(MID$(r$(rnumber), 12, 2)) mspeed = VAL(MID$(r$(rnumber), 14, 2)) maccuracy = VAL(MID$(r$(rnumber), 16, 2)) mavoid = VAL(MID$(r$(rnumber), 18, 2)) IF rnumber = 1 OR rnumber = 5 THEN LOCATE 10, 45 PRINT "No monster" ELSE battleattack = attack battledefense = defense battleaccuracy = accuracy battleavoid = avoid battlespeed = speed attacktime = 0 mattacktime = 0 DO CLS RANDOMIZE TIMER action$ = "0" hit = 10 * accuracy - mavoid mhit = 10 * maccuracy - avoid LOCATE 2, 2 PRINT "Iso:"; currenthp; "/"; maxhp LOCATE 4, 2 PRINT "Attack:"; attack, "Defense:"; defense LOCATE 5, 2 PRINT "Accuracy:"; accuracy; " Avoid:"; avoid LOCATE 6, 2 PRINT "Attack time:"; attacktime LOCATE 2, 40 PRINT monster$; ":", mcurrenthp; "/"; mmaxhp LOCATE 4, 40 PRINT "Attack:"; mattack, "Defense:"; mdefense LOCATE 5, 40 PRINT "Accuracy:"; maccuracy, "Avoid:"; mavoid LOCATE 6, 40 PRINT "Attack time:"; mattacktime IF mattacktime < attacktime THEN LOCATE 20, 25 PRINT "Opponent's Turn" IF mhit > RND * 100 THEN currenthp = currenthp - mattack + defense LOCATE 21, 25 PRINT "Hit!" IF defense > mattack THEN currenthp = maxhp END IF LOCATE ELSE LOCATE 21, 25 PRINT "Miss!" END IF mattacktime = mattacktime + 50 - mspeed ELSE LOCATE 20, 25 PRINT "Your Turn" LOCATE 22, 25 INPUT "Action:", action$ END IF SELECT CASE action$ CASE IS = "attack" attacktime = attacktime + 50 - battlespeed IF hit > RND * 100 THEN mcurrenthp = mcurrenthp - attack + mdefense LOCATE 21, 25 PRINT "Hit!" IF mdefense > attack THEN mcurrenthp = mmaxhp END IF ELSE LOCATE 21, 25 PRINT "Miss!" END IF CASE IS = "heal" currenthp = maxhp attacktime = attacktime + 70 - battlespeed LOCATE 21, 25 PRINT "Heal!" CASE IS = "flash" attacktime = attacktime + INT((50 - battlespeed) / 2) + 10 IF hit > RND * 100 THEN mcurrenthp = mcurrenthp - INT((attack - mdefense) / 2) LOCATE 21, 25 PRINT "Hit!" ELSE LOCATE 21, 25 PRINT "Miss!" END IF CASE IS = "non fatal" attacktime = attacktime + 50 - battlespeed IF hit - 20 > RND * 100 THEN mcurrenthp = mmaxhp / 2 LOCATE 21, 25 PRINT "Hit!" ELSE LOCATE 21, 25 PRINT "Miss!" END IF END SELECT SLEEP LOOP UNTIL currenthp <= 0 OR mcurrenthp <= 0 IF currenthp <= 0 THEN lost = lost + 1 IF rnumber = 10 THEN GOSUB endgame ELSE won = won + 1 IF rnumber < 5 THEN spend = spend + 1 ELSE spend = spend + 2 END IF IF rnumber = 9 THEN dragon$ = "won" IF levelpoints < 120 THEN DO CLS LOCATE 2, 2 PRINT "What do you want to increase?" LOCATE 3, 2 PRINT "Press one number key." LOCATE 5, 2 PRINT " 1)MaxHp 2)Attack 3)Defense 4)Speed 5)Accuracy 6)Avoid" LOCATE 6, 2 PRINT "Current Stats: 1)"; maxhp, "2)"; attack, "3)"; defense, "4)"; speed, " 5)"; accuracy, "6)"; avoid DO k$ = INKEY$ LOOP UNTIL k$ = "1" OR k$ = "2" OR k$ = "3" OR k$ = "4" OR k$ = "5" OR k$ = "6" SELECT CASE k$ CASE IS = "1" IF maxhp < 20 THEN maxhp = maxhp + 1 spend = spend - 1 LOCATE 10, 2 PRINT "MaxHp increased." ELSE PRINT "Reached limit." END IF CASE IS = "2" IF attack < 25 THEN attack = attack + 1 spend = spend - 1 LOCATE 10, 2 PRINT "Attack increased." ELSE LOCATE 10, 2 PRINT "Reached limit." END IF CASE IS = "3" IF defense < 15 THEN defense = defense + 1 spend = spend - 1 LOCATE 10, 2 PRINT "Defense increased." ELSE LOCATE 10, 2 PRINT "Reached Limit" END IF CASE IS = "4" IF speed < 35 THEN speed = speed + 1 spend = spend - 1 LOCATE 10, 2 PRINT "Speed increased." ELSE LOCATE 10, 2 PRINT "Reached limit." END IF CASE IS = "5" IF accuracy < 13 THEN accuracy = accuracy + 1 spend = spend - 1 LOCATE 10, 2 PRINT "Accuracy increased." ELSE LOCATE 10, 2 PRINT "Reached Limit" END IF CASE IS = "6" IF avoid < 15 THEN avoid = avoid + 1 spend = spend - 1 LOCATE 10, 2 PRINT "Avoid increased." ELSE LOCATE 10, 2 PRINT "Reached limit." END IF END SELECT SLEEP LOOP UNTIL spend = 0 END IF ELSE SLEEP END IF currenthp = maxhp CLS END IF LOCATE currentx, currenty PRINT "I" LOCATE 2, 2 PRINT " " LOCATE 2, 2 PRINT "LOCATION: "; location$; "("; currenty; ","; currentx; ")" LOCATE 5, 45 PRINT "Exit:"; "("; exity; ","; exitx; ")" IF location$ = "Armen's Forest" AND currentx = 10 AND currenty = 10 THEN location$ = "Trail" exitx = 23 exity = 12 CLS GOSUB start END IF IF location$ = "Trail" AND currentx = 23 AND currenty = 12 THEN location$ = "Dragon's Shore" exitx = 20 exity = 30 CLS GOSUB start END IF IF location$ = "Trail" AND currentx = 10 AND currenty = 10 THEN location$ = "Armen's Forest" exitx = 10 exity = 10 CLS GOSUB start END IF IF location$ = "Dragon's Shore" AND currentx = 23 AND currenty = 12 THEN location$ = "Trail" exitx = 23 exity = 12 CLS GOSUB start END IF LOOP battlesettings: rDATA: DATA "none " DATA "tiger 15 0803050901" DATA "owl 10 0604151005" DATA "snake 10 1402050701" DATA "none " DATA "hunter20 2008151010" DATA "knight20 2015050801" DATA "ape 30 1805200907" DATA "Dragon3002015301015" DATA "Priest20 5030201203" endgame: CLS LOCATE 3, 3 PRINT "Iso's Journey: The Dragon Hunt" LOCATE 4, 3 PRINT " After Iso wakes up from the fatal blow of the priest," LOCATE 5, 3 PRINT "Iso finds his Dragon's Teeth gone. Surprised by the magic of" LOCATE 6, 3 PRINT "the priest, Iso decided to search for him in Lelis, the land" LOCATE 7, 3 PRINT "blessed by magic." SLEEP CLS LOCATE 3, 3 PRINT "Thanks for playing. Coming Soon: Iso's Journey: War in Lelis" LOCATE 4, 3 PRINT " By paulunknown, Date of Completion: 1/29/06"