嗨嗨, 我是小圆。

朋友们,写代码写多了,会累的,应该要劳逸结合,适当的玩玩小游戏!

今天带你们来感受一下用python来开发出的一款益智游戏。

准备一下

软件环境,咱们还是用python和pycharm即可。

模块的话,没有安装的安装一下 cfg 和 pygame 模块。

win+r 打开运行框输入 cmd 按回车弹出命令提示符窗口,输入pip install 模块名,如 pip install pygame 然后按回车即可安装成功。

代码展示

然后咱们直接来吧展示

模块导入

import cfg
import pygame
from modules.misc import *
from modules.mazes import *
from modules.Sprites import *

主函数

初始化

pygame.init()
pygame.mixer.init()
pygame.font.init()
pygame.mixer.music.load(cfg.BGMPATH)
pygame.mixer.music.play(-1, 0.0)
screen = pygame.display.set_mode(cfg.SCREENSIZE)
pygame.display.set_caption('迷宫益智小游戏')
font = pygame.font.SysFont('Consolas', 15)

开始界面

Interface(screen, cfg, 'game_start')

记录关卡数

num_levels = 0

记录最少用了多少步通关

best_scores = 'None'

关卡循环切换

while True:num_levels += 1clock = pygame.time.Clock()screen = pygame.display.set_mode(cfg.SCREENSIZE)

随机生成关卡地图

maze_now = RandomMaze(cfg.MAZESIZE, cfg.BLOCKSIZE, cfg.BORDERSIZE)

生成hero

hero_now = Hero(cfg.HEROPICPATH, [0, 0], cfg.BLOCKSIZE, cfg.BORDERSIZE)

统计步数

num_steps = 0

关卡内主循环

while True:dt = clock.tick(cfg.FPS)screen.fill((255, 255, 255))is_move = False

↑↓←→控制hero

for event in pygame.event.get():if event.type == pygame.QUIT:pygame.quit()sys.exit(-1)elif event.type == pygame.KEYDOWN:if event.key == pygame.K_UP:is_move = hero_now.move('up', maze_now)elif event.key == pygame.K_DOWN:is_move = hero_now.move('down', maze_now)elif event.key == pygame.K_LEFT:is_move = hero_now.move('left', maze_now)elif event.key == pygame.K_RIGHT:is_move = hero_now.move('right', maze_now)
num_steps += int(is_move)
hero_now.draw(screen)
maze_now.draw(screen)

显示一些信息

showText(screen, font, 'LEVELDONE: %d' % num_levels, (255, 0, 0), (10, 10))
showText(screen, font, 'BESTSCORE: %s' % best_scores, (255, 0, 0), (210, 10))
showText(screen, font, 'USEDSTEPS: %s' % num_steps, (255, 0, 0), (410, 10))
showText(screen, font, 'S: your starting point    D: your destination', (255, 0, 0), (10, 600))

判断游戏是否胜利

if (hero_now.coordinate[0] == cfg.MAZESIZE[1] - 1) and (hero_now.coordinate[1] == cfg.MAZESIZE[0] - 1):break
pygame.display.update()

更新最优成绩

if best_scores == 'None':best_scores = num_steps
else:if best_scores > num_steps:best_scores = num_steps

关卡切换

Interface(screen, cfg, mode='game_switch')

run

if __name__ == '__main__':main(cfg)

效果展示


最后这个游戏需要一些素材文件,大家可以私信我 ~

记得给我点赞哦

【快乐摸鱼】— 用python开发益智游戏相关推荐

  1. 【快乐摸鱼】——开心消消乐 但是python版 (真)

    嗨害大家好鸭!我是小熊猫❤ 咱今天来整一个消消乐游戏! 首先,金币真的很重要!!! 有什么python相关报错解答自己不会的.或者源码资料/模块安装/女装大佬精通技巧 都可以来这里:(https:// ...

  2. 【Python摸鱼】Python自动工作汇报脚本,实现每天轻松上班,快乐摸鱼 ~

    嗨嗨朋友们,下午好 ~ 我是小圆 马上就要放国庆假咯.最近工作有点心不在焉的 工作好累,可是我要搞钱 ~~ 之前经常会有python脚本来进行数据处理.数据传输和模型训练. 随着数据量和数据复杂性的增 ...

  3. JS小技巧,让你编码效率杠杠的,快乐摸鱼

    寻找最大值最小值,求和 reduce版 总和 var array = [1,2,3,4,5] array.reduce((a, b) => a + b) 示例: 最大值 var array = ...

  4. 学python人工智能需要多久_人工智能Python开发怎么学才能最快入门

    原标题:人工智能Python开发怎么学才能最快入门 学习 Python 的捷径是什么? 学习Python编程有没有捷径?有,那就是学习过程中牢记三个字--写.背.练 写的意思是把书中所有代码独自写一遍 ...

  5. python怎么学最快-人工智能Python开发怎么学才能最快入门

    原标题:人工智能Python开发怎么学才能最快入门 学习 Python 的捷径是什么? 学习Python编程有没有捷径?有,那就是学习过程中牢记三个字--写.背.练 写的意思是把书中所有代码独自写一遍 ...

  6. 上班摸鱼系列|Python开发命令行斗地主

    前言 大家周末好-最近更新了太多的数据分析内容不知道各位有没有疲劳,今天给大家带来的是如何上班如何高级摸鱼:用Python开发一个命令行斗地主小游戏,利用跑程序的时间来一把斗地主岂不是非常快乐,关键是 ...

  7. python 斗地主 图形界面_上班摸鱼必备|Python开发命令行斗地主

    原标题:上班摸鱼必备|Python开发命令行斗地主 今天给大家带来的是如何上班如何高级摸鱼: 用Python开发一个命令行斗地主小游戏,利用跑程序的时间来一把斗地主岂不是非常快乐,关键是没有时间限制, ...

  8. 太强了,Python 开发桌面小工具,让代码替我们干重复的工作~

    作者 | Cherish 来源 | 杰哥的IT之旅 决定写这篇文章的初衷是来源于一位小伙伴的问题,关于"如何根据数据源用 Python 自动生成透视表",这个问题背后有个非常好的解 ...

  9. 小鱼鱼的 Python 学习笔记(第一周)

    前言:百无聊赖之下,小鱼鱼开始学习Python , 并且尝试做一定的输出,整理和回顾所学知识.学习资源为慕课上北京理工大学嵩天老师极其团队讲授的课程,博文内容基本为上课所学的再现. ~~ 这是一条正经 ...

最新文章

  1. VS2005控制台程序修改nb0文件
  2. boost::mpi模块对 broadcast() 集合的测试
  3. zzuli 2177 Contest - 河南省多校连萌(四)(简单题)
  4. Notepad++ 的使用(插件)
  5. Introduction to Computer Networking学习笔记(二十一):TCP拥塞控制-基础、公平分配带宽准则
  6. java连接数据库实现一个简单的登陆界面
  7. 【从零开始学习SLAM】ros navigation AMCL move_base配置文件 A-Star Dijkstra 算法原理
  8. MFC中List控件
  9. 计算机组装所需要的主要配件有哪些,组装电脑需要哪些零件_组装电脑需要哪些配件...
  10. C++学习第九课--类的成员函数、对象复制与私有成员笔记
  11. 5分+细胞器基因组好文!多线南蜥线粒体基因组及比较基因组研究
  12. Mac部分按键失灵问题解决
  13. 获取手机MAC地址问题
  14. 本地搭建wooyun图片无法加载问题解决
  15. 关于 NVIDIA 游戏内覆盖变成英文如何让其恢复中文
  16. 随机矩阵 stochastic matrix
  17. python开发office插件_看完这篇Python操作PPT总结,从此使用Python玩转Office全家桶就没有压力了!...
  18. 我用 python 做了款可开淘宝店赚钱的工具!
  19. stm32实现Systick的毫秒级延时和微妙级延时
  20. fedora 16 x64 安装anjuta,在编译时提示libtool、glib、intltool包不存在

热门文章

  1. 二十四进制 加法计数器 并用数码管显示
  2. 微信小程序中使用腾讯地图,导航到目的地
  3. HTML5与CSS3基础教程笔记
  4. ACAD DWG to PDF Converter 9.8.2.4版本更新啦
  5. 0320-复利计算器代码
  6. 挤掉“酸柠檬”,内容创作市场迎来质量革命
  7. EXCEL打印表格时如何添加带有公司名称的水印
  8. 实用Internet Download Manager(IDM)破解技巧,全版本通用!
  9. 购物车-前后端分离版
  10. Cocos Creator入门实战:桌球小游戏