功能描述

本游戏要完成开始界面和游戏界面的实现和切换。实现热狗、王思聪和玩家飞机的碰撞检测检测。为消失的王思聪添加爆炸效果为消失的飞机添加爆炸效果。

首先得在网上找到王思聪图像和飞机、热狗、背景图,音效,首先要创建窗口和并插入背景图片,实现背景图像的无缝交替,判断是否飞机和王思聪是否移出屏幕,指定飞机和王思聪的初始位置、初始速度和初始血量,响应按键实现玩家飞机发射子弹,碰撞检测实现热狗消灭王思聪。

系统功能概况

(1)搭建Pygame开发环境;

(2)实现开始界面,设置游戏声音和背景;

(3)实现游戏界面;

(4)实现玩家飞机的显示和销毁,控制移动;

(5)实现王思聪的随机显示和销毁;

(6)实现热狗的显示和销毁、移动;

(7)实现界面的实时刷新;

(8)实现玩家分数记录;

(9)实现王思聪被击中后的爆炸效果;

(10)实现背景音乐。

开始界面

首先创建一个开始界面类,在这个类中创建它的构造函数。实现开始界面图片集合,定义屏幕窗口大小:

screen=pygame.display.set_mode((480,750))

实现背景图片:将加载到内存的图片绘制到屏幕指定的位置, 将背景图片绘制到屏幕,绘制就调用屏幕对象的blit方法,刷新屏幕显示,否则绘制的图片无法显示,添加文字显示游戏名称和制作人信息,实现开始按钮图片,判断鼠标是否在按钮范围,区域检测,如果玩家鼠标点击按钮,进入游戏界面,即调用游戏界面类的Show()方法,并让isPlay置位True。

创建游戏界面类,并实现其构造函数,当玩家鼠标点击开始界面中的开始游戏按钮,调用游戏界面

实现背景图片的无缝衔接:

self.rect1=self.rect1.move(0,self.speed)

self.rect2=self.rect2.move(0,self.speed)

if self.rect1.y>=720:

self.rect1.y=self.rect2.y-768

if self.rect2.y>=720:

self.rect2.y=self.rect1.y-768

self.screen.blit(self.image1,self.rect1)

self.screen.blit(self.image2,self.rect2)

设置字体并在屏幕左上角显示玩家分数和血量:

myFont=pygame.font.Font("font/Marker Felt.ttf",30)

创建玩家飞机

创建玩家飞机类,并实现其构造函数,显示玩家飞机图片,指定玩家飞机初始位置为屏幕的下侧中间的位置、初始速度为1和初始血量为1,初始分数为1,当热狗击中王思聪时,分数加10。

监听用户做的各种操作,响应按键实现玩家飞机移动:当玩家按下键盘上的a键,飞机向左移动;当玩家按下键盘上的d键,飞机向右移动;当玩家按下键盘上的w键,飞机向上移动;当玩家按下键盘上的s键,飞机向下移动:

if i.type==pygame.KEYDOWN:

if i.key==pygame.K_a:

Hero.left=True

......

发射热狗,即调用热狗类的Show()方法。

碰撞检测,当玩家飞机碰到王思聪时。销毁玩家飞机,返回开始界面。

创建王思聪

创建王思聪类,并实现其构造函数,显示王思聪图片,使用随机函数random()指定王思聪随机位置和出现频率,并设置初始速度为1和初始血量为1,如图3-5所示:

图3-5 王思聪

实现碰撞检测,当热狗击中王思聪时,让王思聪血量减一,即执行死亡动画,动画就是将多张静止的图片快速的播放,这里就涉及到帧数的问题,一般每秒60刷新60次就能制作高品质的动画。这里我将王思聪图像缓慢替换为死亡图片,并销毁王思聪和热狗:

self.screen.blit(self.imgs[self.deadIndex],self.rect)

self.deadAdd+=1

if self.deadAdd==30:

self.deadIndex+=1

if self.deadIndex==len(self.imgs):

sounds[0].play()

heroObj.score+=10 # 加分

if self in enemyList:

enemyList.remove(self)

self.deadAdd=0

如图所示:

创建热狗

创建热狗类,并实现其构造函数,获取玩家飞机位置,在玩家飞机的上面出现,并向上移动,当热狗击中王思聪时,将王思聪图像缓慢替换为死亡图片,并销毁热狗:

if self.rect.y<=-20:

if self in bulletList:

bulletList.remove(self)

self.screen.blit(self.image,self.rect)

如图所示:

最终效果如图3-7所示:

Python实现王思聪吃热狗相关推荐

  1. 王思聪吃热狗的c语言小程序,王思聪吃热狗火了,开发各种恶搞小程序!王校长:我不要面子的啊...

    原标题:王思聪吃热狗火了,开发各种恶搞小程序!王校长:我不要面子的啊 近日王校长上了不少次热搜,其中有一条就是王校长吃热狗火了,接下来就出现了各种各样的表情包,手机壳,素描等等.其实这些还不是最火爆的 ...

  2. 英雄联盟官宣IG冠军皮肤 彩蛋竟是王思聪吃热狗...

    在IG拿下冠军后,今日,冠军专属皮肤也终于来了.英雄联盟官方微博发布了IG冠军皮肤原画,从曝光的图片来看,IG冠军皮肤采用了具有中国特色的水墨风格,黑白灰的三种配色对应了iG的色调风格. 据悉,这次I ...

  3. 王思聪吃热狗--java小游戏百度云源码

    此是闲暇之余敲的飞机大战java版,提供给大家学习和吐槽☺ https://pan.baidu.com/s/11PViK5Lk6cIrzvRrJMjK7g 提取码:9xrc

  4. python:王思聪究竟上了多少次热搜?

    前言 文章的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 朱小五 凹凸玩数据 王思聪又又又上了微博热搜--然而这次却不是关于 ...

  5. python猴子吃桃问题_用Python解决猴子吃桃问题

    猴子吃桃问题是数学中的一道经典问题,学习过相关数学知识的人固然已经知道该如何解答了,但还没有学到这部分知识的孩子该怎么办呢?其实接触了编程的孩子就可以用编程知识来解决这个问题了,比如Python,下面 ...

  6. 基于Python实现的吃豆人游戏设计

    资源下载地址:https://download.csdn.net/download/sheziqiong/86817091 资源下载地址:https://download.csdn.net/downl ...

  7. python猴子吃桃问题_「每日一练」巧用python计算猴子吃桃问题

    原标题:「每日一练」巧用python计算猴子吃桃问题 猴子吃桃一直以来都是数学家们津津乐道的话题,倒不是说这个题目有多难,主要是它的逆向思维能帮我们解决很多生活和生产中的问题! 下边我们就一起来看看p ...

  8. 基于Python的水母吃鱼游戏的设计与实现

    源码获取:https://www.bilibili.com/video/BV1Ne4y1g7dC/ 基于Python的水母吃鱼游戏的设计与实现

  9. 吃热狗游戏Java_《我的世界》吃才是王道“食物工艺”让你尝遍八大菜系

    想必在<我的世界>中也有不少吃货,所以小编本期的组件推荐就给大家推荐一个让所有吃货的都为之狂欢的组件,那就是mcjava制作的"食物工艺"组件,在这个组件中有成百上千种 ...

  10. 可怜的博主跟小豆人杠起来啦!Python制作的吃豆人小游戏,快来围观!!

    相关文件 关注小编,私信小编领取哟! 当然别忘了一件三连哟~~ 对了大家可以关注小编的公众号哟~~ Python日志 开发环境 Python版本:3.6.4 相关模块: pygame模块: 以及一些P ...

最新文章

  1. 详细!看看顶级互联网公司都在研究的无服务器架构!
  2. -i 可以编译添加多个_C语言的编译过程
  3. std::recursive_mutex嵌套锁/递归锁
  4. stdin,stdout,stderr
  5. java B2B2C 仿淘宝电子商城系统-eureka 基础
  6. Java、JavaScript、C/C++、Python分别用来开发什么?
  7. python画折线图-python如何画折线图
  8. 10 行代码解决漏斗转换计算之性能优化
  9. FLEX 字符串处理函数
  10. Openproj 在64位操作系统报错errno=193
  11. 企业网络冗余技术(EthernetChannel、HSRP、VRRP)
  12. 金仓数据库KingbaseES blob类型数据导入导出
  13. 用js如何实现获取验证码
  14. 《富爸爸穷爸爸》:为什么你很穷
  15. C#窗体应用程序之设置窗体名称和程序图标
  16. ORA-01012: not logged on处理
  17. 计算机网络高频知识点(一)
  18. 程序员如何正确饲养乌龟?
  19. 3.3 典型交易流程
  20. 可口可乐启示录:把世界装进瓶子里的4个商人【姜太公公】

热门文章

  1. 上银驱动器使用手册_上银伺服电机调试说明书PPT课件
  2. CPLEX:二次规划
  3. php导出word乱码,php导出的word会乱码吗
  4. 如何系统学习SWAT模型—建模方法、实例应用、高级进阶
  5. dosbox运行C语言,DOSBox怎么用?DOSBox使用教程
  6. 深入理解jvm虚拟机一
  7. 实战 Flutter 象棋从零到上架
  8. 斗鱼注册服务器没有返回,斗鱼遭遇服务器大面积崩溃事故上热搜 大量主播直播间统统不见了...
  9. Java常用设计模式(面试常考)
  10. Java JDK中文帮助文档免费下载,百度网盘下载。