对于打地鼠游戏需要有一个清晰的逻辑思路,当然要制作打地鼠游戏还需要在Python中导入背景图片、地鼠图片等等。好了我们废话不多说,直接上代码。

class GameManager:def __init__(self):# Define constantsself.SCREEN_WIDTH = 800self.SCREEN_HEIGHT = 600self.FPS = 60self.MOLE_WIDTH = 90self.MOLE_HEIGHT = 81self.FONT_SIZE = 31self.FONT_TOP_MARGIN = 26self.LEVEL_SCORE_GAP = 4self.LEFT_MOUSE_BUTTON = 1self.GAME_TITLE = "Whack A Mole - Game Programming - Assignment 1"# Initialize player's score, number of missed hits and levelself.score = 0self.misses = 0self.level = 1# Initialize screenself.screen = pygame.display.set_mode((self.SCREEN_WIDTH, self.SCREEN_HEIGHT))pygame.display.set_caption(self.GAME_TITLE)self.background = pygame.image.load("images/bg.png")# Font object for displaying textself.font_obj = pygame.font.Font('./fonts/GROBOLD.ttf', self.FONT_SIZE)# Initialize the mole's sprite sheet# 6 different statessprite_sheet = pygame.image.load("images/mole.png")self.mole = []self.mole.append(sprite_sheet.subsurface(169, 0, 90, 81))self.mole.append(sprite_sheet.subsurface(309, 0, 90, 81))self.mole.append(sprite_sheet.subsurface(449, 0, 90, 81))self.mole.append(sprite_sheet.subsurface(575, 0, 116, 81))self.mole.append(sprite_sheet.subsurface(717, 0, 116, 81))self.mole.append(sprite_sheet.subsurface(853, 0, 116, 81))

我们首先要做的就是先将我们的界面设定好,以及一些后面会用到的参数,将我们的图片导入进来。

接下来,我们需要建立一个循环让我们的界面跑起来,能够实时更新游戏界面,并加入鼠标的操作。

    def start(self):cycle_time = 0num = -1loop = Trueis_down = Falseinterval = 0.1initial_interval = 1frame_num = 0left = 0# Time control variablesclock = pygame.time.Clock()for i in range(len(self.mole)):self.mole[i].set_colorkey((0, 0, 0))self.mole[i] = self.mole[i].convert_alpha()while loop:for event in pygame.event.get():if event.type == pygame.QUIT:loop = Falseif event.type == MOUSEBUTTONDOWN and event.button == self.LEFT_MOUSE_BUTTON:self.soundEffect.playFire()if self.is_mole_hit(mouse.get_pos(), self.hole_positions[frame_num]) and num > 0 and left == 0:num = 3left = 14is_down = Falseinterval = 0self.score += 1  # Increase player's scoreself.level = self.get_player_level()  # Calculate player's level# Stop popping sound effectself.soundEffect.stopPop()# Play hurt soundself.soundEffect.playHurt()self.update()else:self.misses += 1self.update()

好了以上是给制作打地鼠游戏的思路,代码不是全的,可以借鉴。

如果有想要完整版的可以加我微信HZ19980419,网盘密码¥10。

https://pan.baidu.com/s/1F6Pewwvnw1i4xHX75ahYyg

Python 打地鼠小游戏相关推荐

  1. 如何用python制作五子棋游戏_Python制作打地鼠小游戏

    原文链接 Python制作小游戏(二十一)​mp.weixin.qq.com 效果展示 打地鼠小游戏https://www.zhihu.com/video/1200492442610450432 简介 ...

  2. Python 和 PyQt5 实现打地鼠小游戏

    Python 和 PyQt5 实现打地鼠小游戏 实现效果: 视频效果: https://live.csdn.net/v/264602https://live.csdn.net/v/264602 代码: ...

  3. matlab制作打地鼠游戏,Python制作打地鼠小游戏

    原标题:Python制作打地鼠小游戏 导语 大家好,欢迎来到 Crossin的编程教室 ! 打地鼠游戏相信大家都知道,这里就不多介绍了,反正就是不停地拿锤子打洞里钻出来的地鼠呗~ 今天就给大家分享一个 ...

  4. python小游戏制作软件_Python制作打地鼠小游戏

    原文链接Python制作小游戏(二十一)​mp.weixin.qq.com 效果展示打地鼠小游戏https://www.zhihu.com/video/1200492442610450432 简介 打 ...

  5. python打地鼠代码_vue实现打地鼠小游戏

    本文实例为大家分享了vue实现打地鼠小游戏的具体代码,供大家参考,具体内容如下 效果图如下: 代码如下: 打地鼠游戏 {{n}}号地鼠 设置参数 速度: 总数: 开始 统计分数面板 总数: {{TOT ...

  6. python手机版做小游戏代码大全-python简单小游戏代码 怎么用Python制作简单小游戏...

    1.Python猜拳小游戏代码: 2.import random #导入随机模块 3. 4.num = 1 5.yin_num = 0 6.shu_num = 0 7.while num <= ...

  7. python小游戏代码大全-python简单小游戏代码 怎么用Python制作简单小游戏

    1.Python猜拳小游戏代码: 2.import random #导入随机模块 3. 4.num = 1 5.yin_num = 0 6.shu_num = 0 7.while num <= ...

  8. java 打地鼠 源代码_Java实现的打地鼠小游戏完整示例【附源码下载】

    本文实例讲述了Java实现的打地鼠小游戏.分享给大家供大家参考,具体如下: 这里涉及到java线程和GUI的相关知识,一个简单的java小游戏打地鼠,有兴趣的朋友可以优化一下.先来看看运行效果: 具体 ...

  9. 一分钟教你学会python_十分钟教你学会python编写小游戏

    原标题:十分钟教你学会python编写小游戏 看过,估计大家都已经精通了吧,好的,话不多说,今天就活学活用,用python来编写纸牌游戏21点,江湖人称黑杰克,BLACK JACK-(注意法式卷舌). ...

最新文章

  1. Find The Multiple POJ - 1426(只包含01的十进制倍数(同余模定理))
  2. 【BZOJ】3339: Rmq Problem 3585: mex(线段树+特殊的技巧)
  3. redis 控制调用频率
  4. php 查询数据库 刷新,这个每次刷新都要去数据库里面查询一遍吗?
  5. java tcp发消息给硬件_java – TCP客户端/服务器通信只发送第一条消息?
  6. ConcurrentHashMap的源码分析-initTable
  7. Angular Route数据结构里常用字段使用方法一览
  8. javafx中的tree_JavaFX中的塔防(6)
  9. lvs服务器需要开启web服务么_Centos7搭建LVS+Keepalived高可用Web
  10. totolink服务器未响应,WiFi效果差的罪魁祸首竟然是这个 TOTOLINK为你深度讲解
  11. 目前最全的R语言-图片的组合与拼接
  12. paip.双网卡多网卡不能上网的联网配置
  13. 【大数据】Linkis前端管理台如何部署
  14. srb (bug篇)
  15. 电商平台后台管理系统--->系统详细设计(订单管理模块)
  16. 什么是图片的DPI?如何修改图片DPI值?
  17. echarts百度地图涟漪效果
  18. Arturia V Collection 9 for mac - Arturia系列合成器合集
  19. 《无尽战神》隐私政策
  20. 示例:波士顿房价预测

热门文章

  1. 使用docker创建mysql容器
  2. 「GoCN酷Go推荐」go语言位操作库 — bitset
  3. 五分钟学会python函数_Python——带你五分钟了解函数式编程与闭包
  4. MicroC实现Expr部分和for循环,无续算版本Comp.fs展示
  5. 618 都疯了吗?这些书居然都不到半价!
  6. HTML中input输入框动态模糊匹配
  7. 经济型EtherCAT运动控制器(一):功能简介与应用场景
  8. Python 1. 如何选择python版本,以及如何选择开发环境(IDE)
  9. Linux多功能下载机(Arias2)
  10. 703n的OpenWrt配置四:把路由器变成下载机