初学 python ,大家恐怕都想找到一条终南捷径,会产生譬如 3 天精通 python 这样不太切合实际的想法。这种想法是很危险的,一旦你发现你根本不可能做到,你就会变得灰心丧气,甚至演变成 python 从入门到放弃的局面。实际上,学习编程从来没有一步登天的捷径。但对很多人来说,实践是十分有效的学习方法。这自然不是一条平坦的康庄大道,一路上你必须披荆斩棘,历尽坎坷与辛苦,然而你越努力、回报也就越丰厚。所以就让我们一步一个脚印,实现简单版的 2048 小游戏吧。

第一讲主要介绍编写 2048 游戏的前置知识

理清游戏逻辑

规则

2048 游戏是一款即时休闲游戏。

游戏规则:玩家通过 w s a d 控制数字移动方向,达成 2048 这个数字即获胜。

每次可以选择一个方向移动,数字便会朝这个方向移动,如果遇到相同数字就相加,遇到不同数字或者边界就停止移动。同时会在空白的地方生成 2 或者 4 的随机数字。通过不断相撞、相加,最后达成 2048 这个数字。

游戏结构图

运行环境

win 10 :

Pycharm + python 3.6 + curses + numpy(pip install numpy) + copy

ubuntu 16.04 :

Anaconda + python 3.6 + curses + numpy + copy

windows 安装 curses

curses

下载 curses-2.2+utf8-cp36-cp36m-win_amd64.whl

pip install --upgrade curses-2.2+utf8-cp36-cp36m-win_amd64.whl

curses 用法简介

curses 用于终端 shell 显示图形:

# 屏幕不显示用户输入的字符

curses.noecho()

# 使用 curses 首先需要初始化

stdscr = curses.initscr()

# stdscr.getchar() 返回的是输入的单个字符的 ascii 码值

# 假如输入'p',返回 112

stdscr.getch()

# 清除屏幕

stdscr.clear()

# 打印字符

stdscr.addstr('You win')

功能模块

在这个简易版的 2048 游戏中,可以分为六大功能模块:

初始化模块:初始化棋盘

主进程模块:统筹各个函数模块

随机数模块:在棋盘上随机产生 2 或 4

操作模块:读取用户输入,并执行相应操作

显示模块:显示棋盘

分数模块: 当前得分与最高得分

这一节主要介绍了 2048 小游戏的基本知识,下一节将介绍实现 2048 小游戏的各个模块的逻辑。最后放一张实现效果图

想了解更多请关注微信公众号:Python高效编程

python2048游戏撤销上一部功能怎么实现_python 实现 2048 游戏 (一)相关推荐

  1. rust沙河游戏_Steam上最热销的十款沙盒游戏!好玩的都在这了!

    1 GTA5 常年稳居销售榜TOP1的侠盗猎车手5,这款游戏是以犯罪为主题的动作冒险类游戏,集动作.赛车.枪战.养成.剧情冒险为一体,可玩性非常强,深受各大玩家喜爱. 2 Rust 腐蚀,僵尸生存类游 ...

  2. 2048游戏c语言linux简易代码,C语言实现2048游戏代码

    本文实例为大家分享了C语言实现2048游戏具体代码,供大家参考,具体内容如下 效果图: 使用文本界面的屏幕绘图库 ncurses. 设计思路: 在满足条件情况下消除方块 允许在游戏主界面(16 宫格) ...

  3. Python 《Python 实现 2048 游戏》实验报告

    74340da14d79fae0a21de03d44699f80b6c624f3.jpg 2048 游戏 wiki:<2048>是一款单人在线和移动端游戏,由19岁的意大利人 Gabrie ...

  4. 游戏遇上区块链,从试探到联盟。

    游戏行业市场庞大.前景广阔.据前瞻产业研究院发布的<中国网络游戏行业商业模式创新与投资机会分析报告>统计数据显示,2018年,中国游戏市场实际销售收入达2144.4亿元,同比增长5.3%: ...

  5. 【C++】2048游戏系列---功能模块第一稿【矩阵操作】

    2048游戏-具体功能实现第一稿[矩阵操作] (更新中--) 参考博客:https://blog.csdn.net/qq_39151563/article/details/104283217 由于放在 ...

  6. 《游戏机制——高级游戏设计技术》一1.1 规则定义游戏

    本节书摘来异步社区<游戏机制--高级游戏设计技术>一书中的第1章,第1.1节,作者: [美]Ernest Adams 译者: 石曦 责编: 陈冀康,更多章节内容可以访问云栖社区" ...

  7. python游戏服务器框架_有那些比较成熟的开源游戏服务器引擎/框架(编程语言不限)?...

    更新,没有看到服务器(逃. 下面仅为游戏引擎和框架推荐,需要的小伙伴简单看一下,正确的答案努力撰写中. 从角色扮演游戏到即时策略游戏,从冒险解谜游戏到动作射击游戏,甚至是只有一兆大小的迷你游戏,都有起 ...

  8. 2048游戏java版

    最近上java看,写了个2048游戏 分3个文件,一个是Game类写算法的,一个是Win类写图形界面的,一个是游戏的主类my2048 主要算法思路:每次上下左右,分割成单独一行或者一列处理,就变成了对 ...

  9. 游戏开发者的成长之路:C++经典项目控制台贪吃蛇(在GitHub热门项目上增添功能及修改bug)

    前言 原项目GitHub下载地址:https://github.com/silence1772/GreedySnake 原项目CSDN教程: https://blog.csdn.net/silence ...

最新文章

  1. 关于正则表达式 g,m 参数的总结,为了回答“正则表达式(/[^0-9]/g,'')中的/g是什么意思?”...
  2. 软件使用 excel
  3. Python100入门题 | 第001题
  4. 阿里天气数据接口调用实现(Java和JS)
  5. 虚拟机上装的centos7使用xshell连接不上_使用Xshell连接虚拟机Ubuntu
  6. 时序分析:使用卡尔曼滤波
  7. scikit-learn工具包使用建议(转)
  8. 8s pod 查看 的yaml_k8s之深入解剖Pod(三)
  9. python数据挖掘学习笔记】十三.WordCloud词云配置过程及词频分析
  10. HP11.31安装11.2.0.3实施手册
  11. JDBC学习(四、DAO思想和重构设计上)
  12. k8s 自定义dns_配置k8s dns
  13. iPhone屏幕数据
  14. 比炒币还香的在线作图工具draw.io
  15. java上传图片怎么查看,Java上传图片并查看
  16. Blood Cousins (dsu on tree + 求第k级祖先)
  17. 如何划分用户生命周期?
  18. U-boot开机logo的制作方法
  19. 计算机音乐小二郎,小二郎_儿童歌曲_单曲在线试听_酷我音乐
  20. 03-04年度国家级精品课程一览

热门文章

  1. web 移动端电影项目 (Vue)
  2. js对文字批注_HTML 页面添加批注 - JavaScript - ITeye
  3. spssχ2检验_实用医学统计:配对四格表资料的χ2检验之SPSS操作篇
  4. 科普操作系统与芯片那些事儿
  5. mysql24div13_第七次codeforces竞技结束 #258 Div 2
  6. 多益网络_网络安全的未来日益激烈的信息控制之战
  7. 组合数C(n,m)的四种计算方法
  8. SpringBoot启动报错 Failed to read candidate component class:
  9. linux使用cmake交叉编译arm32程序
  10. python运维脚本简书_通过python+selenium3实现浏览器刷简书文章阅读量