|
|
- import pygame, sys
- from pygame.locals import *
- import random
-
- # pygame.init()
-
- pygame.display.init()
- pygame.font.init()
-
- w = pygame.display.Info().current_w
- h = pygame.display.Info().current_h
- screen_scale_factor_w = w / 1920
- screen_scale_factor_h = h / 1080
-
- # screen_scale_factor = screen_scale_factor_w
-
- MOUSE_BUTTON_RIGHT = 3
-
- SCREEN_WIDTH = 400
- FPS = 60
- FramePerSec = pygame.time.Clock()
- game_level = 1
- enemy_list = []
-
- BLUE = (0, 0, 255)
- RED = (255, 0, 0)
- GREEN = (0, 255, 0)
- YELLOW = (255, 255, 0)
-
- BLACK = (0, 0, 0)
- WHITE = (255, 255, 255)
-
- TEXT_COLOR = (0, 0, 0)
-
-
- money = 15000
-
- def screen_scale_h(h_px, scale_factor):
- return int(h_px * scale_factor)
-
-
- def screen_scale_w(w_px, scale_factor):
- return int(w_px * scale_factor)
-
- MENU_PADDING = screen_scale_w(10, screen_scale_factor_w)
- HEART_POS_X = screen_scale_w(1700, screen_scale_factor_w)
- HEART_POS_Y = screen_scale_h(700, screen_scale_factor_h)
-
- DISPLAYSURF = pygame.display.set_mode((screen_scale_w(1920, screen_scale_factor_w), screen_scale_h(1080, screen_scale_factor_h)), pygame.FULLSCREEN)
- DISPLAYSURF.fill(WHITE)
- pygame.display.set_caption("Game")
-
- pygame.font.init()
- my_font = pygame.font.SysFont("Arial", screen_scale_w(30, screen_scale_factor_w) , bold=True, italic=False)
- you_died_font = pygame.font.SysFont("Arial", screen_scale_w(30, screen_scale_factor_w), bold=True, italic=False)
-
-
- exit_text_surface = my_font.render("Exit", False, TEXT_COLOR)
- exit_text_x = screen_scale_w(1800, screen_scale_factor_w)
- exit_text_y = screen_scale_h(16, screen_scale_factor_h)
- exit_rect = exit_text_surface.get_rect(topleft=(exit_text_x, exit_text_y))
-
- you_died = you_died_font.render('YOU DIED', False, (255, 0, 0))
-
- text_surface = my_font.render("money: " + str(money), False, TEXT_COLOR)
- text_surface_x = screen_scale_w(16, screen_scale_factor_w)
- text_surface_y = screen_scale_h(16, screen_scale_factor_h)
-
- level_text_surface = my_font.render("Level: " + str(game_level), False, TEXT_COLOR)
- level_text_surface_x = screen_scale_w(16, screen_scale_factor_w)
- level_text_surface_y = screen_scale_h(48, screen_scale_factor_h)
-
- snowman_list = []
- cakeman_list = []
- snowball_list = []
- reindeer_list = []
- laser_beam_list = []
-
- class CakeMan(pygame.sprite.Sprite):
- def __init__ (self, x, y):
- super().__init__()
- self.image = pygame.image.load("kagemand/kagemand1.png").convert_alpha()
- self.rect = self.image.get_rect()
- self.image = pygame.transform.smoothscale(self.image, (screen_scale_w(self.rect.w, screen_scale_factor_w), screen_scale_h(self.rect.h, screen_scale_factor_h)))
- self.rect.center = (x, y)
- self.animation_step = 0
-
- def draw(self, surface):
- surface.blit(self.image, self.rect)
-
- class Reindeer(pygame.sprite.Sprite):
- def __init__ (self, x, y):
- super().__init__()
- self.image = pygame.image.load("reindeer/r1.png").convert_alpha()
- self.rect = self.image.get_rect()
- self.image = pygame.transform.smoothscale(self.image, (screen_scale_w(self.rect.w, screen_scale_factor_w), screen_scale_h(self.rect.h, screen_scale_factor_h) ))
- self.rect.center = (x, y)
- self.speed = 180
- self.shoot_laser_beam = self.speed
- self.animation_step = 0
-
- def draw(self, surface):
- surface.blit(self.image, self.rect)
- self.shoot_laser_beam = self.shoot_laser_beam - 1
- if self.shoot_laser_beam == -1:
- return
- elif self.shoot_laser_beam == 0:
- # Throw snowball.
- # print("Laser beam: x: " + str(self.rect.center[0]) + "y:" + str(self.rect.center[1]))
- laser_beam_list.append(Laser_Beam(self.rect.center[0], self.rect.center[1]))
- # rest sownball counter
- self.shoot_laser_beam = self.speed
-
- class Snowman(pygame.sprite.Sprite):
- def __init__(self, x, y):
- super().__init__()
- self.image = pygame.image.load("snowmand.png").convert_alpha()
- self.rect = self.image.get_rect()
- self.image = pygame.transform.smoothscale(self.image, (screen_scale_w(self.rect.w, screen_scale_factor_w), screen_scale_h(self.rect.h, screen_scale_factor_h)))
- self.rect.center = (x, y)
- self.speed = 180
- self.throw_snowball_counter = self.speed
-
- def draw(self, surface):
- surface.blit(self.image, self.rect)
- self.throw_snowball_counter = self.throw_snowball_counter - 1
- if self.throw_snowball_counter == -1:
- return
- elif self.throw_snowball_counter == 0:
- # Throw snowball.
- # print("Snowball: x: " + str(self.rect.center[0]) + "y:" + str(self.rect.center[1]))
- snowball_list.append(Snowball(self.rect.center[0], self.rect.center[1]))
- # rest sownball counter
- self.throw_snowball_counter = self.speed
-
- class Enemy(pygame.sprite.Sprite):
- def __init__(self, x, y, heart, health):
- super().__init__()
- self.image = pygame.image.load("elf.png").convert_alpha()
- self.rect = self.image.get_rect()
- self.rect.center = (x, y)
-
- self.image = pygame.transform.smoothscale(self.image, (screen_scale_w(self.rect.w, screen_scale_factor_w), screen_scale_h(self.rect.h, screen_scale_factor_h) ))
-
- self.health_bar_color = GREEN
- self.health_bar_width = 0
- self.path = 0
- self.max_health = health
- self.health = self.max_health
- self.alive = 1
- self.heart = heart
- self.speed = screen_scale_w(2, screen_scale_factor_w)
- self.calculate_life_bar()
-
- def damage(self, amount):
- self.health = self.health - amount
- if(self.health <= 0):
- self.alive = 0
- add_money(1000)
- return
-
- self.calculate_life_bar()
-
-
- def calculate_life_bar(self):
- #Beregn størrelsen på liv baren:
- life_ratio = self.health / self.max_health
-
- if life_ratio >= 0.75:
- self.health_bar_color = GREEN
- elif life_ratio < 0.75 and life_ratio > 0.26:
- self.health_bar_color = YELLOW
- else:
- self.health_bar_color = RED
-
- self.health_bar_width = self.rect.w * (self.health / self.max_health)
-
-
-
- def move(self, player):
- if (self.path == 0):
- if (self.rect.right < screen_scale_w(300, screen_scale_factor_w)):
- self.rect.move_ip(self.speed,0)
- else:
- self.path = 1
- if (self.path == 1):
- if(self.rect.bottom < screen_scale_h(890, screen_scale_factor_h)):
- self.rect.move_ip(0,self.speed)
- else:
- self.path = 2
- if(self.path == 2):
- if(self.rect.right < screen_scale_w(1128, screen_scale_factor_w)):
- self.rect.move_ip(self.speed,0)
- else:
- self.path = 3
- if (self.path == 3):
- if(self.rect.top > screen_scale_h(516, screen_scale_factor_h)):
- self.rect.move_ip(0,-self.speed)
- else:
- self.path = 4
- if (self.path == 4):
- if(self.rect.left > screen_scale_w(847, screen_scale_factor_w)):
- self.rect.move_ip(-self.speed,0)
- else:
- self.path = 5
- if (self.path == 5):
- if(self.rect.top > screen_scale_h(246, screen_scale_factor_h)):
- self.rect.move_ip(0,-self.speed)
- else:
- self.path = 6
- if (self.path == 6):
- if (self.rect.right < screen_scale_w(1248, screen_scale_factor_w)):
- self.rect.move_ip(self.speed,0)
- else:
- self.path = 7
- if (self.path == 7):
- if (self.rect.bottom < screen_scale_h(570, screen_scale_factor_h)):
- self.rect.move_ip(0,self.speed)
- else:
- self.path = 8
- if (self.path == 8):
- if (self.rect.right < screen_scale_w(1548, screen_scale_factor_w)):
- self.rect.move_ip(self.speed,0)
- else:
- self.path = 'end'
- if (self.path == 'end'):
- self.alive = 0
- self.heart.lives -= 20
-
- def draw(self, surface):
- surface.blit(self.image, self.rect)
- pygame.draw.rect(DISPLAYSURF,self.health_bar_color,(self.rect.x, (self.rect.y + self.rect.h + 8), screen_scale_w(self.health_bar_width, screen_scale_factor_w) , screen_scale_w(5, screen_scale_factor_h) ))
-
- class Snowball(pygame.sprite.Sprite):
- def __init__(self, x, y):
- super().__init__()
- self.image = pygame.image.load("snowball.png").convert_alpha()
- self.rect = self.image.get_rect()
- self.rect.center=(x, y)
-
- def move(self, snowball_list, enemy_list):
-
- target_enemy = None
- for enemy in enemy_list:
- if enemy.alive == 1:
- target_enemy = enemy
- break
-
- if enemy == None:
- return
-
- enemy_x = enemy.rect.x
- enemy_y = enemy.rect.y
-
- snowball_x = self.rect.x
- snowball_y = self.rect.y
-
- if abs(enemy_x - snowball_x) < 8 and abs(enemy_y - snowball_y) < 8:
- snowball_list.remove(self)
- enemy.damage(50)
-
-
-
- delta_move_x = 0
- delta_move_y = 0
-
-
- if enemy_x < snowball_x:
- delta_move_x = -4
- elif enemy_x > snowball_x:
- delta_move_x = 4
-
-
- if enemy_y < snowball_y:
- delta_move_y = -4
- elif enemy_y > snowball_y:
- delta_move_y = 4
-
-
- self.rect.move_ip(delta_move_x, delta_move_y)
-
- #if (self.rect.right > 600):
- # self.rect.top = 0
- # self.rect.center = (0, 400)
-
- #if self.rect.colliderect(player.rect):
- # print("HIT")
-
- def draw(self, surface):
- surface.blit(self.image, self.rect)
-
- class Laser_Beam(pygame.sprite.Sprite):
- def __init__(self, x, y):
- super().__init__()
- self.image = pygame.image.load("reindeer/laser_beam.png").convert_alpha()
- self.rect = self.image.get_rect()
- self.rect.center=(x, y)
-
- def move(self, player):
- self.rect.move_ip(4,0)
- #if (self.rect.right > 600):
- # self.rect.top = 0
- # self.rect.center = (0, 400)
-
- # if self.rect.colliderect(player.rect):
- # print("HIT")
-
- def draw(self, surface):
- surface.blit(self.image, self.rect)
-
-
- class MenuSnowman(pygame.sprite.Sprite):
- def __init__(self):
- super().__init__()
- self.image = pygame.image.load("snowmand.png").convert_alpha()
- self.rect = self.image.get_rect()
- self.rect.center = (screen_scale_w(580, screen_scale_factor_w), screen_scale_h(80, screen_scale_factor_h))
- self.image = pygame.transform.smoothscale(self.image, (screen_scale_w(self.rect.w, screen_scale_factor_w), screen_scale_h(self.rect.h, screen_scale_factor_h)) )
- self.price = 2500
- self.text = my_font.render(str(self.price) , False, TEXT_COLOR)
- self.selected = 0
-
- def draw(self, surface):
- if self.selected == 1:
- pygame.draw.rect(DISPLAYSURF,BLUE,(menu_snowman.rect.x - MENU_PADDING , menu_snowman.rect.y - MENU_PADDING, screen_scale_w((menu_snowman.rect.w + 2 * MENU_PADDING), screen_scale_factor_w) , screen_scale_h((menu_snowman.rect.h + 2 * MENU_PADDING), screen_scale_factor_h )))
- surface.blit(self.image, self.rect)
- surface.blit(self.text,(self.rect.x, self.rect.y + (screen_scale_h(100, screen_scale_factor_h))))
-
- def get_pos(self):
- return self.rect.pos
-
- class MenuCakeman(pygame.sprite.Sprite):
- def __init__(self):
- super().__init__()
- self.image = pygame.image.load("kagemand/kagemand1.png").convert_alpha()
- self.rect = self.image.get_rect()
- #self.rect.scale_by(screen_scale_factor)
- self.rect.center = (screen_scale_w(720, screen_scale_factor_w), screen_scale_h(80, screen_scale_factor_h))
- self.image = pygame.transform.smoothscale(self.image, (screen_scale_w(self.rect.w, screen_scale_factor_w), screen_scale_h(self.rect.h, screen_scale_factor_h)) )
- self.price = 5000
- self.text = my_font.render(str(self.price) , False, TEXT_COLOR)
- self.selected = 0
-
- def draw(self, surface):
- if self.selected == 1:
- pygame.draw.rect(DISPLAYSURF,BLUE,(menu_cakeman.rect.x - MENU_PADDING, menu_cakeman.rect.y - MENU_PADDING, screen_scale_w((menu_cakeman.rect.w + 2 * MENU_PADDING), screen_scale_factor_w), screen_scale_h((menu_cakeman.rect.h + 2 * MENU_PADDING), screen_scale_factor_h) ))
- surface.blit(self.image, self.rect)
- surface.blit(self.text,(self.rect.x ,self.rect.y + (screen_scale_h(100, screen_scale_factor_h)) ))
-
- def get_pos(self):
- return self.rect.pos
-
- class MenuReindeer(pygame.sprite.Sprite):
- def __init__(self):
- super().__init__()
- self.image = pygame.image.load("reindeer/r1.png").convert_alpha()
- self.rect = self.image.get_rect()
- self.rect.center = (screen_scale_w(850, screen_scale_factor_w), screen_scale_h(80, screen_scale_factor_h))
- self.image = pygame.transform.smoothscale(self.image, (screen_scale_w(self.rect.w, screen_scale_factor_w), screen_scale_h(self.rect.h, screen_scale_factor_h)) )
- self.price = 7500
- self.text = my_font.render(str(self.price) , False, TEXT_COLOR)
- self.selected = 0
-
- def draw(self, surface):
- if self.selected == 1:
- pygame.draw.rect(DISPLAYSURF,BLUE,(self.rect.x - MENU_PADDING , self.rect.y - MENU_PADDING, screen_scale_w((self.rect.w + 2 * MENU_PADDING), screen_scale_factor_w) , screen_scale_h((self.rect.h + 2 * MENU_PADDING), screen_scale_factor_h )))
- surface.blit(self.image, self.rect)
- surface.blit(self.text,(self.rect.x + (screen_scale_w(20, screen_scale_factor_w)), self.rect.y + (screen_scale_h(100, screen_scale_factor_h))))
-
- def get_pos(self):
- return self.rect.pos
-
-
- scaleFactor = 2 * screen_scale_factor_w
- class Heart(pygame.sprite.Sprite):
- def __init__(self):
- super().__init__()
- self.image0 = pygame.image.load('0_hjerte.png').convert_alpha()
-
- self.image20 = pygame.image.load('20_hjerte.png').convert_alpha()
- self.image20 = pygame.transform.scale(self.image20, (screen_scale_w(74, scaleFactor), screen_scale_h(79, scaleFactor)))
-
- self.image40 = pygame.image.load('40_hjerte.png').convert_alpha()
- self.image40 = pygame.transform.scale(self.image40, (screen_scale_w(74, scaleFactor), screen_scale_h(79, scaleFactor)))
-
- self.image60 = pygame.image.load('60_hjerte.png').convert_alpha()
- self.image60 = pygame.transform.scale(self.image60, (screen_scale_w(74, scaleFactor), screen_scale_h(79, scaleFactor)))
-
- self.image80 = pygame.image.load('80_hjerte.png').convert_alpha()
- self.image80 = pygame.transform.scale(self.image80, (screen_scale_w(74, scaleFactor), screen_scale_h(79, scaleFactor)))
-
- self.image100 = pygame.image.load('100_hjerte.png').convert_alpha()
- self.image100 = pygame.transform.scale(self.image100, (screen_scale_w(74, scaleFactor), screen_scale_h(79, scaleFactor)))
-
- self.lives = 100
-
- def draw(self, surface):
- if self.lives == 100:
- surface.blit(self.image100, (HEART_POS_X, HEART_POS_Y))
- elif self.lives == 80:
- surface.blit(self.image80, (HEART_POS_X, HEART_POS_Y))
- elif self.lives == 60:
- surface.blit(self.image60, (HEART_POS_X, HEART_POS_Y))
- elif self.lives == 40:
- surface.blit(self.image40, (HEART_POS_X, HEART_POS_Y))
- elif self.lives == 20:
- surface.blit(self.image20, (HEART_POS_X, HEART_POS_Y))
- elif self.lives == 0:
- surface.blit(self.image0, (HEART_POS_X, HEART_POS_Y))
-
-
- def try_to_buy(new_tower, price):
- global money
- global text_surface
-
- if not valid_space(new_tower):
- return False
-
- if money >= price:
- money = money - price
- text_surface = my_font.render("money: " + str(money), False, TEXT_COLOR)
-
- return True
-
- return False
-
- def add_money(price):
- global money
- global text_surface
- money = money + price
- text_surface = my_font.render("money: " + str(money), False, TEXT_COLOR)
-
-
- def check_round_end():
- global enemy_list
- for i in range(len(enemy_list)):
- if (enemy_list[i].alive == 1):
- return False
-
- print("Level ended")
- return True
-
- def level_up():
- global game_level
- global level_text_surface
- game_level = game_level + 1
- level_text_surface = my_font.render("Level: " + str(game_level), False, TEXT_COLOR)
-
- start_new_level(10, game_level * 100)
-
-
- heart = Heart()
-
- def start_new_level(count, health):
- global screen_scale_factor_w
- global screen_scale_factor_h
- global enemy_list
- global heart
- enemy_list = []
- enemy_pos_x = screen_scale_w(60, screen_scale_factor_w)
- enemy_pos_y = screen_scale_h(350, screen_scale_factor_h)
- for i in range(count):
- enemy_list.append(Enemy(-enemy_pos_x * i, enemy_pos_y, heart, health))
-
-
- def valid_space(new_tower):
- global snowman_list
- global cakeman_list
- global reindeer_list
-
- combined_tower_list = snowman_list + cakeman_list + reindeer_list
- for old_tower in combined_tower_list:
- if new_tower.rect.colliderect(old_tower.rect):
- return False
-
- return True
-
-
-
-
- menu_snowman = MenuSnowman()
- menu_cakeman = MenuCakeman()
- menu_reindeer = MenuReindeer()
- # cakeman = CakeMan(300, 400)
-
-
-
- enemy_pos_x = screen_scale_w(60, screen_scale_factor_w)
- enemy_pos_y = screen_scale_h(350, screen_scale_factor_h)
-
- start_new_level(5, 100)
-
-
- kagemand_animation_step = 0
- kagemand_animation = []
- kagemand_animation_temp = [
- pygame.image.load("kagemand/kagemand1.png").convert_alpha(),
- pygame.image.load("kagemand/kagemand2.png").convert_alpha(),
- pygame.image.load("kagemand/kagemand3.png").convert_alpha(),
- pygame.image.load("kagemand/kagemand4.png").convert_alpha(),
- pygame.image.load("kagemand/kagemand5.png").convert_alpha(),
- pygame.image.load("kagemand/kagemand6.png").convert_alpha(),
- pygame.image.load("kagemand/kagemand7.png").convert_alpha(),
- pygame.image.load("kagemand/kagemand8.png").convert_alpha()]
-
-
- for animation_image in kagemand_animation_temp:
- img_rect = animation_image.get_rect()
- animation_image_new = pygame.transform.smoothscale(animation_image, (screen_scale_w(img_rect.w, screen_scale_factor_w), screen_scale_h(img_rect.h, screen_scale_factor_h)) )
- kagemand_animation.append(animation_image_new)
-
-
- mouse_down = 0
-
- bg = pygame.image.load("background.png").convert_alpha()
- bg = pygame.transform.smoothscale(bg, DISPLAYSURF.get_size())
-
- mouse_snowman = Snowman(0, 0)
- mouse_snowman.speed = -1
- mouse_cakeman = CakeMan(0, 0)
- mouse_reindeer = Reindeer(0, 0)
-
- frame_count = 0
-
- # heart_health = pygame.image.load("heart.png")
-
- while True:
- for event in pygame.event.get():
- if event.type == QUIT:
- pygame.quit()
- sys.exit()
-
- pressed_keys = pygame.key.get_pressed()
- if pressed_keys[K_ESCAPE]:
- sys.exit()
-
- DISPLAYSURF.blit(bg, (0, 0))
- if heart.lives <= 0:
- DISPLAYSURF.blit(you_died, (400, 400))
- pygame.display.update()
- FramePerSec.tick(10)
- frame_count = (frame_count + 1) % 16
- continue
-
- heart.draw(DISPLAYSURF)
-
- DISPLAYSURF.blit(exit_text_surface, (exit_text_x, exit_text_y))
- # cakeman.draw(DISPLAYSURF)
- #menu_snowman.update()
- for snowman in snowman_list:
- snowman.draw(DISPLAYSURF)
-
- for reindeer in reindeer_list:
- reindeer.draw(DISPLAYSURF)
-
- for cakeman in cakeman_list:
- # cakeman.draw(DISPLAYSURF)
-
- kagemand_image = kagemand_animation[cakeman.animation_step]
- kagemand_rect = kagemand_image.get_rect()
- kagemand_rect.center = cakeman.rect.center
- DISPLAYSURF.blit(kagemand_image, kagemand_rect)
-
- if frame_count == 0:
- cakeman.animation_step = (cakeman.animation_step + 1) % len(kagemand_animation)
-
- if cakeman.animation_step == 7:
- rect = cakeman.rect
- for enemy in enemy_list:
- if enemy.alive:
- if enemy.rect.colliderect(rect):
- enemy.damage(100)
-
-
- for enemy in enemy_list:
- if enemy.alive:
- enemy.move(menu_snowman)
- enemy.draw(DISPLAYSURF)
-
- # for cakeman in cakeman_list:
- # if cakeman.animation_step == 7:
- # rect = cakeman.rect
- # # print(rect)
- #
- # if enemy.rect.colliderect(rect):
- # enemy.damage(100)
- # add_money(1000)
-
- if event.type == MOUSEBUTTONDOWN:
-
- if event.button == MOUSE_BUTTON_RIGHT:
- menu_snowman.selected = 0
- menu_cakeman.selected = 0
- menu_reindeer.selected = 0
- else:
- if mouse_down == 0:
- mouse_down = 1
- mouse_pos = event.pos
- # print(mouse_pos)
-
-
- # print("exit rect: " + str(exit_rect))
- if exit_rect.collidepoint(mouse_pos):
- exit()
-
- #
- # Menu snowman
- #
- if menu_snowman.selected == 1:
-
- if try_to_buy(mouse_snowman, menu_snowman.price):
- snowman_list.append(Snowman(mouse_pos[0], mouse_pos[1]))
- # print(len(snowman_list))
-
- menu_snowman.selected = 0
-
-
- if menu_snowman.rect.collidepoint(mouse_pos):
- # print("Clickmenusnowman")
- if money >= menu_snowman.price:
- menu_snowman.selected = 1
-
- #
- # menu cakeman
- #
-
- if menu_cakeman.selected == 1:
-
- if try_to_buy(mouse_cakeman, menu_cakeman.price):
- mouse_pos = pygame.mouse.get_pos()
- cakeman_list.append(CakeMan(mouse_pos[0], mouse_pos[1]))
- # print(len(snowman_list))
-
- menu_cakeman.selected = 0
-
- #
- # Menu Reindeer
- #
- if menu_reindeer.selected == 1:
-
- if try_to_buy(mouse_reindeer, menu_reindeer.price):
- mouse_pos = pygame.mouse.get_pos()
- reindeer_list.append(Reindeer(mouse_pos[0], mouse_pos[1]))
- # print(len(snowman_list))
-
- menu_reindeer.selected = 0
-
-
- if menu_cakeman.rect.collidepoint(mouse_pos):
- if money >= menu_cakeman.price:
- menu_cakeman.selected = 1
-
-
- if menu_reindeer.rect.collidepoint(mouse_pos):
- if money >= menu_reindeer.price:
- menu_reindeer.selected = 1
-
-
- elif event.type == MOUSEBUTTONUP:
- mouse_down = 0
-
-
- if (frame_count % 4) == 0:
- kagemand_animation_step = (kagemand_animation_step + 1) % 8
-
- for snowball in snowball_list:
- snowball.move(snowball_list, enemy_list)
- snowball.draw(DISPLAYSURF)
-
- for laser_beam in laser_beam_list:
- laser_beam.move(menu_snowman)
- laser_beam.draw(DISPLAYSURF)
-
- if menu_snowman.selected == 1:
- if event.type == pygame.MOUSEMOTION:
- mouse_pos = pygame.mouse.get_pos()
- mouse_snowman.rect.center = (mouse_pos[0], mouse_pos[1])
- mouse_snowman.draw(DISPLAYSURF)
- elif menu_cakeman.selected == 1:
- if event.type == pygame.MOUSEMOTION:
- mouse_pos = pygame.mouse.get_pos()
- mouse_cakeman.rect.center = (mouse_pos[0], mouse_pos[1])
- mouse_cakeman.draw(DISPLAYSURF)
- elif menu_reindeer.selected == 1:
- if event.type == pygame.MOUSEMOTION:
- mouse_pos = pygame.mouse.get_pos()
- mouse_reindeer.rect.center = (mouse_pos[0], mouse_pos[1])
- mouse_reindeer.draw(DISPLAYSURF)
-
-
- #DISPLAYSURF.fill(WHITE)
- menu_snowman.draw(DISPLAYSURF)
- menu_cakeman.draw(DISPLAYSURF)
- menu_reindeer.draw(DISPLAYSURF)
-
-
- DISPLAYSURF.blit(text_surface, (text_surface_x, text_surface_y))
- DISPLAYSURF.blit(level_text_surface, (level_text_surface_x, level_text_surface_y))
-
- frame_count = (frame_count + 1) % 16
-
- if (check_round_end()):
- level_up()
-
- pygame.display.update()
- FramePerSec.tick(FPS)
-
|