【Python基础知识】飞机大战——飞机大战游戏框架

发布 : Python培训      来源:优就业

2021-09-28 09:57:45

1、游戏窗口

经过安装Pygame,以及了解Pygame的核心功能之后,可以开始编写一个小的游戏案例了。下面将制作一个飞机大战游戏,游戏内容是敌对的两架飞机互相射击。

游戏开始前需要调用初始化函数,代码如下:

  1. pygame.init()

否则,在本案例中输出汉字时,会提示错误,字体没有初始化。

创建一个游戏窗口,加载背景,设置窗口标题和图标等,代码如下:

  1. # 创建一个游戏窗口
  2. surface = pygame.display.set_mode((480, 652))
  3. # 加载背景图片
  4. background = pygame.image.load('./img/background.png')
  5. # 调整连续按键事件生成时间
  6. pygame.key.set_repeat(50, 50)
  7. # 设置窗口标题
  8. pygame.display.set_caption('飞机大战')
  9. # 设置窗口图标
  10. pygame.display.set_icon(pygame.image.load('./img/icon72x72.png'))

2、游戏循环

飞机大战中设计了游戏循环,还设计了玩家飞机、敌机、玩家子弹和敌人子弹四个类,以及碰撞和控制两个功能函数。另外,还有游戏启动界面和结束界面等函数。

整个游戏的游戏循环如下:

①绘制背景图片。

②控制玩家飞机,主要响应玩家的操作。例如,玩家点击关闭按钮,则退出游戏;玩家按下左箭头键,则飞机向左移动;玩家按下右箭头键,则飞机向右移动;玩家按下空格键,则飞机发射子弹。

③绘制玩家飞机,包括正常状态和被击毁状态;绘制玩家飞机发射的子弹。

④绘制敌机,包括正常状态和被击毁状态;绘制敌机发射的子弹。

⑤控制敌机的移动。

⑥检测玩家飞机与敌机发射子弹的碰撞情况。

⑦检测敌机和玩家飞机发射子弹的碰撞情况。

⑧更新游戏窗口。

游戏循环的具体实现代码如下:

  1. while True:
  2. surface.blit(background, (0, 0)) # 绘制背景图片
  3. kongzhi(hero) # 控制玩家飞机
  4. hero.hero_display() # 绘制玩家飞机
  5. enemyplan.display() # 绘制敌机
  6. enemyplan.move() # 控制敌机的移动
  7. impact(hero, enemyplan.biu_list) # 检测玩家飞机与敌机发射子弹的碰撞情况
  8. impact(enemyplan, hero.biu_list) # 检测敌机和玩家飞机发射子弹的碰撞情况
  9. pygame.display.update() # 更新游戏窗口

THE END  

声明:本站稿件版权均属中公教育优就业所有,未经许可不得擅自转载。

领取零基础自学IT资源

涉及方向有Java、Web前端、UI设计、软件测试、python等科目,内容包含学习路线、视频、源码等

点击申请领取资料

点击查看资料详情 

收起 


 相关推荐

问题解答专区
返回顶部