Task 6

作者: delugezhang | 来源:发表于2019-08-15 10:49 被阅读0次

飞机大战游戏设计

1. 代码的整体框架

      首先设置游戏界面的大小、标题、背景图片、飞机图片(正常、爆炸)、子弹图片;然后设置两个list,分别存储敌机和被击毁的飞机;然后初始化分数、射击频率、敌机移动频率,并设置游戏循环帧率;然后进入游戏的主循环部分;然后在gameover后显示最终得分;最后处理游戏退出。

     在游戏的主循环部分主要包括以下部分:

    (1)按一定频率发射子弹;(2)按一定频率生成敌机;(3)移动子弹;(4)移动敌机;(5)敌机与玩家飞机相撞处理方法;(6)敌机被子弹击中处理方法;(7)一系列绘制、显示的方法,包括:绘制背景、绘制玩家飞机、显示子弹、显示敌机、绘制得分、更新屏幕;(8)获取、处理键盘事件;(9)处理退出游戏。

      一共个建立了3个类,分别是:(1)子弹类;(2)玩家飞机类;(3)敌机类

2. 每个类及每个函数的作用

(1)子弹类:子弹类里包含了两个函数,一个是用来定义子弹的基本属性,包括:子弹的图片、位置、移动速度,另一个用来计算子弹位置。

(2)玩家飞机类:主要是三个函数:1. 定义基本属性;2. 如何发射子弹;3. 如何移动

1. 基本属性:设置了飞机的图片、大小、位置、速度、是否被撞,并建立了存储飞机发射子弹的集合;

2. 如何发射子弹:调用了子弹类,给子弹类传递了实参,包括子弹的图片和位置;

3. 如何移动:设置了飞机上、下、左、右移动的方法,并防止飞机出界面

(3)敌机类:主要是三个函数:1. 定义基本属性;2. 如何移动

1. 基本属性包括:敌机图片、敌机坠毁图片、敌机位置、敌机速度

2. 如何移动:计算敌机位置

3. 代码实现过程中遇到的问题

1. 开始python文件直接双击会出现闪退现象,后来发现是没安装pygame,安装pygame后就可以成功运行了;

2. 碰到了很多没见过的函数,比如定义图片位置和大小的Rect(left, top, width, height),还有rect.bottom、rect.midtop等的其他功能函数,帧率设置函数、显示函数、绘制函数等。

4. 实验结果截图

相关文章

  • Operation的addDependency操作

    我们有7个任务task1, task2, task3, task4, task5, task6, task7并发执...

  • Task 6

    CSS全称是什么? Cascading-Style-Sheets(层叠样式表) 层叠就是浏览器对多个样式来源进行叠...

  • Task 6

    飞机大战游戏设计 1. 代码的整体框架 首先设置游戏界面的大小、标题、背景图片、飞机图片(正常、爆炸)、子弹...

  • task6

    1. CSS的全称是什么? Cascading Style Sheets, 层叠样式表。CSS为HTML标记语言...

  • task6

    Math任务 1.写一个函数,返回从min到max之间的 随机整数,包括min不包括max 2.写一个函数,返回从...

  • task6

    line-height有什么作用? line-hight设置行高,不能够使用负值 如何去查CSS属性的兼容性?比如...

  • task6

    1.创建窗口2.创建一个玩家飞机,按方向键可以左右移动3.给玩家飞机添加按空格键发射子弹功能4.创建一个敌机5.敌...

  • Task6

    整体框架 游戏初始化(包括子弹,玩家飞机,敌机的图片位置初始化) 源代码主要由三个自定义类组成 1.子弹类 2.玩...

  • task6

    批量归一化和残差网络 为什么要做标准化处理 深层神经网络中,中间某一层的输入是其之前的神经层的输出。因此,其之前的...

  • Gradle任务

    1.多种方式创建任务: 第一种:直接以一个任务名字创建任务的方式 def Task ex6=task(ex6) e...

网友评论

      本文标题:Task 6

      本文链接:https://www.haomeiwen.com/subject/wbaojctx.html