setscreen ("offscreenonly")
var x, y, button : int
var playerx : int := 50
var playery : int := 50
var playerDEF, playerATK, playerMGC, playerHP, playerLVL, playerdamage, prandATK, erandATK, playerEXP : int
var enemyDEF, enemyATK, enemyMGC, enemyHP, enemyLVL, enemyx, enemyy, enemydamage, enemyEXP : array 1 .. 5 of int
var chars : array char of boolean
playerDEF := 5
playerATK := 5
playerMGC := 1
playerLVL := 1
playerHP := 100
playerEXP := 1
enemyx (1) := 200
enemyy (1) := 200
enemyDEF (1) := 3
enemyATK (1) := 5
enemyMGC (1) := 1
enemyLVL (1) := 1
enemyHP (1) := 75
loop
randint (enemyEXP (1), 5, 15)
Mouse.Where (x, y, button)
View.Update
delay (20)
cls
drawfilloval (playerx, playery, 10, 10, 12)
drawfilloval (enemyx (1), enemyy (1), 10, 10, 7)
Input.KeyDown (chars)
locate (1, 1)
if chars (KEY_UP_ARROW) then
playery += 2
end if
if chars (KEY_RIGHT_ARROW) then
playerx += 2
end if
if chars (KEY_LEFT_ARROW) then
playerx -= 2
end if
if chars (KEY_DOWN_ARROW) then
playery -= 2
end if
put "enemy HP: ", enemyHP (1) ..
locate (2, 1)
put "Your HP: ", playerHP ..
locate (3, 1)
put "Your EXP: ", playerEXP ..
if playerx >= enemyx (1) - 20 and playery >= enemyy (1) - 20 and playerx <= enemyx (1) + 20 and playery <= enemyy (1) + 20 then
loop
Mouse.Where (x, y, button)
if button = 1 then
View.Update
cls
put "enemy HP: ", enemyHP (1) ..
locate (2, 1)
put "Your HP: ", playerHP ..
locate (3, 1)
put "Your EXP: ", playerEXP ..
drawfilloval (playerx, playery, 10, 10, 12)
drawfilloval (enemyx (1), enemyy (1), 10, 10, 7)
randint (erandATK, 1, 6)
randint (prandATK, 1, 6)
enemydamage (1) := erandATK + enemyATK (1) - playerDEF
playerdamage := prandATK + playerATK - enemyDEF (1)
enemyHP (1) := enemyHP (1) - playerdamage
playerHP := playerHP - enemydamage (1)
delay (1000)
exit when enemyHP (1) <= 0
end if
end loop
end if
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% HERE IS MY PROBLEM
if enemyHP (1) <= 0 then
enemyx (1) := 10000
playerEXP := playerEXP + enemyEXP (1) %%%%%%%%% IT KEEPS ADDING EXP
end if
if playerx <= enemyx (1) and playery <= enemyy (1) then
enemyx (1) -= 1
enemyy (1) -= 1
end if
if playerx <= enemyx (1) and playery >= enemyy (1) then
enemyx (1) -= 1
enemyy (1) += 1
end if
if playerx >= enemyx (1) and playery <= enemyy (1) then
enemyx (1) += 1
enemyy (1) -= 1
end if
if playerx >= enemyx (1) and playery >= enemyy (1) then
enemyx (1) += 1
enemyy (1) += 1
end if
if playerx >= maxx - 10 then
playerx := maxx - 11
elsif playerx <= 10 then
playerx := 11
elsif playery >= maxy - 10 then
playery := maxy - 11
elsif playery <= 10 then
playery := 11
end if
end loop
|