On Sun, Mar 16, 2008 at 10:59 AM, jake cooper <[EMAIL PROTECTED]>
wrote:
> print 'You inflicted', damage_to_enemy, "points of damage to your
> enemy" #shows damage dealt
> temp_e_hp - damage_to_enemy #!!!attempts to deduct damage_to_enemy
> from temp_e_hp!!!
> print temp_e_hp**
>
* if temp_e_hp == 0:***
>
* victory()***
>
For some reason, I cant manage to subtract damage_to_enemy from temp_e_hp.
> Any help with my script (especially with this problem) would be highly
> appreciated.
>
You're subtracting, but not assigning the result of your subtraction to
anything. Try this:
temp_e_hp = temp_e_hp - damage_to_enemy
May I suggest that you change your victory condition from "equals 0" to
"less than or equal to 0"? As it stands, the player can never win unless he
hits for exactly as much damage as the enemy has remaining - if he goes
over, the enemy becomes immortal.
And for one final question, is there a way to use random percentages of a
> number. For example, to subtract 80 - 120 % of damage_to_enemy from
> temp_e_hp?
>
The random module is what you want.
random.random() returns a number between 0 and 1 - you can use that
directly for percentage calculations.
OR
random.randint(a,b) returns an integer between a and b inclusive - e.g.,
if a=1 and b=10, possible results include 1 and 10.
Something like this, perhaps:
import random # this goes at the top of your code
temp_e_hp = temp_e_hp - random.randint( (damage_to_enemy*0.8),
(damage_to_enemy*1.2))
Of course, you shouldn't hard-code values like 0.8 and 1.2 - but I wanted to
keep it simple.
--
www.fsrtechnologies.com
_______________________________________________
Tutor maillist - [email protected]
http://mail.python.org/mailman/listinfo/tutor