Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >学完 Python ,我需要编个游戏露两手

学完 Python ,我需要编个游戏露两手

作者头像
CSDN技术头条
发布于 2018-07-30 03:43:55
发布于 2018-07-30 03:43:55
2.1K10
代码可运行
举报
文章被收录于专栏:CSDN技术头条CSDN技术头条
运行总次数:0
代码可运行

“人生苦短,我用 Python”。

这句戏言真实反映了 Python 语言的江湖地位。

那么,要快速上手和进阶 Python 编程,有什么好途径呢?

我推荐游戏开发

游戏开发激发学习热情

作为一名拥有十余年程序设计教学经验的老师,我清楚地记得,当告诉学生们课程任务有俄罗斯方块游戏开发的时候,部分同学在课堂上热切地喊出“好耶”,部分同学鼓起掌来,大家一副跃跃欲试的神情。

那是我在 2014 级软件工程专业教学改革试点班中做的尝试。开设的课程叫作“大学计算机基础B”,一共16周,64学时。

前面第11周讲授计算机基础和 Python 编程,后面5周学生学习C/C++(因后续课程需要)。

后5周的大作业就是基于 Win32 API 开发俄罗斯方块游戏程序。我多少有些担心学生是否做得下来,然而到验收的那一天,我有些吃惊。大部分同学的作品都明显超出了作业要求的标准。

尽管有很多因素(比如强有力的教辅)促成了这样的好结果,但我认识到一个重要的原因是“激发了学生们的学习热情”。

是的,游戏开发有这个效果。有学生告诉我,他把自己的作品发布到高中同学群,让同学们玩玩,结果赢得赞誉一片。

我察觉到了学生嘴角露出了小小的得意。有学生开夜车编程序,搞到凌晨两三点都不想去睡觉。所以呢,我百分百肯定,游戏开发是学习 Python 编程的好途径。

游戏开发门槛低

用 Python 开发游戏的门槛是很低的。例如,实现显示游戏窗口的代码只需要15行。表1给出的代码实现了显示游戏窗口功能,程序运行效果见图1。表1中一共有28行代码,除去空行和注释行后是15行。

我以前用 VC++ 开发图形界面程序的时候,实现显示游戏窗口的代码有一大堆,跨好几个文件,让人望而生畏。用 Python 的话,基于 Pygame 模块,15行代码就搞定了。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import sysimport pygamedef main():    #初始化pygame。启用Pygame必不可少的一步,在程序开始阶段执行。    pygame.init()    #创建屏幕对象    screen = pygame.display.set_mode((1200, 900) )  #分辨率是1200*900    pygame.display.set_caption("俄罗斯方块")  #窗口标题    #屏幕背景色    bg_color = (230, 230, 230)    #游戏主循环    while True:        #监视键盘和鼠标事件        for event in pygame.event.get():            if event.type == pygame.QUIT:                sys.exit()        #设定屏幕背景色        screen.fill(bg_color)        #让最近绘制的屏幕可见        pygame.display.flip()if __name__ == '__main__':    main()

无论是 Python 入门,还是Python进阶,学习者都有适合的游戏开发项目可供选择。正是这样,Python 语言成为教孩子学编程的优先选择。

教小孩学编程,可不能一本正经的,必须用好招吸引他们,激发他们。游戏开发就是常用的招术。

以《教孩子学编程(Python语言版)》一书为例,该书一开头就教孩子绘制彩色螺旋线,接着教孩子编写小游戏,然后教孩子编写具有动画、鼠标控制的游戏。

我建议初学者可以自降身份去学一学这本书。如果你想编写有更多挑战的游戏,那么建议你学习《Python 游戏编程快速上手》一书。

Python游戏编程快速上手 第4版

作者:[美]Al Sweigart(斯维加特)

当当 广告

购买

还想要更高一点的挑战?

建议你尝试“用 Python 开发俄罗斯方块”。

该教程面向的是已有 Python 编程基础的、想进一步提高 Python 编程能力的开发者。教程设计采用“小步走”策略,一共有22篇文章。

每一篇都是一个完整的实验步骤,实现一个功能。在每一篇文章中,首先指出实验步骤的目标,也就是指出完成整个步骤后,程序运行效果是什么样的。接着,描述实验步骤的实现思路和任务。

然后,逐个任务地讲解具体的做法,也即指出哪里要修改/补充什么代码,改写后的代码是什么样的,为什么要这样做。

最后,给出该实验步骤完成后的源代码版本的 Github 链接,供浏览或下载。到最后,我们将实现能供家人、朋友或同学实际玩一玩的俄罗斯方块游戏。图2是运行界面的截屏。我上传的视频

([http://www.iqiyi.com/w_19rze50865.html](http://www.iqiyi.com/w_19rze50865.html))呈现了该程序的运行效果。

有没有开源的游戏程序呢?

有的,知乎上的一篇文章推荐了不少开源项目(https://www.zhihu.com/question/25960850)。

其中推荐的 BombSquad 是一个 3D 炸弹人游戏,界面(见图3)还是挺酷炫的。

从游戏开发中能学到什么

  • 开发者有机会接触到千行代码量级的程序。初级开发者编写的程序一般只有几十行代码。要指出的是,编写几十行代码的程序和编写千行代码的程序,完全不是一个量级的事。 至少,千行代码这一现实将促使开发者养成使用函数的习惯。我上编程基础课的时候,由于编写的程序只有几十行代码,学生不愿意用函数,你再苦口婆心地讲道理也没用。
  • 游戏开发要求开发者采用良好的结构来组织代码。程序的代码量上去了,会促使开发者使用多个模块文件,甚至使用类与对象来编程。
  • 从游戏开发中,开发者将学习图形界面开发(GUI),理解事件驱动编程模型。这将会帮助开发者消除对软件的神秘感,有助于开发者开展更多的探索。
  • 游戏开发会提高开发者的学习能力。例如,游戏开发会用到python标准库以及各种第三方库。这将促使开发者借助网络和手册,查询各个函数的用法,学习相关的概念和知识。一点一点地,开发者拥有更多知识,更强的学习能力。

游戏开发实践注意事项

  • 切勿囫囵吞枣。不要这样做:照着书本或者教程敲(甚至复制)一遍代码,跑一遍程序就算完事了。 你必须自己搞懂。无论是整体思路,还是一行代码内的细节,你都要吃透。怎样算吃透了程序?不借助书本或教程(借助手册查阅函数的用法是可以的),能正确地再写一遍程序。
  • 采用“小步走”策略。下一步只实现一个小功能。实现完成后,检查运行效果。通过后再去完成下一个功能。
  • 多用函数,多用函数,多用函数。把程序代码分解到多个模块文件。使用类和对象来组织代码。
  • 寻求帮助。我遇到问题的时候,首先做的是厘清问题是什么。接着,我会在网络引擎的搜索框内输入描述问题的关键词,期望得到解决办法的线索。这帮了我的大忙。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-06-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 GitChat精品课 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
1 条评论
热度
最新
好的~回去编游戏了!
好的~回去编游戏了!
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
学习Python最好的途径——激发自己的学习兴趣!
“人生苦短,我用Python”。这句戏言真实反映了Python语言的江湖地位。那么,要快速上手和进阶Python编程,有什么好途径呢?我推荐游戏开发。
一墨编程学习
2019/04/29
7370
学习Python最好的途径——激发自己的学习兴趣!
基于Python+Pygame实现一个俄罗斯方块小游戏【完整代码】
俄罗斯方块,一款起源于上世纪80年代的经典电子游戏,凭借简单的规则和独特的魅力,一跃成为全球家喻户晓的经典。你知道其实只需要一些基础的编程知识,就可以自己实现它吗?今天,我们将使用Python的Pygame库,一步步带你构建属于自己的俄罗斯方块小游戏!
子午Python
2023/09/22
3.3K0
【说站】微信游戏小程序源码-合成大西瓜小游戏(合成版)源码 附带流量主功能
感觉还是有那么点意思的,集 2048+俄罗斯方块+消消乐为一体,该小程序源码附带流量主功能,
很酷的站长
2022/11/24
1.2K0
【说站】微信游戏小程序源码-合成大西瓜小游戏(合成版)源码 附带流量主功能
Python:游戏:300行代码实现俄罗斯方块
俄罗斯方块是儿时最经典的游戏之一,刚开始接触 pygame 的时候就想写一个俄罗斯方块。但是想到旋转,停靠,消除等操作,感觉好像很难啊,等真正写完了发现,一共也就 300 行代码,并没有什么难的。
丹枫无迹
2019/01/22
6K0
python写俄罗斯方块
python写俄罗斯方块 ✨博主介绍 ✨博主介绍 💂 个人主页:苏州程序大白 💂 个人社区:CSDN全国各地程序猿 🤟作者介绍:中国DBA联盟(ACDU)成员,CSDN全国各地程序猿(媛)聚集地管理员。目前从事工业自动化软件开发工作。擅长C#、Java、机器视觉、底层算法等语言。2019年成立柒月软件工作室,2021年注册苏州凯捷智能科技有限公司 💅 有任何问题欢迎私信,看到会及时回复 # coding : utf-8 #: pip install pygame imp
苏州程序大白
2022/06/12
3960
#夏日编程团#天这么热,没法出去浪,不如趁着宅在空调房里的这两个月,跟我们组团点亮你的编程技能点
最近这天热得不像样子,一非洲游客在天安门广场中暑晕倒……还是选择老老实实窝在房间里吹空调吧。 不过也有些人,学习的热情比气温还高,不写代码就不舒服!(因为会被助教夺命连环催) 是的,我们又一批码上行动
Crossin先生
2018/04/17
9130
#夏日编程团#天这么热,没法出去浪,不如趁着宅在空调房里的这两个月,跟我们组团点亮你的编程技能点
自学Python的最佳实践!
今天我们来分享零基础入门 Python,应该如何自学,自学的路径是怎么样的,内容是从入门到进阶,既有教程,也有经典书籍推荐,还有众多类库介绍,不要错过哦
周萝卜
2022/12/27
1.1K0
自学Python的最佳实践!
给游戏开发初学者的10条建议
对于刚刚进入游戏开发领域的初学者,有时候可能会觉得不知道怎样才能掌握游戏开发的知识和技术。其实,绝大多数的游戏开发,更多的是关于对开发过程的基本了解,而很少是如何写复杂的代码。开发者也需要懂得一些游戏开发的窍门。
LiveEdu
2018/05/21
9360
给游戏开发初学者的10条建议
C站最全Python库总结丨标准库+高级库
上一篇,《C站最全Python标准库总结》,登顶了【全站综合热榜】和【python领域热榜】,获得了2362多次点赞、998次评论、2072次收藏,谢谢各位小伙伴。
不吃西红柿
2022/09/19
6340
C站最全Python库总结丨标准库+高级库
【参赛经验分享】游戏开发者在"鹅罗斯方块"比赛中的体验(82W)
在游戏开发者的角度来看这道题目的时候,我先想到的是上手打一打看看跟平常的俄罗斯方块有什么不同。结果发现不仅方块出现的顺序是一样的,而且感觉并不是通过随机得到的这一组序列。然后在F12里面看到了具体的规则和一些API,然后就想到可以把核心代码和game代码直接拷贝出来在本机运行,因为最后的答案只需要提交一个操作序列就可以。
京和
2021/08/23
9761
趣味俄罗斯游戏开发心得
前言 在完成做趣味俄罗斯方块过程中 我是打算自己设计游戏区和操作提示区的,用c++开发的easyX来实现的 但是我发现一个又快又好看的方法,(画图工具终于被我用上了🤦‍♂️) 更新时间: 2022、5、11 、16:11 演示视频传送门: 传送门 源码见: gitee: 传送门 0积分 可直接下载:传送门 完整源码以及讲解见: 文章: 传送门 绘图部分源码展示: #define _CRT_SECURE_NO_WARNINGS #include"UI.h" //设置图片类 IMAGE BeginIm
计算机魔术师
2022/08/19
2910
趣味俄罗斯游戏开发心得
有效的学习C语言,易懂,趣味,实用的成长之路
学好C语言的秘诀就是1234:“一字真言,两种态度,三个框架,四项注意”。 各位看官,学好C语言,其实只需一个字,那就是“编”。 学习C语言,乃至学习所有的语言,都讲究一个动手--不是动手打人,而是动手编程序。你必须通过编写程序来熟悉知识、理解知识。倘若只学不编,只看别人的程序,自己不动手写,是不能从入门到精通的。要知道,在计算机界,只说不练的人很欠揍。试想一下,你在哪里辛辛苦苦的编程序,他却站在一边,如老板一样喋喋不休,对你提出这项意见,那项思路,甚至畅谈自己编程将会如何如何,好像很牛皮的样子,但就是不编
企鹅号小编
2018/01/30
9310
有效的学习C语言,易懂,趣味,实用的成长之路
我们整理了20个Python项目,送给正在求职的你
职场中一贯有“金三银四”、“金九银十”的说法。如果你是一名正在求职或准备跳槽的程序员,不妨趁着这两个月时间好好准备一下。
用户7886150
2021/01/17
2.7K0
玩游戏也能学编程?有点创意
回忆起当年大一学编程的时候,当时是分了理论课和上机课,理论课就是在教室里看老师在黑板上写代码,上机课就是在电脑室上自己写代码。
小林coding
2022/04/07
6970
玩游戏也能学编程?有点创意
使用Python写一个俄罗斯方块小游戏
软件架构师Michael
2025/02/08
1750
用SQL写游戏,可能吗?看看大佬是如何使用 SQL 写一个俄罗斯方块亮瞎你的钛合金狗眼的!
大家好,今天我要带你们一起来开开眼界。你知道SQL吗?就是那个我们平时用来和数据库打交道的语言——查询数据、插入数据、删除数据,嗯,数据库管理员的必备技能。但你能想象到有人用SQL做了什么吗?他用SQL做了一款俄罗斯方块!对,就是那个曾经风靡全球的经典游戏。
老码小张
2024/09/07
4260
用SQL写游戏,可能吗?看看大佬是如何使用 SQL 写一个俄罗斯方块亮瞎你的钛合金狗眼的!
小白学编程(一):从玩游戏开始
小幻小师妹的文笔极好,只是思维非常活跃,文章如果不限定主题,经常会带出无限的遐想,可能正与她的笔名小幻有关吧。不过昨天看到她的纯正的技术文章后,视频录制加配音,因为我以前录过一小段视频,深知其工作量之大,所以是绝对吐血之作,正好与我的程序人生主题有关,就转了过来。 实际上如果有一篇零基础学Javascript编程的文章我会更喜欢一些,但这篇文章介绍了Swift编程语言的入门也非常不错。我当年学编程语言时也是从游戏入手,用BASIC写了一款俄罗斯方块,明白了好多编程知识,虽然现在回想起来当时的设计思路太垃圾了
申龙斌
2018/03/06
1K0
小白学编程(一):从玩游戏开始
用 Python 语言来写游戏
每个程序员差不多都是从计算机爱好者开始的,尤其是那些令人心醉神迷的电脑游戏,不仅造就了整个游戏产业,推动了计算机行业软硬件的升级,而且吸引了大量的爱好者最终加入了游戏软件开发的行业。腾讯、网易、盛大、完美时空等公司的巨大现金流都来源于游戏产业。
宇相
2018/09/07
1.9K0
通过游戏来学习编程
随着互联网和物联网的发展,随着人工智能和大数据的发展,随着IT技术的发展,你会发现越来越多的工作岗位需要一些编程技术,即使是一些财务或者文职人员会一些编程知识也是对工作和生活大有帮助的。
程序那些事儿
2023/03/07
1.4K0
通过游戏来学习编程
俄罗斯方块游戏编程
(1)利用51单片机,设计一款俄罗斯方块游戏,完成硬件电路的开发和程序的编写调试;
芯动大师
2024/07/27
1870
俄罗斯方块游戏编程
推荐阅读
相关推荐
学习Python最好的途径——激发自己的学习兴趣!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验