Okay so I was trying to make a health bar for my enemy class and only a part of it is working, what I mean is that every time I hit my enemy, I want its health bar to turn green to red and ,ale is lose 50 percent of it health, but that's not really working, the part of it needing 2 hits to kill my enemy is working but the part of the health draining and turning from green to red is not working. My problem is in the second main loop.
if Enemy.health > -10:Enemy.health -= 5
else:del enemys[one]
my full code
Answer
I can't see anything immediately wrong with the code sections. I suspect it's not working because of the "health units" being used.
It may help to change you code to express these units as a percentage. That way no matter what kind of enemy it is, 0 health means destroyed, and removes potentially confusing comparisons, e.g.: -8 health = "somehow OK".
I've created a simple function to draw a red/green health bar. I reasoned that for some larger time the health is at 100%, so only draw the negative-health part when necessary.
def drawHealthBar( window, position, health_percent ):""" Draw a health bar at the given position, showing thehealth level as a green part and a red part of 100% """BAR_WIDTH = 64BAR_HEIGHT= 8# Start with full healthbar = pygame.Surface( ( BAR_WIDTH, BAR_HEIGHT ) )bar.fill( GREEN )# Work out the relative bar sizeif ( health_percent < 100 ):health_lost = BAR_WIDTH - round( BAR_WIDTH * health_percent / 100 )pygame.draw.rect( bar, RED, ( BAR_WIDTH - health_lost, 0, BAR_WIDTH, BAR_HEIGHT ) )# Draw the resultant barwindow.blit( bar, position )
Obviously if your targets have RPG-style "hit points", the percentage can always be passed as:
I am building a class of playlists, which will hold many playlists of the same genre.class playlist(object):def __init__(self,name):self.name = nameI would like to instantiate them passing the user:def…
My df:In [163]: df.head()
Out[163]: x-axis y-axis z-axis
time
2017-07-27 06:23:08 -0.107666 -0.068848 0.963623
2017-07-27 06:23:08 -0.105225 -0.070068 0.963867
.....I set the index as dateti…
I was wondering how to hide my start button after being clicked so that If the user accidentally was clicker happy they wouldnt hit the button causing more bubbles to appear on screen. Below is a snipp…
Few days back i had situation where i had to check/uncheck QRadioButton in for loop. Here is the link Waiting in for loop until QRadioButton get checked everytime?
After implementing QEventLoop on thi…
I am working on a data frame that looks like this :lat lon
id_zone
0 40.0795 4.338600
1 45.9990 4.829600
2 45.2729 2.882000
3 45.7336 4.850478
4 45.6981 5.…
Im trying to use Googles API for geolocation giving wifi data to determine location. This is their intro. And this is my code@author: Keith
"""import requestspayload = {"c…
Reticulated members,I am attempting to use a GET method that is supported against the endpoint. However, I am using python and wanting to pass the user raw_input that is assigned to a variable:uid = ra…
Ive gathered numbers in a configuration file, and I would like to apply them to buttons. Clicking the button should allow the number to be changed and then re-written to the config file. My current cod…
This question already has answers here:Convert nested dictionary into a dictionary(2 answers)Flatten nested dictionaries, compressing keys(32 answers)Closed 4 years ago.I have a dictionary like this:a …
How do I click all the unopened tabs pages where the value changes when you click tabs? (see image below)Take the following script, based off of this question with the following approach:clickMe = wai…