mirror of
https://github.com/QB64-Phoenix-Edition/QB64pe.git
synced 2024-09-20 09:04:43 +00:00
9ee89d6ff4
These tests use a variety of sample code (with some of the larger files removed, so they are not complete!) and verifies that they all compile successfully.
1314 lines
No EOL
30 KiB
QBasic
1314 lines
No EOL
30 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 |