赞
踩
下载
import os import cfg import pygame from modules import * '''主函数''' def main(cfg): # 游戏初始化 pygame.init() pygame.mixer.init() screen = pygame.display.set_mode((cfg.WIDTH, cfg.HEIGHT)) pygame.display.set_caption(cfg.TITLE) # 加载游戏素材 sounds = {} for key, value in cfg.AUDIO_PATHS.items(): sounds[key] = pygame.mixer.Sound(value) sounds[key].set_volume(1) # 开始界面 is_dual_mode = gameStartInterface(screen, cfg) # 关卡数 levelfilepaths = [os.path.join(cfg.LEVELFILEDIR, filename) for filename in sorted(os.listdir(cfg.LEVELFILEDIR))] # 主循环 for idx, levelfilepath in enumerate(levelfilepaths): switchLevelIterface(screen, cfg, idx+1) game_level = GameLevel(idx+1, levelfilepath, sounds, is_dual_mode, cfg) is_win = game_level.start(screen) if not is_win: break is_quit_game = gameEndIterface(screen, cfg, is_win) return is_quit_game '''run''' if __name__ == '__main__': while True: is_quit_game = main(cfg) if is_quit_game: break
import os '''字体''' FONTPATH = os.path.join(os.getcwd(), 'resources/font/font.ttf') '''图片''' BULLET_IMAGE_PATHS = { 'up': os.path.join(os.getcwd(), 'resources/images/bullet/bullet_up.png'), 'down': os.path.join(os.getcwd(), 'resources/images/bullet/bullet_down.png'), 'left': os.path.join(os.getcwd(), 'resources/images/bullet/bullet_left.png'), 'right': os.path.join(os.getcwd(), 'resources/images/bullet/bullet_right.png') } ENEMY_TANK_IMAGE_PATHS = { '1': [os.path.join(os.getcwd(), 'resources/images/enemyTank/enemy_1_0.png'), os.path.join(os.getcwd(), 'resources/images/enemyTank/enemy_1_1.png'), os.path.join(os.getcwd(), 'resources/images/enemyTank/enemy_1_2.png'), os.path.join(os.getcwd(), 'resources/images/enemyTank/enemy_1_3.png')], '2': [os.path.join(os.getcwd(), 'resources/images/enemyTank/enemy_2_0.png'), os.path.join(os.getcwd(), 'resources/images/enemyTank/enemy_2_1.png'), os.path.join(os.getcwd(), 'resources/images/enemyTank/enemy_2_2.png'), os.path.join(os.getcwd(), 'resources/images/enemyTank/enemy_2_3.png')], '3': [os.path.join(os.getcwd(), 'resources/images/enemyTank/enemy_3_0.png'), os.path.join(os.getcwd(), 'resources/images/enemyTank/enemy_3_1.png'), os.path.join(os.getcwd(), 'resources/images/enemyTank/enemy_3_2.png'), os.path.join(os.getcwd(), 'resources/images/enemyTank/enemy_3_3.png')], '4': [os.path.join(os.getcwd(), 'resources/images/enemyTank/enemy_4_0.png'), os.path.join(os.getcwd(), 'resources/images/enemyTank/enemy_4_1.png'), os.path.join(os.getcwd(), 'resources/images/enemyTank/enemy_4_2.png'), os.path.join(os.getcwd(), 'resources/images/enemyTank/enemy_4_3.png')] } PLAYER_TANK_IMAGE_PATHS = { 'player1': [os.path.join(os.getcwd(), 'resources/images/playerTank/tank_T1_0.png'), os.path.join(os.getcwd(), 'resources/images/playerTank/tank_T1_1.png'), os.path.join(os.getcwd(), 'resources/images/playerTank/tank_T1_2.png')], 'player2': [os.path.join(os.getcwd(), 'resources/images/playerTank/tank_T2_0.png'), os.path.join(os.getcwd(), 'resources/images/playerTank/tank_T2_1.png'), os.path.join(os.getcwd(), 'resources/images/playerTank/tank_T2_2.png')] } FOOD_IMAGE_PATHS = { 'boom': os.path.join(os.getcwd(), 'resources/images/food/food_boom.png'), 'clock': os.path.join(os.getcwd(), 'resources/images/food/food_clock.png'), 'gun': os.path.join(os.getcwd(), 'resources/images/food/food_gun.png'), 'iron': os.path.join(os.getcwd(), 'resources/images/food/food_iron.png'), 'protect': os.path.join(os.getcwd(), 'resources/images/food/food_protect.png'), 'star': os.path.join(os.getcwd(), 'resources/images/food/food_star.png'), 'tank': os.path.join(os.getcwd(), 'resources/images/food/food_tank.png') } HOME_IMAGE_PATHS = [os.path.join(os.getcwd(), 'resources/images/home/home1.png'), os.path.join(os.getcwd(), 'resources/images/home/home_destroyed.png')] SCENE_IMAGE_PATHS = { 'brick': os.path.join(os.getcwd(), 'resources/images/scene/brick.png'), 'ice': os.path.join(os.getcwd(), 'resources/images/scene/ice.png'), 'iron': os.path.join(os.getcwd(), 'resources/images/scene/iron.png'), 'river1': os.path.join(os.getcwd(), 'resources/images/scene/river1.png'), 'river2': os.path.join(os.getcwd(), 'resources/images/scene/river2.png'), 'tree': os.path.join(os.getcwd(), 'resources/images/scene/tree.png') } OTHER_IMAGE_PATHS = { 'appear': os.path.join(os.getcwd(), 'resources/images/others/appear.png'), 'background': os.path.join(os.getcwd(), 'resources/images/others/background.png'), 'boom_dynamic': os.path.join(os.getcwd(), 'resources/images/others/boom_dynamic.png'), 'boom_static': os.path.join(os.getcwd(), 'resources/images/others/boom_static.png'), 'gameover': os.path.join(os.getcwd(), 'resources/images/others/gameover.png'), 'logo': os.path.join(os.getcwd(), 'resources/images/others/logo.png'), 'mask': os.path.join(os.getcwd(), 'resources/images/others/mask.png'), 'protect': os.path.join(os.getcwd(), 'resources/images/others/protect.png'), 'tip': os.path.join(os.getcwd(), 'resources/images/others/tip.png'), 'gamebar': os.path.join(os.getcwd(), 'resources/images/others/gamebar.png') } '''声音''' AUDIO_PATHS = { 'add': os.path.join(os.getcwd(), 'resources/audios/add.wav'), 'bang': os.path.join(os.getcwd(), 'resources/audios/bang.wav'), 'blast': os.path.join(os.getcwd(), 'resources/audios/blast.wav'), 'fire': os.path.join(os.getcwd(), 'resources/audios/fire.wav'), 'Gunfire': os.path.join(os.getcwd(), 'resources/audios/Gunfire.wav'), 'hit': os.path.join(os.getcwd(), 'resources/audios/hit.wav'), 'start': os.path.join(os.getcwd(), 'resources/audios/start.wav') } '''屏幕''' WIDTH = 630 HEIGHT = 630 BORDER_LEN = 3 GRID_SIZE = 24 PANEL_WIDTH = 150 TITLE = '坦克大战' '''关卡''' LEVELFILEDIR = os.path.join(os.getcwd(), 'modules/levels')
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。