事件处理

  1 #coding:UTF-8
  2 '''
  3 新增功能:
  4     1. 点击关闭, 关闭窗口
  5     2. 按下键盘的时候, 判断按下的是什么键, 分别对不同的键做处理
  6 '''
  7 
  8 # 坦克大战项目框架
  9 # 主类
 10 import pygame
 11 SCEEN_WIDTH = 700
 12 SCEEN_HIGHT = 500
 13 BG_COLOR = pygame.Color(0, 0, 0)
 14 class MainGame():
 15     window = None
 16     # 初始化
 17     def __init__(self):
 18         pass
 19     # 开始游戏
 20     def startGame(self):
 21         # 加载主窗口
 22         # 初始化主窗口
 23         pygame.display.init()
 24         # 设置窗口大小及显示
 25         MainGame.window = pygame.display.set_mode([SCEEN_WIDTH, SCEEN_HIGHT])
 26         # 设置窗口的标题
 27         pygame.display.set_caption('坦克大战 v1.0')
 28         while True:
 29             # 给窗口设置填充色
 30             MainGame.window.fill(BG_COLOR)
 31             # 获取事件
 32             self.getEvent()
 33             pygame.display.update()
 34 
 35     # 结束游戏
 36     def endGame(self):
 37         print('游戏结束')
 38         exit()
 39     # 获取事件
 40     def getEvent(self):
 41         # 获取所有事件
 42         eventList = pygame.event.get()
 43         # 遍历事件
 44         for event in eventList:
 45         # 判断键盘输出的是退出还是按下
 46         # 如果是退出, 关闭窗口
 47             if event.type == pygame.QUIT:
 48                 self.endGame()
 49             if event.type == pygame.KEYDOWN:
 50                 if event.key == pygame.K_LEFT:
 51                     print('左移')
 52                 if event.key == pygame.K_RIGHT:
 53                     print('右移')
 54                 if event.key == pygame.K_UP:
 55                     print('上移')
 56                 if event.key == pygame.K_DOWN:
 57                     print('下移')
 58 # 坦克类
 59 class Tank():
 60     # 初始化
 61     def __init__(self):
 62         pass
 63     # 移动
 64     def move(self):
 65         pass
 66     # 射击
 67     def shot(self):
 68         pass
 69     # 显示坦克的方法
 70     def disPlayTank(self):
 71         pass
 72 
 73 # 我方坦克
 74 class MyTank(Tank):
 75     # 初始化
 76     def __init__(self):
 77         pass
 78 
 79 # 敌方坦克
 80 class EnemyTank(Tank):
 81     # 初始化
 82     def __init__(self):
 83         pass
 84 
 85 # 子弹类
 86 class Bullet():
 87     # 初始化
 88     def __init__(self):
 89         pass
 90     # 移动
 91     def move(self):
 92         pass
 93     # 展示子弹的方法
 94     def disPlayBullet(self):
 95         pass
 96 
 97 # 墙壁
 98 class Wall():
 99     def __init__(self):
100         pass
101     # 展示墙壁的方法
102     def disPlayWall(self):
103         pass
104 
105 # 爆炸
106 class Explore():
107     def __init__(self):
108         pass
109     # 展示爆炸效果的方法
110     def disPlayExplore(self):
111         pass
112 
113 # 音效
114 class Music():
115     def __init__(self):
116         pass
117     # 播放音乐
118     def playMusic(self):
119         pass
120 
121 if __name__ == '__main__':
122     MainGame().startGame()