def test_lvup(self): hero = Hero(name='lilei', hp=100, att=10, def_1=10, weight=100, lv=1) for i in range(1, 11): hero.lvup() self.assertEqual(hero.hp, 100 + i * 10) self.assertEqual(hero.att, 10 + i * 2) self.assertEqual(hero.def_1, 10 + i) self.assertEqual(hero.lv, 1 + i)
def __init__(self, w, h): pygame.init() self.size = w, h self.screen = pygame.display.set_mode(self.size) pygame.display.set_caption(TITLE) pygame.display.flip() self.hero_is_died = pygame.sprite.Sprite() self.hero_is_died.image = pygame.image.load("data/hero_died.png") self.hero_is_died.rect = self.hero_is_died.image.get_rect() self.hero_is_win = pygame.sprite.Sprite() self.hero_is_win.image = pygame.image.load("data/win.png") self.hero_is_win.rect = self.hero_is_died.image.get_rect() self.dead = pygame.sprite.Group() self.win_sp = pygame.sprite.Group() self.hero_is_win.add(self.win_sp) self.hero_is_died.add(self.dead) self.camera = Camera(w, h) self.win_m, self.dead_m = False, False self.music = [ pygame.mixer.Sound("data/background_music_1.ogg"), pygame.mixer.Sound("data/background_music_2.ogg"), pygame.mixer.Sound("data/background_music_3.ogg") ] self.menu_music = pygame.mixer.Sound("data/music/main_menu.ogg") self.victory_music = pygame.mixer.Sound("data/Victory.wav") self.dead_music = pygame.mixer.Sound("data/dead.wav") self.menu_music.play(-1) self.hero_sprite = pygame.sprite.Group() self.enemy_sprites = pygame.sprite.Group() self.boss_sprite = pygame.sprite.Group() self.platform_sprites = pygame.sprite.Group() self.all_sprites = pygame.sprite.Group() self.princess_sprite = pygame.sprite.Group() self.info_sprites = pygame.sprite.Group() self.background_sprite = pygame.sprite.Group() self.buttons = pygame.sprite.Group() self.level_names = ["intro", "1", "2", "final"] self.level_state = 0 self.new_game_btn = Button(self.buttons, "new_game_btn.png", "new_game_btn_2.png", 208, 93, "bookFlip2.ogg", "new_game") self.hero = Hero(self.hero_sprite, 60, 60, Sounds().return_dict_of_sounds()) self.hero.add(self.all_sprites) self.cursor_group = pygame.sprite.Group() self.cursor = Cursor(self.cursor_group) self.main_menu = True self.bg = Background(self.background_sprite) self.main_img = pygame.image.load("data/main_menu.png") pygame.mouse.set_visible(False) self.clock = pygame.time.Clock() self.fps = 40 self.just_music = None self.left_state, self.up_state, self.attack = None, None, None self.running = True
def test_zhuangbei(self): hero = Hero(name='casper', hp=100, lv=25, weight=100, att=15, def_1=10) baoshi = ZhuangBei(name='baoshi1', zblv=6, hp=1000) dao = ZhuangBei(name='dao1', zblv=6, att=10) dun = ZhuangBei(name='dun1', zblv=6, def_1=5) hero.zhuangbei(baoshi) hero.zhuangbei(dao) hero.zhuangbei(dun) self.assertEqual(hero.hp, 1100) self.assertEqual(hero.att, 25) self.assertEqual(hero.def_1, 15)
def test_init_hero(self): hero = Hero(name='hmw', hp=100) self.assertEqual(hero.name, 'hmw') self.assertEqual(hero.hp, 100)
def test_ini_gongji(self): hero = Hero(name='lilei', hp=100, weight=100, att=100) enemy = Enemy(name='elong', hp=1000, weight=20, att=150, def_2=50) hero.attack(enemy) self.assertEqual(enemy.hp, 750)
def test_ini_attack(self): hero = Hero(name='casper', hp=100) enemy = Enemy(name='sp', hp=100, weight=100) hero.attack(enemy) self.assertEqual(enemy.hp, 100)
def test_hero_zengjia_shuxing(self): hero = Hero(name='Team1', hp=100, att=10, def_1=10) self.assertEqual(hero.name, 'Team1') self.assertEqual(hero.hp, 100) self.assertEqual(hero.att, 10) self.assertEqual(hero.def_1, 10)
import time from screen import Screen from player import Hero, Enemy from obstacle import Firebeam, Coin, Magnet from initialisations import initialiseFirebeams, initialiseCoins, initialiseMagnets from input import Get, input_to total_time = 100 refresh_time = 0.05 screen = Screen(1000) mandalorian = Hero(screen, screen.getScreenwidth() / 4, screen.getScreenheight() - 1, refresh_time) firebeams = initialiseFirebeams(screen) coins = initialiseCoins(screen) magnets = initialiseMagnets(screen) boss = Enemy(screen, screen.getGamewidth() - 2, screen.getScreenheight() - 1) bullets = [] get = Get() input_taken = 0 start_time = time.time() previous_time = start_time while True: current_time = time.time() time_remaining = total_time - time.time() + start_time if time_remaining < 0: mandalorian.gameOver(mandalorian) if current_time - previous_time >= refresh_time: print( "\033[0;0H" ) screen.printScreen(mandalorian, time_remaining) previous_time = time.time() input_taken = 0 input = input_to(get, refresh_time)