mirror of
https://github.com/QB64Official/qb64.git
synced 2024-08-31 04:10:15 +00:00
1314 lines
No EOL
31 KiB
QBasic
1314 lines
No EOL
31 KiB
QBasic
SCREEN 7
|
|
WIDTH 80
|
|
CLS
|
|
not$ = "Not enough magic"
|
|
title:
|
|
DO
|
|
CLS
|
|
RANDOMIZE TIMER
|
|
LOCATE 20, 20
|
|
PRINT "Zodiac Battles"
|
|
PRINT "Press 'i' for instructions"
|
|
PRINT "Press 's' to start game"
|
|
PRINT "Press 'z' to view animal data"
|
|
PRINT "Press 'w' to view weapon info"
|
|
PRINT "Press 'x' to quit now(you cannot quit during a game)"
|
|
DO
|
|
key$ = INKEY$
|
|
LOOP UNTIL key$ = "i" OR key$ = "s" OR key$ = "z" OR key$ = "w" OR key$ = "x"
|
|
SELECT CASE key$
|
|
CASE IS = "s"
|
|
GOSUB options
|
|
CASE IS = "i"
|
|
GOSUB instructions
|
|
CASE IS = "z"
|
|
GOSUB animaldata
|
|
CASE IS = "w"
|
|
GOSUB weapond
|
|
CASE IS = "x"
|
|
GOSUB endsection
|
|
END SELECT
|
|
|
|
options:
|
|
DO
|
|
CLS
|
|
DIM r$(13)
|
|
RESTORE rDATA
|
|
FOR count = 1 TO 13
|
|
READ r$(count)
|
|
NEXT count
|
|
DIM weapon$(7)
|
|
RESTORE weaponDATA
|
|
FOR count = 1 TO 7
|
|
READ weapon$(count)
|
|
NEXT count
|
|
DO
|
|
INPUT "Weapons ON/OFF(y/n):", weaponanswer$
|
|
LOOP UNTIL weaponanswer$ = "y" OR weaponanswer$ = "n"
|
|
CLS
|
|
INPUT "Enter code:", rnumber
|
|
IF rnumber < 13 THEN
|
|
rname$ = LEFT$(r$(rnumber), 4)
|
|
END IF
|
|
LOOP WHILE rnumber > 12
|
|
IF rnumber <= 0 THEN
|
|
rnumber = INT(RND * 13 + 1)
|
|
rname$ = LEFT$(r$(rnumber), 4)
|
|
END IF
|
|
LOCATE 10, 1
|
|
PRINT rname$
|
|
LOCATE 1, 1
|
|
PRINT SPACE$(79)
|
|
DO
|
|
LOCATE 1, 10
|
|
INPUT "Enter code:", rnumber2
|
|
IF rnumber2 < 13 THEN
|
|
rname2$ = LEFT$(r$(rnumber2), 4)
|
|
END IF
|
|
LOOP WHILE rnumber2 > 12
|
|
IF rnumber2 <= 0 THEN
|
|
rnumber2 = INT(RND * 13 + 1)
|
|
rname2$ = LEFT$(r$(rnumber2), 4)
|
|
END IF
|
|
LOCATE 10, 10
|
|
PRINT rname2$
|
|
LOCATE 1, 1
|
|
PRINT SPACE$(79)
|
|
LOCATE 10, 6.5
|
|
PRINT "vs."
|
|
SLEEP
|
|
CLS
|
|
DO
|
|
INPUT "P1 Enter weapon number:", weaponnumber
|
|
LOOP UNTIL weaponnumber >= 1 AND weaponnumber <= 7
|
|
DO
|
|
INPUT "P2 Enter weapon number:", weaponnumber2
|
|
LOOP UNTIL weaponnumber2 >= 1 AND weaponnumber2 <= 7
|
|
CLS
|
|
LOCATE 10, 1
|
|
PRINT SPACE$(79)
|
|
LOCATE 5, 5
|
|
PRINT rname$
|
|
LOCATE 5, 20
|
|
PRINT rname2$
|
|
IF weaponanswer$ = "y" THEN
|
|
weaponname$ = LEFT$(weapon$(weaponnumber), 5)
|
|
weaponlife = VAL(MID$(weapon$(weaponnumber), 7, 2))
|
|
weaponmagic = VAL(MID$(weapon$(weaponnumber), 10, 2))
|
|
weaponattack1 = VAL(MID$(weapon$(weaponnumber), 13, 2))
|
|
weapondefense = VAL(MID$(weapon$(weaponnumber), 16, 2))
|
|
weaponmagdef = VAL(MID$(weapon$(weaponnumber), 19, 2))
|
|
weaponname2$ = LEFT$(weapon$(weaponnumber2), 5)
|
|
weaponlife2 = VAL(MID$(weapon$(weaponnumber2), 7, 2))
|
|
weaponmagic2 = VAL(MID$(weapon$(weaponnumber2), 10, 2))
|
|
weaponattack2 = VAL(MID$(weapon$(weaponnumber2), 13, 2))
|
|
weapondefense2 = VAL(MID$(weapon$(weaponnumber2), 16, 2))
|
|
weaponmagdef2 = VAL(MID$(weapon$(weaponnumber2), 19, 2))
|
|
ELSE
|
|
weaponname$ = "None"
|
|
weaponlife = 0
|
|
weaponmagic = 0
|
|
weaponattack1 = 0
|
|
weapondefense = 0
|
|
weaponmagdef = 0
|
|
weaponname2$ = "None"
|
|
weaponlife2 = 0
|
|
weaponmagic2 = 0
|
|
weaponattack2 = 0
|
|
weapondefense2 = 0
|
|
weaponmagdef2 = 0
|
|
END IF
|
|
|
|
LOCATE 1, 1
|
|
PRINT "Player 1 use q/w/e/r.............Player 2 use u/i/o/p"
|
|
|
|
|
|
LOCATE 6, 5
|
|
PRINT "Weapon:", weaponname$
|
|
LOCATE 6, 20
|
|
PRINT "Weapon:", weaponname2$
|
|
|
|
rhp1 = VAL(MID$(r$(rnumber), 5, 3)) + weaponlife
|
|
rhp2 = VAL(MID$(r$(rnumber2), 5, 3)) + weaponlife2
|
|
magic1 = VAL(MID$(r$(rnumber), 9, 2)) + weaponmagic
|
|
magic2 = VAL(MID$(r$(rnumber2), 9, 2)) + weaponmagic2
|
|
hattack1 = VAL(MID$(r$(rnumber), 12, 2)) + weaponattack1
|
|
hattack2 = VAL(MID$(r$(rnumber2), 12, 2)) + weaponattack2
|
|
lattack1 = VAL(MID$(r$(rnumber), 15, 2))
|
|
lattack2 = VAL(MID$(r$(rnumber2), 15, 2))
|
|
phydef1 = VAL(MID$(r$(rnumber), 18, 1)) + weapondefense
|
|
phydef2 = VAL(MID$(r$(rnumber2), 18, 1)) + weapondefense2
|
|
magdef1 = VAL(MID$(r$(rnumber), 20, 1)) + weaponmagdef
|
|
magdef2 = VAL(MID$(r$(rnumber2), 20, 1)) + weaponmagdef2
|
|
|
|
IF rname$ = "hors" AND weaponname$ = "bow " THEN
|
|
lattack1 = lattack1 + 1
|
|
END IF
|
|
IF rname2$ = "hors" AND weaponname2$ = "bow " THEN
|
|
lattack2 = lattack2 + 1
|
|
END IF
|
|
|
|
|
|
PLAY "f8 f8 f8 e2"
|
|
SELECT CASE rname$
|
|
CASE IS = "ram "
|
|
attack20$ = "/Highrage /Rest /Normal attack"
|
|
CASE IS = "drag"
|
|
attack20$ = "/Rage /DragonCall /Fireball"
|
|
CASE IS = "hors"
|
|
attack20$ = "/Heal /Restore /Race"
|
|
CASE IS = "rat "
|
|
attack20$ = "/Supercharge /Rattack1 /Rattack2"
|
|
CASE IS = "ox "
|
|
attack20$ = "/Charge /Restore /Highrage"
|
|
CASE IS = "snak"
|
|
attack20$ = "/Venombite /WeakeningPoison /Poison"
|
|
CASE IS = "mnky"
|
|
attack20$ = "/Defend /Defensetrick /Dodge"
|
|
CASE IS = "dog "
|
|
attack20$ = "/Defend /Bark /Followup"
|
|
CASE IS = "tigr"
|
|
attack20$ = "/Rage /Highrage /Catrest"
|
|
CASE IS = "boar"
|
|
attack20$ = "/Rage /Eat /FatSlam"
|
|
CASE IS = "roos"
|
|
attack20$ = "/Call /HyperRoos /Sunrise"
|
|
CASE IS = "hare"
|
|
attack20$ = "/LS1 /LS2 /LS3"
|
|
CASE IS = "ZodM"
|
|
attack20$ = "/Zodiac's Power /Skip Turn /Skip Turn"
|
|
|
|
END SELECT
|
|
SELECT CASE rname2$
|
|
CASE IS = "ram "
|
|
attack21$ = "/Highrage /Rest /Normal attack"
|
|
CASE IS = "drag"
|
|
attack21$ = "/Rage /DragonCall /Fireball"
|
|
CASE IS = "hors"
|
|
attack21$ = "/Heal /Restore /Race"
|
|
CASE IS = "rat "
|
|
attack21$ = "/Supercharge /Rattack1 /Rattack2"
|
|
CASE IS = "ox "
|
|
attack21$ = "/Charge /Restore /Highrage"
|
|
CASE IS = "snak"
|
|
attack21$ = "/Venombite /WeakeningPoison /Poison"
|
|
CASE IS = "mnky"
|
|
attack21$ = "/Defend /Defensetrick /Dodge"
|
|
CASE IS = "dog "
|
|
attack21$ = "/Defend /Bark /Followup"
|
|
CASE IS = "tigr"
|
|
attack21$ = "/Rage /Highrage /Catrest"
|
|
CASE IS = "boar"
|
|
attack21$ = "/Rage /Eat /FatSlam"
|
|
CASE IS = "roos"
|
|
attack21$ = "/Call /HyperRoos /Sunrise"
|
|
CASE IS = "hare"
|
|
attack21$ = "/LS1 /LS2 /LS3"
|
|
CASE IS = "ZodM"
|
|
attack21$ = "/Zodiac's Power /SkipTurn /SkipTurn"
|
|
END SELECT
|
|
|
|
DO UNTIL rhp1 < 1 OR rhp2 < 1
|
|
|
|
LOCATE 20, 5
|
|
PRINT "PLAYER 1:normal attack", attack20$
|
|
DO
|
|
key$ = INKEY$
|
|
LOOP UNTIL key$ = "q" OR key$ = "w" OR key$ = "e" OR key$ = "r"
|
|
LOCATE 17, 1
|
|
PRINT SPACE$(120)
|
|
|
|
SELECT CASE key$
|
|
CASE IS = "q"
|
|
rhp2 = rhp2 - INT(RND * hattack1 + lattack1 - phydef2)
|
|
LOCATE 17, 1
|
|
PRINT "Normal attack"
|
|
CASE IS = "w"
|
|
SELECT CASE rname$
|
|
CASE IS = "ram "
|
|
hattack1 = hattack1 + 2
|
|
LOCATE 17, 1
|
|
PRINT "Max attack + 2"
|
|
CASE IS = "drag"
|
|
IF magic1 < 4 THEN
|
|
rhp2 = rhp2 - 1
|
|
LOCATE 17, 1
|
|
PRINT "Not enough magic"
|
|
ELSE
|
|
hattack1 = hattack1 + 1
|
|
rhp1 = rhp1 - 3
|
|
magic1 = magic1 - 4
|
|
LOCATE 17, 1
|
|
PRINT "Max atttack + 1"
|
|
|
|
IF weaponname$ = "wand " THEN
|
|
rhp1 = rhp1 + 4
|
|
END IF
|
|
|
|
END IF
|
|
CASE IS = "hors"
|
|
IF magic1 < 5 THEN
|
|
rhp2 = rhp2 - 1
|
|
LOCATE 17, 1
|
|
PRINT "Not enough magic"
|
|
ELSE
|
|
rhp1 = rhp1 + 7
|
|
magic1 = magic1 - 5
|
|
IF weaponname$ = "cape " THEN
|
|
rhp1 = rhp1 + 3
|
|
END IF
|
|
LOCATE 17, 1
|
|
PRINT "Recover 7"
|
|
END IF
|
|
CASE IS = "rat "
|
|
IF magic1 < 50 THEN
|
|
rhp2 = rhp2 - 1
|
|
LOCATE 17, 1
|
|
PRINT "Not enough magic"
|
|
ELSE
|
|
LOCATE 17, 1
|
|
PRINT "Super charge: max attack + 3 and min. attack + 1"
|
|
hattack1 = hattack1 + 3
|
|
lattack1 = lattack1 + 1
|
|
magic1 = magic1 - 50
|
|
END IF
|
|
CASE IS = "ox "
|
|
IF magic1 < 5 THEN
|
|
rhp2 = rhp2 - 1
|
|
LOCATE 17, 1
|
|
PRINT "Not enough magic"
|
|
ELSE
|
|
LOCATE 17, 1
|
|
PRINT "Min. attack + 1"
|
|
magic1 = magic1 - 5
|
|
lattack1 = lattack1 + 1
|
|
IF weaponname$ = "shiel" THEN
|
|
magic1 = magic1 + 5
|
|
END IF
|
|
END IF
|
|
CASE IS = "snak"
|
|
IF magic1 < 20 THEN
|
|
rhp2 = rhp2 - 1
|
|
LOCATE 17, 1
|
|
PRINT "Not enough magic"
|
|
ELSE
|
|
LOCATE 17, 1
|
|
PRINT "Venom bite. -1 max and min. attack to itself"
|
|
magic1 = magic1 - 20
|
|
lattack1 = lattack1 - 1
|
|
hattack1 = hattack1 - 1
|
|
rhp2 = rhp2 - 15 + magdef2
|
|
IF weaponname$ = "cape " THEN
|
|
hattack1 = hattack1 + 1
|
|
END IF
|
|
END IF
|
|
CASE IS = "mnky"
|
|
IF magic1 < 5 THEN
|
|
rhp2 = rhp2 - 1
|
|
LOCATE 17, 1
|
|
PRINT "Not enough magic"
|
|
ELSE
|
|
magic1 = magic1 - 5
|
|
phydef1 = phydef1 + 1
|
|
rhp1 = rhp1 + 7 - magdef2
|
|
LOCATE 17, 1
|
|
PRINT "Defense +1; Recovers 7 - ", magdef2
|
|
IF weaponname$ = "glove" THEN
|
|
rhp1 = rhp1 + magdef2
|
|
END IF
|
|
|
|
END IF
|
|
CASE IS = "dog "
|
|
phydef1 = phydef1 + 2
|
|
LOCATE 17, 1
|
|
PRINT "Defense +2"
|
|
CASE IS = "tigr"
|
|
IF magic1 < 5 THEN
|
|
rhp2 = rhp2 - 1
|
|
LOCATE 17, 1
|
|
PRINT "Not enough magic"
|
|
ELSE
|
|
magic1 = magic1 - 5
|
|
hattack1 = hattack1 + 1
|
|
LOCATE 17, 1
|
|
PRINT "Max attack + 1"
|
|
END IF
|
|
CASE IS = "boar"
|
|
IF magic1 < 2 THEN
|
|
rhp2 = rhp2 - 1
|
|
LOCATE 17, 1
|
|
PRINT "Not enough magic"
|
|
ELSE
|
|
magic1 = magic1 - 2
|
|
hattack1 = hattack1 + 1
|
|
LOCATE 17, 1
|
|
PRINT "Max attack + 1"
|
|
END IF
|
|
CASE IS = "roos"
|
|
IF magic1 < 2 THEN
|
|
rhp2 = rhp2 - 1
|
|
LOCATE 17, 1
|
|
PRINT "Not enough magic"
|
|
ELSE
|
|
magic1 = magic1 - 2
|
|
hattack1 = hattack1 + 1
|
|
phydef1 = phydef1 + 1
|
|
LOCATE 17, 1
|
|
PRINT "Max attack + 1; Defense +1"
|
|
END IF
|
|
CASE IS = "hare"
|
|
IF magic1 < 7 THEN
|
|
rhp2 = rhp2 - 1
|
|
LOCATE 17, 1
|
|
PRINT "Not enough magic"
|
|
ELSE
|
|
magic1 = magic1 - 7
|
|
rhp2 = rhp2 - 7 + magdef2
|
|
LOCATE 17, 1
|
|
END IF
|
|
PRINT "Lucky Strike"
|
|
CASE IS = "ZodM"
|
|
IF magic1 < 10 THEN
|
|
rhp2 = rhp2 - 1
|
|
LOCATE 17, 1
|
|
PRINT "Not enough magic"
|
|
ELSE
|
|
magic1 = magic1 - 10
|
|
e = INT(RND * 4 + 1)
|
|
SELECT CASE e
|
|
CASE IS = 1
|
|
rhp2 = rhp2 - 17 + magdef1
|
|
LOCATE 17, 1
|
|
PRINT "Thunder strikes enemy"
|
|
CASE IS = 2
|
|
IF magdef2 > hattack1 THEN
|
|
LOCATE 17, 1
|
|
PRINT "Opponent's magic defense is too high. Need higher max attack."
|
|
ELSE
|
|
magic1 = magic1 - 10
|
|
rhp2 = rhp2 - hattack1 + magdef2
|
|
phydef1 = phydef1 + 1
|
|
phydef2 = phydef2 - 1
|
|
rhp1 = rhp1 + (hattack1 - magdef2) * 2
|
|
LOCATE 17, 1
|
|
PRINT "Stole defense. Stole hp."
|
|
END IF
|
|
CASE IS = 3
|
|
rhp1 = rhp1 + 12
|
|
LOCATE 17, 1
|
|
PRINT "Recover 12"
|
|
CASE IS = 4
|
|
phydef1 = phydef1 + 2
|
|
PRINT "Defense +2"
|
|
END SELECT
|
|
END IF
|
|
END SELECT
|
|
|
|
|
|
CASE IS = "e"
|
|
SELECT CASE rname$
|
|
CASE IS = "ram "
|
|
hattack1 = hattack1 - 1
|
|
rhp1 = rhp1 + 10
|
|
LOCATE 17, 1
|
|
PRINT "Recover 10 hp but -1 max attack"
|
|
CASE IS = "drag"
|
|
IF magic1 < 5 THEN
|
|
rhp2 = rhp2 - 1
|
|
LOCATE 17, 1
|
|
PRINT not$
|
|
ELSE
|
|
rhp1 = rhp1 - 10
|
|
magic1 = magic1 - 8
|
|
rain = INT(RND * 3)
|
|
SELECT CASE rain
|
|
CASE IS = 0
|
|
rhp2 = rhp2 + 10 + magdef2
|
|
LOCATE 17, 1
|
|
PRINT "Rain heals opponent"
|
|
CASE IS = 1
|
|
rhp1 = rhp1 + 25 - magdef2
|
|
LOCATE 17, 1
|
|
PRINT "Dragon recovers life"
|
|
CASE IS = 2
|
|
rhp2 = rhp2 - 17 + magdef2
|
|
LOCATE 17, 1
|
|
PRINT "Thunder strikes opponent"
|
|
END SELECT
|
|
END IF
|
|
CASE IS = "hors"
|
|
IF magic1 = 0 THEN
|
|
magic1 = magic1 + 10
|
|
ELSE magic1 = magic1 + 1
|
|
END IF
|
|
LOCATE 17, 1
|
|
PRINT "Magic restore"
|
|
CASE IS = "rat "
|
|
IF magic1 < 10 THEN
|
|
rhp2 = rhp2 - 1
|
|
LOCATE 17, 1
|
|
PRINT not$
|
|
ELSE
|
|
IF magdef2 > hattack1 THEN
|
|
LOCATE 17, 1
|
|
PRINT "Opponent's magic defense is too high. Need higher max attack."
|
|
ELSE
|
|
magic1 = magic1 - 10
|
|
rhp2 = rhp2 - hattack1 + magdef2
|
|
phydef1 = phydef1 + 1
|
|
phydef2 = phydef2 - 1
|
|
rhp1 = rhp1 + (hattack1 - magdef2) * 2
|
|
LOCATE 17, 1
|
|
PRINT "Rat attack 1: Stole defense. Stole hp."
|
|
END IF
|
|
END IF
|
|
CASE IS = "ox "
|
|
IF magic1 = 0 THEN
|
|
magic1 = magic1 + 5
|
|
LOCATE 17, 1
|
|
PRINT "Magic restore"
|
|
ELSE
|
|
LOCATE 17, 1
|
|
PRINT "Magic restore best works when magic is 0"
|
|
END IF
|
|
CASE IS = "snak"
|
|
IF magic1 < 6 THEN
|
|
LOCATE 17, 1
|
|
PRINT not$
|
|
ELSE
|
|
magic2 = magic2 - 10
|
|
rhp2 = rhp2 - 1
|
|
magic1 = magic1 - 6
|
|
LOCATE 17, 1
|
|
PRINT "Weakening poison"
|
|
END IF
|
|
CASE IS = "mnky"
|
|
IF magic1 < 5 THEN
|
|
LOCATE 17, 1
|
|
PRINT not$
|
|
ELSE
|
|
magic1 = magic1 - 5
|
|
rhp2 = rhp2 - phydef2 - phydef1
|
|
LOCATE 17, 1
|
|
PRINT "Defense trick"
|
|
END IF
|
|
CASE IS = "dog "
|
|
phydef2 = phydef2 - 2
|
|
LOCATE 17, 1
|
|
PRINT "Bark: Opponent's defense drop by 2"
|
|
CASE IS = "tigr"
|
|
IF magic1 < 15 THEN
|
|
LOCATE 17, 1
|
|
PRINT not$
|
|
ELSE
|
|
magic1 = magic1 - 15
|
|
hattack1 = hattack1 + 2
|
|
LOCATE 17, 1
|
|
PRINT "High rage: max attack + 2"
|
|
END IF
|
|
CASE IS = "boar"
|
|
LOCATE 17, 1
|
|
PRINT "EAT"
|
|
rhp1 = rhp1 + 5
|
|
magic1 = magic1 + 5
|
|
CASE IS = "roos"
|
|
IF magic1 < 20 THEN
|
|
LOCATE 17, 1
|
|
PRINT not$
|
|
ELSE
|
|
hattack1 = hattack1 * 2
|
|
LOCATE 17, 1
|
|
PRINT "Hyper Rooster: max attack * 2"
|
|
magic1 = magic1 - 20
|
|
END IF
|
|
CASE IS = "hare"
|
|
IF magic1 < 7 THEN
|
|
LOCATE 17, 1
|
|
PRINT not$
|
|
ELSE
|
|
IF magdef2 < 4 THEN
|
|
LOCATE 17, 1
|
|
PRINT "Lucky Strike2"
|
|
magic1 = magic1 - 7
|
|
rhp2 = rhp2 - 3 + magdef2
|
|
SLEEP 1
|
|
rhp2 = rhp2 - 3 + magdef2
|
|
SLEEP 1
|
|
rhp2 = rhp2 - 3 + magdef2
|
|
ELSE
|
|
LOCATE 17, 1
|
|
PRINT "Opponent's magic defense is too high"
|
|
END IF
|
|
END IF
|
|
END SELECT
|
|
CASE IS = "r"
|
|
SELECT CASE rname$
|
|
CASE IS = "ram "
|
|
LOCATE 17, 1
|
|
PRINT "Normal attack"
|
|
rhp2 = rhp2 - INT(RND * hattack1 + lattack1 - phydef2)
|
|
CASE IS = "drag"
|
|
LOCATE 17, 1
|
|
PRINT "Fireball"
|
|
rhp2 = rhp2 - 9 + magdef2
|
|
rhp1 = rhp1 - 5
|
|
CASE IS = "hors"
|
|
IF magic1 < 10 THEN
|
|
LOCATE 17, 1
|
|
PRINT not$
|
|
ELSE
|
|
LOCATE 17, 1
|
|
PRINT "Race"
|
|
magic1 = magic1 - 10
|
|
rhp2 = rhp2 - 13 + magdef2
|
|
END IF
|
|
CASE IS = "rat "
|
|
IF magic2 < 10 THEN
|
|
LOCATE 17, 1
|
|
PRINT "Opponent have too little magic."
|
|
ELSE
|
|
rhp1 = rhp1 - 10
|
|
magic2 = magic2 - 10 + magdef2
|
|
magic1 = magic1 + 10 - magdef2
|
|
magdef2 = magdef2 - 1
|
|
LOCATE 17, 1
|
|
PRINT "Stole magic; Lower opponent's magic defense"
|
|
END IF
|
|
CASE IS = "ox "
|
|
IF magic1 < 5 THEN
|
|
LOCATE 17, 1
|
|
PRINT not$
|
|
ELSE
|
|
magic1 = magic1 - 5
|
|
hattack1 = hattack1 + 2
|
|
LOCATE 17, 1
|
|
PRINT "Max attack +2"
|
|
END IF
|
|
CASE IS = "snak"
|
|
IF magic1 < 4 THEN
|
|
LOCATE 17, 1
|
|
PRINT not$
|
|
ELSE
|
|
magic1 = magic1 - 4
|
|
poison = INT(RND * 2 + 1)
|
|
IF poison = 1 THEN
|
|
phydef2 = phydef2 - 1
|
|
LOCATE 17, 1
|
|
PRINT "Poison: Opponent's defense -1"
|
|
ELSE
|
|
magdef2 = magdef2 - 1
|
|
LOCATE 17, 1
|
|
PRINT "Poison: Opponent's magic defense -1"
|
|
END IF
|
|
END IF
|
|
CASE IS = "mnky"
|
|
IF magic1 < 5 THEN
|
|
LOCATE 17, 1
|
|
PRINT not$
|
|
ELSE
|
|
magic1 = magic1 - 5
|
|
LOCATE 17, 1
|
|
PRINT "Dodge: Defense +1; Magic defense +1; Max attack -1"
|
|
phydef1 = phydef1 + 1
|
|
magdef1 = magdef1 + 1
|
|
hattack1 = hattack1 - 1
|
|
END IF
|
|
CASE IS = "dog "
|
|
LOCATE 17, 1
|
|
PRINT "Follower: Copy opponent's normal attack"
|
|
rhp2 = rhp2 - INT(RND * hattack2 + lattack2 - phydef2)
|
|
CASE IS = "tigr"
|
|
hattack1 = hattack1 - 1
|
|
magic1 = magic1 + 8
|
|
LOCATE 17, 1
|
|
PRINT "Cat rest: -1 max attack to itself"
|
|
CASE IS = "boar"
|
|
IF magic1 < 2 THEN
|
|
LOCATE 17, 1
|
|
PRINT not$
|
|
ELSE
|
|
LOCATE 17, 1
|
|
PRINT "Fat Slam: magic cut in half and damage = half of magic"
|
|
rhp2 = rhp2 - INT(magic1 / 2) + magdef2
|
|
magic1 = INT(magic1 / 2)
|
|
END IF
|
|
CASE IS = "roos"
|
|
IF magic1 < 5 THEN
|
|
LOCATE 17, 1
|
|
PRINT not$
|
|
ELSE
|
|
IF rhp1 > 10 THEN
|
|
LOCATE 17, 1
|
|
PRINT "Not sunrise time yet"
|
|
ELSE
|
|
LOCATE 17, 1
|
|
PRINT "Sunrise"
|
|
magic1 = magic1 - 5
|
|
rhp1 = rhp1 - rhp1 + 25
|
|
END IF
|
|
END IF
|
|
CASE IS = "hare"
|
|
luck = INT(RND * 8 + 5)
|
|
IF luck > magic1 THEN
|
|
LOCATE 17, 1
|
|
PRINT not$
|
|
ELSE
|
|
magic1 = magic1 - luck
|
|
rhp2 = rhp2 - luck + magdef2
|
|
END IF
|
|
|
|
END SELECT
|
|
END SELECT
|
|
|
|
|
|
LOCATE 10, 1
|
|
PRINT SPACE$(120)
|
|
LOCATE 10, 20
|
|
PRINT "Hp", rhp2
|
|
LOCATE 10, 5
|
|
PRINT "Hp", rhp1
|
|
LOCATE 15, 5
|
|
PRINT "Magic", magic1
|
|
LOCATE 15, 20
|
|
PRINT "Magic", magic2
|
|
IF rhp1 <= 0 OR rhp2 <= 0 THEN EXIT DO
|
|
|
|
|
|
LOCATE 20, 5
|
|
PRINT "PLAYER 2:normal attack", attack21$
|
|
DO
|
|
key2$ = INKEY$
|
|
LOOP UNTIL key2$ = "u" OR key2$ = "i" OR key2$ = "o" OR key2$ = "p"
|
|
LOCATE 17, 1
|
|
PRINT SPACE$(99)
|
|
|
|
SELECT CASE key2$
|
|
CASE IS = "u"
|
|
rhp1 = rhp1 - INT(RND * hattack2 + lattack2 - phydef1)
|
|
LOCATE 17, 1
|
|
PRINT "Normal attack"
|
|
CASE IS = "i"
|
|
SELECT CASE rname2$
|
|
CASE IS = "ram "
|
|
hattack2 = hattack2 + 2
|
|
LOCATE 17, 1
|
|
PRINT "Max attack + 2"
|
|
CASE IS = "drag"
|
|
IF magic2 < 4 THEN
|
|
rhp1 = rhp1 - 1
|
|
LOCATE 17, 1
|
|
PRINT "Not enough magic"
|
|
ELSE
|
|
hattack2 = hattack2 + 1
|
|
rhp2 = rhp2 - 3
|
|
magic2 = magic2 - 4
|
|
LOCATE 17, 1
|
|
PRINT "Max atttack + 1"
|
|
IF weaponname2$ = "wand " THEN
|
|
rhp2 = rhp2 + 4
|
|
END IF
|
|
END IF
|
|
CASE IS = "hors"
|
|
IF magic2 < 5 THEN
|
|
rhp1 = rhp1 - 1
|
|
LOCATE 17, 1
|
|
PRINT "Not enough magic"
|
|
ELSE
|
|
rhp2 = rhp2 + 7
|
|
magic2 = magic2 - 5
|
|
IF weaponname2$ = "cape " THEN
|
|
rhp1 = rhp1 + 3
|
|
END IF
|
|
|
|
LOCATE 17, 1
|
|
PRINT "Recover 7"
|
|
END IF
|
|
CASE IS = "rat "
|
|
IF magic2 < 50 THEN
|
|
rhp1 = rhp1 - 1
|
|
LOCATE 17, 1
|
|
PRINT "Not enough magic"
|
|
ELSE
|
|
LOCATE 17, 1
|
|
PRINT "Super charge: max attack + 3 and min. attack + 1"
|
|
hattack2 = hattack2 + 3
|
|
lattack2 = lattack2 + 1
|
|
magic2 = magic2 - 50
|
|
END IF
|
|
CASE IS = "ox "
|
|
IF magic2 < 5 THEN
|
|
rhp1 = rhp1 - 1
|
|
LOCATE 17, 1
|
|
PRINT "Not enough magic"
|
|
ELSE
|
|
LOCATE 17, 1
|
|
PRINT "Min. attack + 1"
|
|
magic2 = magic2 - 5
|
|
lattack2 = lattack2 + 1
|
|
IF weaponname$ = "shiel" THEN
|
|
magic1 = magic1 + 5
|
|
END IF
|
|
|
|
END IF
|
|
CASE IS = "snak"
|
|
IF magic2 < 20 THEN
|
|
rhp1 = rhp1 - 1
|
|
LOCATE 17, 1
|
|
PRINT "Not enough magic"
|
|
ELSE
|
|
LOCATE 17, 1
|
|
PRINT "Venom bite. -1 max and min. attack to itself"
|
|
magic2 = magic2 - 20
|
|
lattack2 = lattack2 - 1
|
|
hattack2 = hattack2 - 1
|
|
rhp1 = rhp1 - 15 + magdef2
|
|
IF weaponname2$ = "cape " THEN
|
|
hattack2 = hattack2 + 1
|
|
END IF
|
|
|
|
END IF
|
|
CASE IS = "mnky"
|
|
IF magic2 < 5 THEN
|
|
rhp1 = rhp1 - 1
|
|
LOCATE 17, 1
|
|
PRINT "Not enough magic"
|
|
ELSE
|
|
magic2 = magic2 - 5
|
|
phydef2 = phydef2 + 1
|
|
rhp2 = rhp2 + 7 - magdef1
|
|
LOCATE 17, 1
|
|
PRINT "Defense +1;Recovers 7 -", magdef1
|
|
IF weaponname2$ = "glove" THEN
|
|
rhp2 = rhp2 + magdef1
|
|
END IF
|
|
END IF
|
|
CASE IS = "dog "
|
|
phydef2 = phydef2 + 2
|
|
LOCATE 17, 1
|
|
PRINT "Defense +2"
|
|
CASE IS = "tigr"
|
|
IF magic2 < 5 THEN
|
|
rhp1 = rhp1 - 1
|
|
LOCATE 17, 1
|
|
PRINT "Not enough magic"
|
|
ELSE
|
|
magic2 = magic2 - 5
|
|
hattack2 = hattack2 + 1
|
|
LOCATE 17, 1
|
|
PRINT "Max attack + 1"
|
|
END IF
|
|
CASE IS = "boar"
|
|
IF magic2 < 2 THEN
|
|
rhp1 = rhp1 - 1
|
|
LOCATE 17, 1
|
|
PRINT "Not enough magic"
|
|
ELSE
|
|
magic2 = magic2 - 2
|
|
hattack2 = hattack2 + 1
|
|
LOCATE 17, 1
|
|
PRINT "Max attack + 1"
|
|
END IF
|
|
CASE IS = "roos"
|
|
IF magic2 < 2 THEN
|
|
rhp1 = rhp1 - 1
|
|
LOCATE 17, 1
|
|
PRINT "Not enough magic"
|
|
ELSE
|
|
magic2 = magic2 - 2
|
|
hattack2 = hattack2 + 1
|
|
phydef2 = phydef2 + 1
|
|
LOCATE 17, 1
|
|
PRINT "Max attack + 1;Defense +1"
|
|
END IF
|
|
CASE IS = "hare"
|
|
IF magic2 < 7 THEN
|
|
rhp1 = rhp1 - 1
|
|
LOCATE 17, 1
|
|
PRINT "Not enough magic"
|
|
ELSE
|
|
magic2 = magic2 - 7
|
|
rhp1 = rhp1 - 7 + magdef1
|
|
LOCATE 17, 1
|
|
PRINT "Lucky Strike"
|
|
END IF
|
|
CASE IS = "ZodM"
|
|
IF magic2 < 10 THEN
|
|
rhp1 = rhp1 - 1
|
|
LOCATE 17, 1
|
|
PRINT "Not enough magic"
|
|
ELSE
|
|
magic2 = magic2 - 10
|
|
e = INT(RND * 4 + 1)
|
|
SELECT CASE e
|
|
CASE IS = 1
|
|
rhp1 = rhp1 - 17 + magdef1
|
|
LOCATE 17, 1
|
|
PRINT "Thunder strikes enemy"
|
|
CASE IS = 2
|
|
IF magdef1 > hattack2 THEN
|
|
LOCATE 17, 1
|
|
PRINT "Opponent's magic defense is too high. Need higher max attack."
|
|
ELSE
|
|
magic2 = magic2 - 10
|
|
rhp1 = rhp1 - hattack2 + magdef1
|
|
phydef2 = phydef2 + 1
|
|
phydef1 = phydef1 - 1
|
|
rhp2 = rhp2 + (hattack2 - magdef1) * 2
|
|
LOCATE 17, 1
|
|
PRINT "Stole defense. Stole hp."
|
|
END IF
|
|
CASE IS = 3
|
|
rhp2 = rhp2 + 12
|
|
LOCATE 17, 1
|
|
PRINT "Recover 12"
|
|
CASE IS = 4
|
|
phydef1 = phydef1 + 2
|
|
PRINT "Defense +2"
|
|
END SELECT
|
|
END IF
|
|
|
|
|
|
END SELECT
|
|
|
|
CASE IS = "o"
|
|
SELECT CASE rname2$
|
|
CASE IS = "ram "
|
|
hattack2 = hattack2 - 1
|
|
rhp2 = rhp2 + 10
|
|
LOCATE 17, 1
|
|
PRINT "Recover 10 hp but -1 max attack"
|
|
CASE IS = "drag"
|
|
IF magic2 < 5 THEN
|
|
rhp1 = rhp1 - 1
|
|
LOCATE 17, 1
|
|
PRINT not$
|
|
ELSE
|
|
rhp2 = rhp2 - 10
|
|
magic2 = magic2 - 8
|
|
rain = INT(RND * 3)
|
|
SELECT CASE rain
|
|
CASE IS = 0
|
|
rhp1 = rhp1 + 10 + magdef1
|
|
LOCATE 17, 1
|
|
PRINT "Rain heals opponent"
|
|
CASE IS = 1
|
|
rhp2 = rhp2 + 25 - magdef1
|
|
LOCATE 17, 1
|
|
PRINT "Dragon recovers life"
|
|
CASE IS = 2
|
|
rhp1 = rhp1 - 17 + magdef1
|
|
LOCATE 17, 1
|
|
PRINT "Thunder strikes opponent"
|
|
END SELECT
|
|
END IF
|
|
CASE IS = "hors"
|
|
IF magic2 = 0 THEN
|
|
magic2 = magic2 + 10
|
|
ELSE magic2 = magic2 + 1
|
|
END IF
|
|
LOCATE 17, 1
|
|
PRINT "Magic restore"
|
|
CASE IS = "rat "
|
|
IF magic2 < 10 THEN
|
|
rhp1 = rhp1 - 1
|
|
LOCATE 17, 1
|
|
PRINT not$
|
|
ELSE
|
|
IF magdef1 > hattack2 THEN
|
|
LOCATE 17, 1
|
|
PRINT "Opponent's magic defense is too high. Need higher max attack."
|
|
ELSE
|
|
magic2 = magic2 - 10
|
|
rhp1 = rhp1 - hattack2 + magdef1
|
|
phydef2 = phydef2 + 1
|
|
phydef1 = phydef1 - 1
|
|
rhp2 = rhp2 + (hattack2 - magdef1) * 2
|
|
LOCATE 17, 1
|
|
PRINT "Rat attack 1: Stole defense. Stole hp."
|
|
END IF
|
|
END IF
|
|
CASE IS = "ox "
|
|
IF magic2 = 0 THEN
|
|
magic2 = magic2 + 5
|
|
LOCATE 17, 1
|
|
PRINT "Magic restore"
|
|
ELSE
|
|
LOCATE 17, 1
|
|
PRINT "Magic restore best works when magic is 0"
|
|
END IF
|
|
CASE IS = "snak"
|
|
IF magic2 < 6 THEN
|
|
LOCATE 17, 1
|
|
PRINT not$
|
|
ELSE
|
|
magic1 = magic1 - 10
|
|
rhp1 = rhp1 - 1
|
|
magic2 = magic2 - 6
|
|
LOCATE 17, 1
|
|
PRINT "Weakening poison"
|
|
END IF
|
|
CASE IS = "mnky"
|
|
IF magic2 < 5 THEN
|
|
LOCATE 17, 1
|
|
PRINT not$
|
|
ELSE
|
|
magic2 = magic2 - 5
|
|
rhp1 = rhp1 - phydef1 - phydef2
|
|
LOCATE 17, 1
|
|
PRINT "Defense trick"
|
|
END IF
|
|
CASE IS = "dog "
|
|
phydef1 = phydef1 - 1
|
|
LOCATE 17, 1
|
|
PRINT "Bark: Opponent's defense drop by 2"
|
|
CASE IS = "tigr"
|
|
IF magic2 < 15 THEN
|
|
LOCATE 17, 1
|
|
PRINT not$
|
|
ELSE
|
|
magic2 = magic2 - 15
|
|
hattack2 = hattack2 + 2
|
|
LOCATE 17, 1
|
|
PRINT "High rage: max attack + 2"
|
|
END IF
|
|
CASE IS = "boar"
|
|
LOCATE 17, 1
|
|
PRINT "EAT"
|
|
rhp2 = rhp2 + 5
|
|
magic2 = magic2 + 5
|
|
CASE IS = "roos"
|
|
IF magic2 < 20 THEN
|
|
LOCATE 17, 1
|
|
PRINT not$
|
|
ELSE
|
|
hattack2 = hattack2 * 2
|
|
LOCATE 17, 1
|
|
PRINT "Hyper Rooster: max attack * 2"
|
|
magic2 = magic2 - 20
|
|
END IF
|
|
CASE IS = "hare"
|
|
IF magic2 < 7 THEN
|
|
LOCATE 17, 1
|
|
PRINT not$
|
|
ELSE
|
|
IF magdef1 < 4 THEN
|
|
LOCATE 17, 1
|
|
PRINT "Lucky Strike2"
|
|
magic2 = magic2 - 7
|
|
rhp1 = rhp1 - 3 + magdef1
|
|
SLEEP 1
|
|
rhp1 = rhp1 - 3 + magdef1
|
|
SLEEP 1
|
|
rhp1 = rhp1 - 3 + magdef1
|
|
ELSE
|
|
LOCATE 17, 1
|
|
PRINT "Opponent's magic defense is too high"
|
|
END IF
|
|
END IF
|
|
END SELECT
|
|
CASE IS = "p"
|
|
SELECT CASE rname2$
|
|
CASE IS = "ram "
|
|
LOCATE 17, 1
|
|
PRINT "Normal attack"
|
|
rhp1 = rhp1 - INT(RND * hattack2 + lattack2 - phydef1)
|
|
CASE IS = "drag"
|
|
LOCATE 17, 1
|
|
PRINT "Fireball"
|
|
rhp1 = rhp1 - 9 + magdef1
|
|
rhp2 = rhp2 - 5
|
|
CASE IS = "hors"
|
|
IF magic2 < 10 THEN
|
|
LOCATE 17, 1
|
|
PRINT not$
|
|
ELSE
|
|
LOCATE 17, 1
|
|
PRINT "Race"
|
|
magic2 = magic2 - 10
|
|
rhp1 = rhp1 - 13 + magdef1
|
|
END IF
|
|
CASE IS = "rat "
|
|
IF magic1 < 10 THEN
|
|
LOCATE 17, 1
|
|
PRINT "Opponent have too little magic."
|
|
ELSE
|
|
|
|
rhp2 = rhp2 - 10
|
|
magic1 = magic1 - 10 + magdef1
|
|
magic2 = magic2 + 10 - magdef1
|
|
magdef1 = magdef1 - 1
|
|
LOCATE 17, 1
|
|
PRINT "Stole magic; Lower opponent's magic defense"
|
|
END IF
|
|
CASE IS = "ox "
|
|
IF magic2 < 5 THEN
|
|
LOCATE 17, 1
|
|
PRINT not$
|
|
ELSE
|
|
magic2 = magic2 - 5
|
|
hattack2 = hattack2 + 2
|
|
LOCATE 17, 1
|
|
PRINT "Max attack +2"
|
|
END IF
|
|
CASE IS = "snak"
|
|
IF magic2 < 4 THEN
|
|
LOCATE 17, 1
|
|
PRINT not$
|
|
ELSE
|
|
magic2 = magic2 - 4
|
|
poison = INT(RND * 2 + 1)
|
|
IF poison = 1 THEN
|
|
phydef1 = phydef1 - 1
|
|
LOCATE 17, 1
|
|
PRINT "Poison: Opponent's defense -1"
|
|
ELSE
|
|
magdef1 = magdef1 - 1
|
|
LOCATE 17, 1
|
|
PRINT "Poison: Opponent's magic defense -1"
|
|
END IF
|
|
END IF
|
|
CASE IS = "mnky"
|
|
IF magic2 < 5 THEN
|
|
LOCATE 17, 1
|
|
PRINT not$
|
|
ELSE
|
|
magic2 = magic2 - 5
|
|
LOCATE 17, 1
|
|
PRINT "Dodge: Defense +1; Magic defense +1; Max attack -1"
|
|
phydef2 = phydef2 + 1
|
|
magdef2 = magdef2 + 1
|
|
hattack2 = hattack2 - 1
|
|
END IF
|
|
CASE IS = "dog "
|
|
LOCATE 17, 1
|
|
PRINT "Follower: Copy opponent's normal attack"
|
|
rhp1 = rhp1 - INT(RND * hattack1 + lattack1 - phydef1)
|
|
CASE IS = "tigr"
|
|
hattack2 = hattack2 - 1
|
|
magic2 = magic2 + 8
|
|
LOCATE 17, 1
|
|
PRINT "Cat rest: -1 max attack to itself"
|
|
CASE IS = "boar"
|
|
IF magic2 < 2 THEN
|
|
LOCATE 17, 1
|
|
PRINT not$
|
|
ELSE
|
|
LOCATE 17, 1
|
|
PRINT "Fat Slam: magic cut in half and damage = half of magic"
|
|
rhp1 = rhp1 - INT(magic2 / 2) + magdef1
|
|
magic2 = INT(magic2 / 2)
|
|
END IF
|
|
CASE IS = "roos"
|
|
IF magic2 < 5 THEN
|
|
LOCATE 17, 1
|
|
PRINT not$
|
|
ELSE
|
|
IF rhp2 > 10 THEN
|
|
LOCATE 17, 1
|
|
PRINT "Not sunrise time yet"
|
|
ELSE
|
|
LOCATE 17, 1
|
|
PRINT "Sunrise"
|
|
magic2 = magic2 - 5
|
|
rhp2 = rhp2 - rhp2 + 25
|
|
END IF
|
|
END IF
|
|
CASE IS = "hare"
|
|
luck = INT(RND * 8 + 5)
|
|
IF luck > magic2 THEN
|
|
LOCATE 17, 1
|
|
PRINT not$
|
|
ELSE
|
|
magic2 = magic2 - luck
|
|
rhp1 = rhp1 - luck + magdef1
|
|
END IF
|
|
|
|
END SELECT
|
|
|
|
END SELECT
|
|
LOCATE 10, 1
|
|
PRINT SPACE$(120)
|
|
LOCATE 10, 20
|
|
PRINT "Hp", rhp2
|
|
LOCATE 10, 5
|
|
PRINT "Hp", rhp1
|
|
LOCATE 15, 5
|
|
PRINT "Magic", magic1
|
|
LOCATE 15, 20
|
|
PRINT "Magic", magic2
|
|
LOOP
|
|
IF rhp1 < 1 THEN
|
|
LOCATE 18, 1
|
|
PRINT "PLAYER 2 wins with", rname2$
|
|
ELSE
|
|
IF rhp2 < 1 THEN
|
|
LOCATE 18, 1
|
|
PRINT "PLAYER 1 wins with", rname$
|
|
END IF
|
|
END IF
|
|
SLEEP
|
|
LOOP
|
|
rDATA:
|
|
DATA "ram 40 00 03 04 1 3"
|
|
DATA "drag 90 40 02 02 1 1"
|
|
DATA "hors 40 10 05 03 1 1"
|
|
DATA "rat 20 90 04 02 0 5"
|
|
DATA "ox 60 5 07 02 2 1"
|
|
DATA "snak 30 30 05 05 0 1"
|
|
DATA "mnky 25 50 03 02 3 2"
|
|
DATA "dog 35 00 04 04 0 0"
|
|
DATA "tigr 50 40 02 06 0 1"
|
|
DATA "boar 55 10 03 05 2 0"
|
|
DATA "roos 25 40 03 02 1 2"
|
|
DATA "hare 22 77 11 00 3 3"
|
|
DATA "ZodM 60 50 17 05 2 2"
|
|
|
|
|
|
instructions:
|
|
CLS
|
|
PLAY "MB<<e4 c4 e4 f8 f8>>"
|
|
LOCATE 2, 2
|
|
PRINT "INSTRUCTIONS"
|
|
PRINT " SELECT animal"
|
|
PRINT " Enter a number from 0 to 12 (0 = random)"
|
|
PRINT " Player 2 select animal"
|
|
PRINT " Battling"
|
|
PRINT " For Player 1, use q,w,e,r to select a move for your animal"
|
|
PRINT " For Player 2, use u,i,o,p to select a move for your animal"
|
|
PRINT " q and u is the normal attack for all animals"
|
|
PRINT " Damage Calculations"
|
|
PRINT " Normal attack: max. attack * random number(0-1) + min.attack"
|
|
PRINT " - opponent's defense"
|
|
PRINT " Special attacks depend on the move subtract opponent's magic defense"
|
|
PRINT " Most specials cost magic. If not enough magic, does nothing or does"
|
|
PRINT " 1 damage"
|
|
PRINT " Weapons"
|
|
PRINT " You can select weapons using the numbers 1 - 7. Go to weapon section"
|
|
PRINT " for more details."
|
|
PRINT " Winning"
|
|
PRINT " Lower your opponents hp to 0 or less"
|
|
PRINT " To Quit"
|
|
PRINT " Press 'x'"
|
|
DO
|
|
key$ = INKEY$
|
|
LOOP UNTIL key$ <> ""
|
|
IF key$ <> "" THEN
|
|
GOSUB title
|
|
END IF
|
|
|
|
weapond:
|
|
CLS
|
|
PRINT "WEAPONS"
|
|
PRINT " Here is the weapon data chart:"
|
|
PRINT "sword 00 -5 04 02 00"
|
|
PRINT "mace 00 -5 03 03 00"
|
|
PRINT "wand 10 10 00 00 03"
|
|
PRINT "glove 05 05 02 02 02"
|
|
PRINT "shiel 05 -9 00 04 02"
|
|
PRINT "cape 20 05 00 01 01"
|
|
PRINT "bow 10 05 02 01 01"
|
|
PRINT " Here is how you read the chart:"
|
|
PRINT "name,+life,+magic,+max attack,+defense,+magicdefense"
|
|
PRINT "Weapons don't just do what you see here. There are more secrets"
|
|
PRINT "that'll be kept hidden. See if you could NOTICE some of the secrets"
|
|
PRINT "during battle. Secrets only work to certain animals and certain weapons"
|
|
PRINT "Clue: Usually a secret ativates when you use the first special move(w or i)"
|
|
DO
|
|
wkey$ = INKEY$
|
|
LOOP UNTIL wkey$ <> ""
|
|
GOSUB title
|
|
animaldata:
|
|
DO
|
|
DO
|
|
CLS
|
|
RESTORE rDATA
|
|
FOR count = 1 TO 13
|
|
READ r$(count)
|
|
NEXT count
|
|
|
|
LOCATE 2, 2
|
|
INPUT "Enter Code:", dnumber
|
|
LOOP UNTIL 0 < dnumber AND dnumber < 14
|
|
|
|
dname$ = LEFT$(r$(dnumber), 4)
|
|
rhp = VAL(MID$(r$(dnumber), 5, 3))
|
|
|
|
magic = VAL(MID$(r$(dnumber), 9, 2))
|
|
|
|
hattack = VAL(MID$(r$(dnumber), 12, 2))
|
|
|
|
lattack = VAL(MID$(r$(dnumber), 15, 2))
|
|
|
|
phydef = VAL(MID$(r$(dnumber), 18, 1))
|
|
|
|
magdef = VAL(MID$(r$(dnumber), 20, 1))
|
|
|
|
SELECT CASE dname$
|
|
CASE IS = "ram "
|
|
description$ = "Can charge up max attack fast and could heal too."
|
|
CASE IS = "dragon"
|
|
description$ = "Have highest life but low attack. Wide range of magic but hurts itself."
|
|
CASE IS = "hors"
|
|
description$ = "Have good healing skills and a powerful move too."
|
|
CASE IS = "rat "
|
|
description$ = "Really low life but could steal life and stats from opponent."
|
|
CASE IS = "ox "
|
|
description$ = "High life and depend only on its normal attack."
|
|
CASE IS = "snak"
|
|
description$ = "Great range of poisonous attacks that'll surprise the opponent."
|
|
CASE IS = "mnky"
|
|
description$ = "Very defensive and could use the opponents' defense against them."
|
|
CASE IS = "dog "
|
|
description$ = "Lots of moves that changes defense."
|
|
CASE IS = "tigr"
|
|
description$ = "Start out strong but could get stronger."
|
|
CASE IS = "boar"
|
|
description$ = "The more you eat, the better is your Fat Slam!"
|
|
CASE IS = "roos"
|
|
description$ = "Start out weak but could charge up and could restore full life."
|
|
CASE IS = "hare"
|
|
description$ = "Highest defense and depends on luck"
|
|
CASE IS = "ZodM"
|
|
description$ = "Can only be used if you chose random. Have the strongest moves from animals."
|
|
END SELECT
|
|
|
|
|
|
LOCATE 3, 3
|
|
PRINT "Name of animal:", dname$
|
|
PRINT " Max life:", rhp
|
|
PRINT " Max magic:", magic
|
|
PRINT " Max attack:", hattack
|
|
PRINT " Min attack:", lattack
|
|
PRINT " Defense:", phydef
|
|
PRINT " Magic Defense:", magdef
|
|
PRINT " "
|
|
PRINT description$
|
|
LOCATE 20, 10
|
|
PRINT "Press 'd' to check another animal"
|
|
PRINT "Press 'x' to exit"
|
|
SLEEP
|
|
key$ = INKEY$
|
|
LOOP WHILE key$ = "d"
|
|
GOSUB title
|
|
|
|
weaponDATA:
|
|
DATA "sword 00 -5 04 02 00"
|
|
DATA "mace 00 -5 03 03 00"
|
|
DATA "wand 10 10 00 00 03"
|
|
DATA "glove 05 05 02 02 02"
|
|
DATA "shiel 05 -9 00 04 02"
|
|
DATA "cape 20 05 00 01 01"
|
|
DATA "bow 10 05 02 01 01"
|
|
|
|
endsection:
|
|
CLS
|
|
PRINT "Game created by Paulunknown"
|
|
PRINT "Thanks for playing. Please give me some comments on this."
|
|
PRINT " "
|
|
PRINT "Also, I wish I could get some graphics in this game but I barely know"
|
|
PRINT "the basics of creating pictures. I really need some help on that."
|
|
PRINT " "
|
|
PRINT "Feel free to tell a friend about this or send it to them. This is "
|
|
PRINT "probably my first game."
|
|
SLEEP
|
|
END |