def __init__(self, win): self.width = 1350 self.height = 700 self.win = win self.enemys = [] self.attack_towers = [] self.support_towers = [] self.lives = 10 self.money = 2000 self.bg = pygame.image.load(os.path.join("game_assets", "bg.png")) self.bg = pygame.transform.scale(self.bg, (self.width, self.height)) self.timer = time.time() self.life_font = pygame.font.SysFont("comicsans", 65) self.selected_tower = None self.menu = VerticalMenu(self.width - side_img.get_width() + 70, 250, side_img) self.menu.add_btn(buy_archer, "buy_archer", 500) self.menu.add_btn(buy_archer_2, "buy_archer_2", 750) self.menu.add_btn(buy_damage, "buy_damage", 1000) self.menu.add_btn(buy_range, "buy_range", 1000) self.moving_object = None self.wave = 0 self.current_wave = waves[self.wave][:] self.pause = True self.music_on = True self.playPauseButton = PlayPauseButton(play_btn, pause_btn, 10, self.height - 85) self.soundButton = PlayPauseButton(sound_btn, sound_btn_off, 90, self.height - 85)
def __init__(self): self.active = True self.timer = time.time() self.pb_timer = time.time() # initalize main window settings self.screen = pygame.display.set_mode((settings.win_width, settings.win_height)) settings.bg = settings.bg.convert_alpha() loader.convert_alpha() # Enemies: self.powerups = pygame.sprite.Group() self.enemies = [] # For towers: self.attack_towers = [] self.support_towers = [] self.selected_tower = None self.moving_object = None # Player resources self.lives = 10 self.money = 600 # Gameplay values: self.pause = True self.wave_num = 1 self.current_wave = waves[self.wave_num - 1][:] # Buttons: self.buy_menu = VerticalMenu(settings.win_width, 170) self.play_pause_btn = PlayPauseButton(10, settings.win_height - 120) self.music_btn = PlayPauseButton(self.play_pause_btn.width + 30, settings.win_height - 120) self.music_btn.play_img = loader.music_img self.music_btn.img = loader.music_img self.music_btn.pause_img = loader.musicoff_img
def __init__(self): self.width = 1600 self.height = 1000 self.win = pygame.display.set_mode((self.width, self.height)) self.enemys = [] self.units = [] self.attack_towers = [] self.support_towers = [] self.lives = 10 self.points = 30 self.money = 5000 self.bg = pygame.transform.scale(pygame.image.load(os.path.join("game_assets/support_stuff", "map.png")), (1600, 1000)) self.timer = time.time() self.font = pygame.font.SysFont("comicsans", 70) self.clicks = [] self.selected_tower = None self.wave = 0 self.current_wave = waves[self.wave][:] self.pause = True self.music_on = True self.playPauseButton = PlayPauseButton(play_btn, pause_btn, 10, self.height - 85) self.soundButton = PlayPauseButton(sound_btn, sound_btn_off, 10 + self.playPauseButton.width, self.height - 85) self.menu = VerticalMenu(self.width - vertical_img.get_width() - 5, 200, vertical_img) self.menu.add_btn(longRangeshortcut, "longRangeTower", 500) self.menu.add_btn(rangeShortcut, "rangeTower", 750) self.menu.add_btn(damageShortcut, "damageTower", 1000) self.moving_object = None
def __init__(self): # super().__init__() self.width = 1600 self.height = 1000 self.win = pygame.display.set_mode((self.width, self.height)) self.player1 = Game() self.player1.win = self.win self.player2 = Game() self.player2.win = self.win self.current_player = self.player1 self.playersTurn = 0 self.pointsGained = 0 self.timer = time.time() self.font = pygame.font.SysFont("comicsans", 35) self.selected_tower = None self.switchButton = PlayPauseButton(play_btn, pause_btn, 100, 20) self.playPauseButton = PlayPauseButton(play_btn, pause_btn, 10, self.height - 85) self.soundButton = PlayPauseButton(sound_btn, sound_btn_off, 10 + self.playPauseButton.width, self.height - 85) self.startRoundButton = PlayPauseButton(pause_btn, play_btn, 100, 100) self.current_wave = [] self.pause = True self.switch = False self.start = False self.music_on = True self.startRoundButton.paused = self.start # this line is made so the image will be drawn correctly self.menu = VerticalMenu(self.width - vertical_img.get_width() - 5, 200, vertical_img) self.menu.add_btn(longRangeshortcut, "longRangeTower", 500) self.menu.add_btn(rangeShortcut, "rangeTower", 750) self.menu.add_btn(damageShortcut, "damageTower", 1000) self.moving_object = None
def __init__(self, win, username): self.__width = 1250 self.__height = 700 self.win = win self.enemies = [] self.attack_towers = [] self.support_towers = [] self.traps = [] self.__lives = 10 self.__money = 200000 self.__enemy_kill = 0 self.bg = pygame.image.load( os.path.join("../game_assets/background_3.png")).convert_alpha() self.bg = pygame.transform.scale(self.bg, (self.__width, self.__height)) self.game_map = None self.__timer = time.time() self.life_font = pygame.font.SysFont("life count", 30) self.username_font = pygame.font.SysFont( pygame.font.get_default_font(), 40) self.selected_tower = None self.object_orientation = [] self.moving_object = None self.moving_effect = None self.wave = 15 self.__current_wave = waves[self.wave][:] self.pause = True self.music_on = True self.username = username self.play_pause_button = PlayPauseButton(play_btn.convert_alpha(), pause_btn.convert_alpha(), 10, self.__height - 85) self.sound_button = PlayPauseButton(sound_btn.convert_alpha(), sound_btn_off.convert_alpha(), 90, self.__height - 85) self.stop_trap_btn = PlayPauseButton(stop_trap_img.convert_alpha(), stop_trap_img.convert_alpha(), 1000, self.__height - 90) self.destroy_trap_btn = PlayPauseButton( destroying_trap_img.convert_alpha(), destroying_trap_img.convert_alpha(), 915, self.__height - 90) self.menu = VerticalMenu(self.__width - side_img.get_width() + 80, 190, side_img) self.menu.add_btn(tower_icon_img.images[3].convert_alpha(), "buy_archer_1", 500) self.menu.add_btn(tower_icon_img.images[0].convert_alpha(), "buy_archer_2", 750) self.menu.add_btn(tower_icon_img.images[2].convert_alpha(), "buy_damage", 1000) self.menu.add_btn(tower_icon_img.images[1].convert_alpha(), "buy_range", 1000) self.is_input_chit = False self.current_chit_code = ""
def __init__(self,tencentprice,aliprice,jdprice,appleprice,googleprice,twitterprice): self.tencentprice = tencentprice self.aliprice = aliprice self.jdprice = jdprice self.appleprice = appleprice self.googleprice = googleprice self.twitterprice = twitterprice self.width = 1080 self.height = 720 self.win = pygame.display.set_mode((self.width, self.height)) self.enemys = [] self.towers = [] self.support_tower = [] self.lives = 10 # self.towers = 10 self.money = 5000 self.score = 0 self.rank = rank() self.StartMenu = StartMenu(startmenu_img) self.bg = bg self.bg = pygame.transform.scale(self.bg, (self.width, self.height)) self.bg_index = 0 self.timer = time.time() self.selected_tower = None self.menu = VerticalMenu(self.width, 0, verticalMenu) self.menu.add_button(buy_archer, 'buy_archer', appleprice) self.menu.add_button(buy_archer_2, 'buy_archer_2', googleprice) self.menu.add_button(buy_damage, 'buy_damage', 0) self.menu.add_button(buy_range, 'buy_range', twitterprice) # self.moving_object = False self.moving_object = None self.wave = 0 self.current_wave = waves[self.wave][:] self.pause = False self.playPauseButton = PlayPauseButton(play_btn, pause_btn, 20, self.height - 85) self.font = pygame.font.Font(r'../Fonts/DINCond-BlackExpert.otf', 28) self.path = [] self.score_list = [] self.situation = False # self.clicks = [] self.lives = 10
def __init__(self, win): # Basics self.win = win self.width = 1200 self.height = 700 self.lives = 20 self.money = 35 self.bg = pygame.image.load( os.path.join("game_assets/background/", "kingdom.png")) self.bg = pygame.transform.scale(self.bg, (self.width, self.height)) self.clicks = [] # use to see clicks self.timer = time.time() self.go_lose = False self.go_win = False # Actors self.enemys = [] self.attack_towers = [] self.support_towers = [] self.fortress = [] self.fortress_sold = [] self.selected_tower = None self.moving_object = None self.draw_drop = False self.drop_x = 0 self.drop_y = 0 self.reward = 0 # Side Tower menu self.menu = VerticalMenu(self.width - 45, 46, side_img) self.menu.add_btn(buy_shin, "buy_shin", 40) self.menu.add_btn(buy_moubu, "buy_moubu", 120) self.menu.add_btn(buy_kanki, "buy_kanki", 80) self.menu.add_btn(buy_ouhon, "buy_ouhon", 150) self.menu.add_btn(buy_fortress, "buy_fortress", 200) self.menu.add_btn(buy_kyoukai, "buy_kyoukai", 100) self.menu.add_btn(buy_ten, "buy_ten", 100) self.menu.add_btn(buy_ryo, "buy_ryo", 100) # Buttons and options self.life_font = self.money_font = pygame.font.Font( "game_assets/fonts/SF Atarian System.ttf", 32) self.wave_font = pygame.font.Font( "game_assets/fonts/SF Atarian System.ttf", 18) self.wave_font2 = pygame.font.Font( "game_assets/fonts/SF Atarian System.ttf", 72) self.playPauseButton = PlayPauseButton(play_btn, pause_btn, self.width / 2 - 118, 0, False) self.soundButton = PlayPauseButton(sound_btn, sound_btn_off, self.width / 2 + 88, 0, True) self.sideButton = PlayPauseButton(side_btn, side_btn, self.width - 33, 272, False) self.speedButton = ReturnButton(speed1_btn, speed2_btn, speed3_btn, self.width / 2 - 170, 0) self.speed = 1 self.shake_money = False self.shake_life = False self.change_sound = False # Fortress self.fortress_sound = False self.to_resist = [] self.first_contact = True # Wave and Gen enemies self.wave = 0 self.current_wave = waves[self.wave][:] self.spawn_rate = spawn_rates[:] self.current_spawn_rate = 1.5 self.kingdom = [ Quin_base(), Zao_base(), Yan_base(), Qi_base(), Wei_base(), Han_base(), Chu_base(), Chu2_base(), Chu3_base() ] self.current_kingdom = self.kingdom[0] self.next_spawn = False # Game level self.level = "" self.lvl = {"Easy": 0, "Medium": 1, "Hard": 2} self.coef_rate = 1 # Graphs self.start_ticks = 0 # Plot-1 self.df = pd.DataFrame() self.data_dict = { 'seconds': [], 'waves': [], 'money': [], 'lives': [], 'money_earnt': [], 'money_spent': [], 'shin': [], 'moubu': [], 'kanki': [], 'ouhon': [], 'ten': [], 'kyoukai': [], 'ryo': [], 'fortress': [], 'towers': [] } self.counters = { 'shin': 0, 'moubu': 0, 'kanki': 0, 'ouhon': 0, 'ten': 0, 'kyoukai': 0, 'ryo': 0, 'fortress': 0 } self.money_earnt = 0 self.money_spent = 0 # Plot-2 self.df_enemies = pd.DataFrame( data={ 'waves': [], 'spawned': [], 'killed': [], "Zao Warrior": [], "Yan Warrior": [], "Qi Warrior": [], "Wei Catapult": [], "Wei Balista": [], "Han Warrior": [], "Chu Warrior": [], "Chu Elephant": [], "Chu Boat": [], "Yan Boat": [], "Qi Boat": [], "Zao Riboku": [] }) self.not_killed = { "zao_warrior": 0, "yan_warrior": 0, "qi_warrior": 0, "wei_catapult": 0, "wei_balista": 0, "han_warrior": 0, "chu_warrior": 0, "chu_elephant": 0, "chu_boat": 0, "yan_boat": 0, "qi_boat": 0, "zao_riboku": 0 } self.counter_gold = {"Gold Earnt": [], "Enemies (Type)": []} self.list_enemy_spawned = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] self.not_kill_count = 0 self.spawn_count = 0