Python制作打地鼠小游戏

您所在的位置:网站首页 image416 Python制作打地鼠小游戏

Python制作打地鼠小游戏

#Python制作打地鼠小游戏| 来源: 网络整理| 查看: 265

原标题:Python制作打地鼠小游戏

导语

大家好,欢迎来到 Crossin的编程教室 !

打地鼠游戏相信大家都知道,这里就不多介绍了,反正就是不停地拿锤子打洞里钻出来的地鼠呗~

今天就给大家分享一个用python写的打地鼠小游戏。同时也祝大家在新的一年把不开心的事情统统打跑~

环境搭建

安装Python并添加到环境变量,安装 pygame 模块

或下载离线安装:

http://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame

先睹为快

获取源码后在cmd窗口运行如下命令即可:

效果如下:

原理简介

首先,让我们确定一下游戏中有哪些元素。打地鼠打地鼠,地鼠当然得有啦,那我们就写个地鼠的游戏精灵类呗:

地鼠有被锤子击中和未被锤子击中这两种状态,所以需要加载两张图,当地鼠被击中时从未被击中的地鼠状态图切换到被击中后的地鼠状态图(我找的图可能不太像地鼠,请各位老哥见谅)。然后我们再来定义一下锤子这个游戏精灵类,和地鼠类似,锤子也有未锤下去和已锤下去两种状态,只不过锤下去之后需要迅速恢复回未锤下去的状态。

代码实现如下:

OK,定义完游戏精灵之后,我们就可以开始写主程序啦。首先自然是游戏初始化:

然后加载必要的游戏素材和定义必要的游戏变量(我都注释的比较详细了,就不在文章里赘述一遍了,自己看注释呗~)

接着就是游戏主循环啦:

每一部分我也都做了注释,逻辑很简单,就不多废话了。

60s后,游戏结束,我们就可以统计分数以及和历史最高分做对比了:

为了使游戏看起来更“正式”,再随手添个开始界面和结束界面呗:

'''结束界面'''defendInterface(screen, end_image_path, again_image_paths, score_info, font_path, font_colors, screensize): end_image = pygame.image.load(end_image_path)again_images = [pygame.image.load(again_image_paths[ 0]), pygame.image.load(again_image_paths[ 1])] again_image = again_images[ 0] font = pygame.font.Font(font_path, 50) your_score_text = font.render( 'Your Score: %s'% score_info[ 'your_score'], True, font_colors[ 0]) your_score_rect = your_score_text.get_rectyour_score_rect.left, your_score_rect.top = (screensize[ 0] - your_score_rect.width) / 2, 215best_score_text = font.render( 'Best Score: %s'% score_info[ 'best_score'], True, font_colors[ 1]) best_score_rect = best_score_text.get_rectbest_score_rect.left, best_score_rect.top = (screensize[ 0] - best_score_rect.width) / 2, 275whileTrue: forevent inpygame.event.get: ifevent.type == pygame.QUIT: pygame.quitsys.exitelifevent.type == pygame.MOUSEMOTION: mouse_pos = pygame.mouse.get_posifmouse_pos[ 0] inlist(range( 419, 574)) andmouse_pos[ 1] inlist(range( 374, 416)): again_image = again_images[ 1] else: again_image = again_images[ 0] elifevent.type == pygame.MOUSEBUTTONDOWN: ifevent.button == 1andmouse_pos[ 0] inlist(range( 419, 574)) andmouse_pos[ 1] inlist(range( 374, 416)): returnTruescreen.blit(end_image, ( 0, 0)) screen.blit(again_image, ( 416, 370)) screen.blit(your_score_text, your_score_rect)screen.blit(best_score_text, best_score_rect)pygame.display.update

展开全文

大功告成~

源码下载

获取源码及图片素材可在公众号内回复关键字 打地鼠

音频与图片素材源于网络,仅供个人学习交流使用,如有侵权请联系作者删除。

如果文章对你有帮助,欢迎转发/点赞/收藏~

作者:白露未晞me

来源:Charles的皮卡丘

用python写一个简单的贪吃蛇游戏 返回搜狐,查看更多

责任编辑:



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3