"For" Logic Error
Author |
Message |
Das
|
Posted: Fri Jan 18, 2008 11:33 pm Post subject: "For" Logic Error |
|
|
I have a for repetition struture that repeats twice. It contains many if structures inside. However, sometimes a part of the 2nd loop does not occur. What is the problem? By the way, I know that esif exists. I just forgot at streamlining isn't supposed to take extra effort.
Obviously, it's a game.
for cardUse:1..2
if cardSelect(cardUse)="Shine" then
randint (dmg,30,40)
ehp:=ehp-dmg-baseDmg
put " "
put "You use Shine!"
put "Inflicted ",dmg," damage!"
end if
if cardSelect(cardUse)="Freeze" then
randint (dmg,30,40)
ehp:=ehp-dmg-baseDmg
put " "
put "You use Freeze!"
put "Inflicted ",dmg," damage!"
end if
if cardSelect(cardUse)="Sear" then
randint (dmg,45,57)
ehp:=ehp-dmg-baseDmg
put " "
put "You use Sear!"
put "Inflicted ",dmg," damage!"
end if
if cardSelect(cardUse)="Repair" then
randint (dmg,33,51)
hp:=hp+dmg
put " "
put "You use Repair!"
put "Healed ",dmg," health!"
end if
if cardSelect(cardUse)="Punch" then
randint (dmg,23,30)
ehp:=ehp-dmg-baseDmg
put " "
put "Punched!"
put "Inflicted ",dmg," damage!"
end if
if cardSelect(cardUse)="Shock" then
randint (dmg,18,24)
ehp:=ehp-dmg-baseDmg
eStat:=true
put " "
put "You use Shock!"
put "Inflicted ",dmg," damage!"
put "Paralyzed the enemy!"
end if
if cardSelect(cardUse)="Atk+" then
baseDmg:=baseDmg+5
put " "
put "You use Attack Up!"
put "Attack Power increased!"
end if
if cardSelect(cardUse)="Typhoon" then
randint (dmg,23,30)
ehp:=ehp-dmg-baseDmg
put " "
put "You use Typhoon!"
put "Inflicted ",dmg," damage!"
end if
if cardSelect(cardUse)="Blaze" then
randint (dmg,12,15)
randint (hit,2,4)
for strike:1..hit
ehp:=ehp-dmg*hit-baseDmg
end for
put " "
put "You use Blaze!"
put "Inflicted ",dmg," damage with ",hit," hits!"
end if
if cardSelect(cardUse)="Medicine" then
randint (dmg,46,64)
ehp:=ehp-dmg-baseDmg
put " "
put "You use Medicine!"
put "Healed ",dmg," health!"
end if
if cardSelect(cardUse)="Static" then
randint (dmg,25,31)
randint (hit,1,2)
ehp:=ehp-dmg-baseDmg
put " "
put "You use Static!"
put "Inflicted ",dmg," damage!"
if hit=2 then
eStat:=true
put "Paralyzed the enemy!"
end if
end if
if cardSelect(cardUse)="Magnum Quake" then
randint (dmg,1,46)
ehp:=ehp-dmg-baseDmg
hp:=hp-dmg div 3
put " "
put "You use Magnum Quake!"
put "Inflicted ",dmg," damage!"
put "You took ",dmg div 3," damage!"
end if
if cardSelect(cardUse)="Sol Beam" then
ehp:=ehp-35-baseDmg
put " "
put "You use Sol Beam!"
put "Inflicted ",dmg," damage!"
end if
if cardSelect(cardUse)="Drain" then
randint (dmg,25,36)
ehp:=ehp-dmg-baseDmg
hp:=hp+dmg
put " "
put "You use Drain!"
put "Inflicted ",dmg," damage!"
put "Stole ",dmg," HP!"
end if
if cardSelect(cardUse)="Dark Sacrifice" then
randint(dmg,70,85)
ehp:=ehp-dmg
hp:=hp-(dmg div 2)
put "You use Dark Sacrifice!"
put "You take ",dmg div 2," damage!"
put "Inflicted ",dmg," damage!"
end if
put " "
end for |
|
|
|
|
![](images/spacer.gif) |
Sponsor Sponsor
![Sponsor Sponsor](templates/subSilver/images/ranks/stars_rank5.gif)
|
|
![](images/spacer.gif) |
Saad
![](http://compsci.ca/v3/uploads/user_avatars/182387547249e7ebb91fb8a.png)
|
Posted: Sat Jan 19, 2008 12:08 am Post subject: RE:"For" Logic Error |
|
|
Which part doesn't occur?, If you mean the second iteration then your wrong, the second times occurs, its probably that none of the if statements are true |
|
|
|
|
![](images/spacer.gif) |
|
|