I am stuck in an infinite loop but I'm not sure how to get out of it. I am trying to build a clicker game and want an automatic character to deal damage for me. I haven't spent much time refining it all and it's probably messy and inconvenient, but I am a very new coder and want to get some experience.
I tried to make loop
equal to 2 and run an identical while loop, however I did that in the if statement when I know it has to be in the while loop. Just can't figure out how to fix it. Any other tips would also be appriciated!
import pygame
from sys import exit
pygame.init()
rotation_angle = 180
screen = pygame.display.set_mode((1080, 900))
clock = pygame.time.Clock()
font1 = pygame.font.Font(None, 50)
monster1 = pygame.image.load("C:/Users/t_cro/OneDrive/Pictures/Saved Pictures/snail1.png")
monster2 = pygame.image.load("C:/Users/t_cro/OneDrive/Pictures/Saved Pictures/fly1.png")
background = pygame.image.load("C:/Users/t_cro/OneDrive/Pictures/Saved Pictures/background.png")
automatic_character_background = pygame.image.load("C:/Users/t_cro/OneDrive/Pictures/Saved Pictures/scrollbackground.png")
automatic_character = pygame.image.load("C:/Users/t_cro/OneDrive/Pictures/Saved Pictures/player_walk_1.png")
background = pygame.transform.scale(background, (1080, 900))
monster1 = pygame.transform.scale(monster1, (125, 75))
monster2 = pygame.transform.scale(monster2, (0, 0))
automatic_character_background = pygame.transform.scale(automatic_character_background, (500, 820))
monster1_health = 10
monster2_health = 10
death_count = 0
money = 0
cost_character_1 = 50
character_1_amount = 0
red = 255,0,0
text_surface = font1.render("number of monsters killed:", True, red)
money_text = font1.render("money:", True, red)
buy_auto_character_1 = font1.render("buy/upgrade (1)", True, red)
monstercheck = 1
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
exit()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_SPACE and monstercheck == 1:
monster1_health -= 1
if monster1_health <= 0:
print("wow this code actually works")
death_count += 1
monster1_health = 10
monstercheck = 1
money += 10
if event.key == pygame.K_SPACE and monstercheck == 2:
monster2_health -= 1
if monster2_health <= 0:
print("how have i not given up yet?")
monster2_health = 10
death_count += 1
monstercheck = 1
money += 10
---------------------------------error here-------------------------------------------------------
if event.key == pygame.K_1 and cost_character_1 <= money:
character_1_amount += 1
if character_1_amount >= 1:
loop = 1
while loop == 1:
dt = clock.tick()
time_since_last_hit = dt
if time_since_last_hit >= 1000:
monster1_health -= character_1_amount
time_since_last_hit = 0
--------------------------------------------------------------------------------------------------
death_count_blit = font1.render(str(death_count), True, red)
money_number = font1.render(str(money), True, red)
monster1_health_blit = font1.render(str(monster1_health), True, red)
character_1_amount_blit = font1.render(str(character_1_amount), True, red)
screen.blit(background, (0, 0))
screen.blit(monster1, (700, 450))
screen.blit(monster2, (700, 450))
screen.blit(death_count_blit, (530, 50))
screen.blit(text_surface, (330, 13))
screen.blit(automatic_character_background, (30, 50))
screen.blit(automatic_character, (75, 175))
screen.blit(money_text, (125, 97))
screen.blit(money_number, (250, 100))
screen.blit(buy_auto_character_1, (150, 200))
screen.blit(monster1_health_blit, (750, 550))
screen.blit(character_1_amount_blit, (1,1))
pygame.display.update()