作者,持牌照消费金融模型经理,发明国家算法专利,国内大型医药数据中心担任过数据库负责人。和中科院,清华大学,百度,腾讯,爱奇艺等平台保持长期项目合作。擅长python 机器学习,应用于游戏,医疗,金融领域。

曾经我也沉迷游戏,连续玩十几个小时竞技游戏可以不吃饭。游戏只是别人写好程序,与其沉迷于他人设计好程序,为何不自己设计游戏。于是便有了录制这部pygame菜鸟游戏编程教程动力。不要沉迷于游戏,我们人生还有许多事情要做,旅游,找到另一个伴侣,成立一个家庭,照顾父母。。。。

编程正在逐步改变世界,程序员不是搬砖的。但传统计算教育程面临枯燥乏味课程,让学生感到乏味。

兴趣是学习最好老师!此课程目的是激发大家对编程兴趣,给广大Python入门初学者带来无穷乐趣。

游戏涉及童年玩过经典小游戏,包括贪吃蛇,消消乐,俄罗斯方块,植物大战僵尸,扫雷等等。视频的参考资料可下载脚本。脚本已经编译好,可直接运行!

感谢妻子对家庭支持,让我周末和节假日有时间录制教学视频,我会继续加油!

Have Fun!

下图展示视频中几个经典童年游戏,植物大战僵尸

《植物大战僵尸》是由PopCap

Games开发的一款益智策略类单机游戏,于2009年5月5日发售。玩家通过武装多种植物切换不同的功能,快速有效地把僵尸阻挡在入侵的道路上。不同的敌人,不同的玩法构成五种不同的游戏模式,加之黑夜、浓雾以及泳池之类的障碍增加了游戏挑战性。

《植物大战僵尸》是一款极富策略性的小游戏。可怕的僵尸即将入侵,每种僵尸都有不同的特点,例如铁桶僵尸拥有极强的抗击打能力,矿工僵尸可以挖地道绕过种植在土壤表面的植物等。玩家防御僵尸的方式就是栽种植物。49种植物每种都有不同的功能,例如樱桃炸弹可以和周围一定范围内的所有僵尸同归于尽,而食人花可以吃掉最靠近自己的一只僵尸。玩家可以针对不同僵尸的弱点来合理地种植植物,这也是胜利的诀窍。游戏根据玩法不同分为五种游戏模式:冒险、生存、花瓶破碎者、小游戏、花园。加之黑夜、屋顶、浓雾以及泳池之类的障碍增加了其挑战性该游戏近乎永无止境。

下图是我用pygame编写的简易版植物大战僵尸游戏一个蓝色植物正在吐出圆球攻击僵尸,僵尸数量和移动速度可以自己控制。如果集中一个僵尸,score分数会增加一分,zombies

gotten past记录有多少僵尸已经越过植物。当然我还可以设计一些作弊的按键,非常有趣!

这款python代码当然不是复现原款游戏所有功能,而是简单模拟一下其中乐趣。首先我们准备好以下素材。包括三张僵尸图片:

BucketheadZombie.gif,ConeheadZombie.gif,zombie.png。

一张植物图片plant.gif,一张背景图片background.png,一张子弹图片bullet.png

一首背景音乐background.mp3,一首游戏结束音乐gameover.mp3。由于游戏是之前基于python2.7版本写的,因此建议素材名称使用英文,python2版本对中文支持不太友好。

由于这款游戏代码量太大,这里就不一一展开说明,我建议你们直接去下载源代码和图片,然后根据自己爱好,更改一下背景音乐,图片,和僵尸数量,移动速度等参数设置。我对游戏一些重要语法做一些说明。

贪吃蛇游戏

贪吃蛇游戏是一款休闲益智类游戏。既简单又耐玩。该游戏通过控制蛇头方向吃蛋,从而使得蛇变得越来越长。用游戏把子上下左右控制蛇的方向,寻找吃的东西,每吃一口就能得到一定的积分,而且蛇的身子会越吃越长,身子越长玩的难度就越大,不能碰墙,不能咬到自己的身体,更不能咬自己的尾巴,等到了一定的分数,就能过关,然后继续玩下一关。 贪吃蛇的唯一的目标就是长成最长的一条蛇!滑动摇杆控制小蛇走位,吃掉地图上彩色的小圆点,就会变长。小心!蛇头碰到其他蛇就会死亡,并且产生大量小圆点。

(snake贪吃蛇Python脚本展示)

附件收藏十余种童年经典游戏Python脚本,,已调试好,可以下载和直接运行,包括

扫雷(基于神经网络算法),奥赛罗棋reverse,俄罗斯方块Tetris,开心消消乐,推箱子box_pusher

(人工智能神经网络算法的扫雷游戏python脚本展示)

奥赛罗棋,人工智能AI范畴,英国每年有比赛

黑白棋,又叫反棋(Reversi)、奥赛罗棋(Othello)、苹果棋或翻转棋。黑白棋在西方和日本很流行。游戏通过相互翻转对方的棋子,最后以棋盘上谁的棋子多来判断胜负。它的游戏规则简单,因此上手很容易,但是它的变化又非常复杂。有一种说法是:只需要几分钟学会它,却需要一生的时间去精通它。黑白棋的棋盘是一个有8*8方格的棋盘。把自己颜色的棋子放在棋盘的空格上,而当自己放下的棋子在横、竖、斜八个方向内有一个自己的棋子,则被夹在中间的全部翻转会成为自己的棋子。并且,只有在可以翻转棋子的地方才可以下子。黑白棋是19世纪末英国人发明的。直到上个世纪70年代一个日本人将其发展,借用莎士比亚名剧奥赛罗(othello)为这个游戏重新命名,也就是现在大家玩的黑白棋。为何借用莎士比亚名剧呢?是因为奥赛罗是莎士比亚一个名剧的男主角。他是一个黑人,妻子是白人,因受小人挑拨,怀疑妻子不忠一直情海翻波,最终亲手把妻子杀死。后来真相大白,奥赛罗懊悔不已,自杀而死。黑白棋就是借用这个黑人白人斗争的故事而命名。

游戏期间,位置比点数更重要!要着眼于长远利益,因为点数的领先很可能是暂时的。四个角上是必须争取占据的好位置,因为无法移开这些位置上的棋子。 设法使自己走一步时,牵制着对手无法移动任何棋子!这样可以在一排中连续走两步。

当然我们没有必要用一生的时间去精通它。用python程序可以去模拟游戏,找到最优下棋算法。

(奥赛罗棋Python脚本展示)

开心消消乐,手机玩的很high的爆款游戏

《开心消消乐》是一款乐元素研发的一款三消类休闲游戏。一天晚上,天空中掉下一颗神奇的豌豆种子,正好落在了梦之森林的村长屋附近,种子落地后吸收了池塘的水分,迅速成长,一夜之间变成参天大藤蔓……

第二天早上,村民们醒来后看到巨大的藤蔓都惊呆了,聚在一起议论纷纷。有人说他似乎看到村长的房子在高耸入云的藤蔓上,房子似乎还在上升,有人号召说应该爬上去救村长,玩家需要爬到藤曼顶部救出村长。

(开心消消乐Python脚本展示)

色彩拼图游戏,AI范畴,基于算法,在规定时间内完成色彩统一,这需要一定思考能力哟。

(色彩拼图游戏Python脚本展示)

box_pusher推箱子是一款经典的推箱子小游戏,你需要做的就是将箱子推到指定的地方就过关了。一起来试试你的记忆力和技巧吧!

(box_pusher推箱子Python脚本展示)

俄罗斯方块

俄罗斯方块自然是俄罗斯人发明的。这人叫阿列克谢·帕基特诺夫(Алексей Пажитнов 英文:Alexey

Pazhitnov)。俄罗斯方块原名是俄语Тетрис(英语是Tetris),这个名字来源于希腊语tetra,意思是“四”,而游戏的作者最喜欢网球(tennis)。于是,他把两个词tetra和tennis合而为一,命名为Tetris,这也就是俄罗斯方块名字的由来。游戏界面由小方块组成的不同形状的板块陆续从屏幕上方落下来,玩家通过调整板块的位置和方向,使它们在屏幕底部拼出完整的一条或几条。这些完整的横条会随即消失,给新落下来的板块腾出空间,与此同时,玩家得到分数奖励。没有被消除掉的方块不断堆积起来,一旦堆到屏幕顶端,玩家便告输,游戏结束。

(俄罗斯方块Python脚本展示)

赛车比赛就是单纯躲避前方障碍物。

(赛车比赛Python脚本展示)

python的sysfont_pygame.font.SysFont游戏文字交互相关推荐

  1. Python实现贪吃蛇小游戏(双人模式)

    这篇文章主要为大家详细介绍了Python实现双人模式的贪吃蛇小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 简单用py写了一个贪吃蛇游戏,有单人.双人模式,比较简 ...

  2. Python制作植物大战僵尸小游戏

    1. 引入需要的模块,配置图片的路径,设置界面宽高背景颜色.创建游戏主入口 #1引入需要的模块 import pygame import random #1配置图片地址 IMAGE_PATH = 'i ...

  3. 编写五子棋的完整python代码_python实现五子棋游戏(pygame版)

    本文实例为大家分享了python五子棋游戏的具体代码,供大家参考,具体内容如下 目录 简介 实现过程 结语 简介 使用python实现pygame版的五子棋游戏: 环境:Windows系统+pytho ...

  4. 贪吃蛇python小白_面向 python 小白的贪吃蛇游戏

    代码和教程详见微信公众号:Python高效编程 效果图 图片 代码和教程详见微信公众号:Python高效编程 文字部分: 引言 作为python 小白,总是觉得自己要做好百分之二百的准备,才能开始写程 ...

  5. python 滚动字幕_Python pygame绘制文字制作滚动文字过程解析

    这篇文章主要介绍了Python pygame绘制文字制作滚动文字过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 字体常用的不是很多,在pyg ...

  6. 运用Python+Pygame开发坦克大战游戏_版本V1.01

    这里写目录标题 一.项目整体说明 二.pygame下载方式 三.项目文件 1.坦克大战_框架_1.py 2.坦克大战_开始游戏_窗口设置_2.py 3.坦克大战_事件检测_3.py 4.坦克大战_基本 ...

  7. 初入Python(一) Pygame贪吃蛇游戏的编写与改进

    贪吃蛇游戏是一款简单耐玩的休闲益智类游戏,利用pygame可以实现轻松编写,不需要辅佐图片等等元素,可以直接利用涂色方块表示,吃果子变长的原理也很容易实现,将body分为一块一块,每块有自己的位置属性 ...

  8. python项目之弹球小游戏 3

    好的,我们继续来制作我们的弹球游戏!昨天我们已经完成了最基本的窗口和最基本的小球,那今天我们就来加入负责与玩家交互的球拍! 首先,我们先来构思一下球拍的基本功能及作用.球拍,顾名思义,就是负责反弹小球 ...

  9. 假期用Python写8个小游戏(附源码)

    假期玩嗨了吧,我给你准备了六个小游戏,有胆子来玩一玩吗?我自己是玩了很多遍的,所以想让大家一起玩,独乐乐不如众乐乐.代码放在下面了,动手操作吧. 1.小恐龙 玩法:上下控制起跳躲避 源码分享: Pyt ...

  10. 【python】飞机大战小游戏练习

    飞机大战小游戏练习 一.前提准备 二.制作步骤 1.库的导入与初始化 2.窗口操作 3.键盘按键监听相关操作 4.添加游戏背景 5.加载玩家飞机 6.获取玩家飞机矩阵 三.完整代码编写 游戏背景类编写 ...

最新文章

  1. github建站之路
  2. Gradle task
  3. linux怎么不自动登录,linuxdeepin 如何取消自动登录啊?
  4. Android逆向笔记-使用Android Studio调试Smali代码(方式一)
  5. 删除Win7通知区域的无效图标
  6. oracle clob 粘贴,使用Oracle SQL Developer将CLOB导出到文本文件
  7. python学习之re库
  8. android studio actionbar,Android Studio环境下ActionBar的使用教程以及如何解决遇到的问题...
  9. C# list常用的几个操作 改变list中某个元素的值 替换某一段数据 删除集合中指定对象
  10. ERROR 1010 (HY000): Error dropping database (can't rmdir './bolgdb/', errno: 17)
  11. 删除了电脑硬盘的数据能恢复吗,硬盘数据删除了还能恢复吗
  12. Funcode-贪吃蛇
  13. HTML制作简单个人简介页面
  14. 计算机显卡驱动全部卸载,如何卸载显卡驱动重新安装?Win10卸载显卡驱动+重装显卡驱动的方法...
  15. 使用BootStrap制作网页页面
  16. bzoj 4742 [Usaco2016 Dec]Team Building
  17. linux bam文件格式介绍,Sam和bam文件说明
  18. android磁场传感器页面布局在哪,教程:Android传感器—传感器查询demo
  19. 比上清华更难的,是加入这支中国顶级黑客战队
  20. 爱贝云计费服务端接入注意事项

热门文章

  1. latex中report目录_latex系列--2 标题、章节、目录、标签、引用
  2. 【论文解读】Stacked Hourglass Networks
  3. Ant-Table查看详情
  4. (八)高德地图之添加marker标记点
  5. 常用单片机模块(四)
  6. cp:略过目录:”文件名“
  7. 程序员该如何提高睡眠质量?—程序媛233酱的助攻~
  8. Circular Coloring
  9. 拔丝芋头的Java学习日记--Day1
  10. Nginx Passenger 性能调优