《易学Python》——6.5 在洞穴迷宫中漫步

简介:

本节书摘来自异步社区《易学Python》一书中的第6章,第6.5节,作者[澳]Anthony Briggs,王威,袁国忠 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。

6.5 在洞穴迷宫中漫步

如果没有探险,冒险游戏就不成其为冒险游戏。在大多数游戏中,玩家发出类似于GO NORTH(简写为NORTH或N)的命令来移动。玩家移动时,游戏将更新描述,让玩家知道自己刚穿过的区域。您将像添加其他命令那样添加移动命令,但同时添加一些缩写,让玩家输入移动命令更容易。

首先,来看看如何在Cave类中添加方向,然后创建让玩家能够移动的命令。

程序清单6.10 在Cave类中添加方向


screenshot

screenshot

screenshot

提示:

设计类似于Cave这样的类(它们相当于库类)时,尽可能捕获错误并引发异常都是不错的主意。这样,以后使用这些类时如果犯错,错误将显而易见。

至此,Cave类能够存储方向以及到其他洞穴的通道,还能向玩家描述这些方向。下面来添加一些命令,让玩家能够在洞穴之间移动,如程序清单6.11所示。

程序清单6.11 在洞穴之间移动的命令

screenshot
screenshot

至此,就大功告成了。注意到这里是如何在玩家和洞穴间划分职责的吗?这是面向对象设计常见的特征——对象的职责非常明确。在这里,洞穴负责记录自己的出口及其通往哪些洞穴,而玩家可在其命令go()中使用这些信息。如果以后有其他对象需要使用方向信息,您无需从Player类或其他地方提取相应的代码,就能让新功能正常运行。

然而,玩家需要在洞穴网络中移动,为此程序清单6.12扩展了前面的洞穴网络生成函数。

程序清单6.12 创建洞穴网络


screenshot

screenshot
screenshot

如果此时运行players.py,玩家将身处第一个洞穴,并能够看到一些出口以及常规描述和物品。玩家可捡拾宝剑、在洞穴间移动、将宝剑丢在其他地方以及返回原来的洞穴。

祝贺您建造了一个独立王国!请前往这个王国探险,等您回来后再添加其他一些内容。

相关文章
|
3月前
|
Python
"揭秘!Python如何运用神秘的正则表达式,轻松穿梭于网页迷宫,一键抓取隐藏链接?"
【8月更文挑战第21天】Python凭借其强大的编程能力,在数据抓取和网页解析领域表现出高效与灵活。通过结合requests库进行网页请求及正则表达式进行复杂文本模式匹配,可轻松提取网页信息。本示例展示如何使用Python和正则表达式解析网页链接。首先确保已安装requests库,可通过`pip install requests`安装。接着,利用requests获取网页内容,并使用正则表达式提取所有`<a>`标签的`href`属性。
43 0
|
3月前
|
安全 数据安全/隐私保护 C++
RSA密钥的秘密花园:Python带你漫步加密解密的知识殿堂
【8月更文挑战第2天】RSA密钥的秘密花园以非对称加密守护信息安全。对称加密如乡间小屋, 发送方与接收方共享钥匙; 而RSA像宏伟城堡, 拥有公钥和私钥。公钥加密信息, 私钥解密, 解决了密钥安全传递难题。借助Python和pycryptodome库, 我们可体验RSA加密解密过程, 生成密钥对, 加密消息, 并成功解密, 展现其强大能力和在信息安全中的独特作用。
65 2
|
3月前
|
算法 Python
【python】python基于 Q-learning 算法的迷宫游戏(源码+论文)【独一无二】
【python】python基于 Q-learning 算法的迷宫游戏(源码+论文)【独一无二】
|
4月前
|
算法 索引 Python
逆袭算法界!Python分治法、贪心算法、动态规划深度剖析,带你走出算法迷宫!
【7月更文挑战第8天】分治法,如快速排序,将大问题分解并合并解;贪心算法,选择局部最优解,如活动选择;动态规划,利用最优子结构避免重复计算,如斐波那契数列。Python示例展示这些算法如何解决实际问题,助你精通算法,勇闯迷宫。
45 1
|
6月前
|
Python 机器学习/深度学习 Java
Python每日一练(20230419) N皇后II、迷宫问题(递归) 、体操比赛成绩统计
Python每日一练(20230419) N皇后II、迷宫问题(递归) 、体操比赛成绩统计
58 0
Python每日一练(20230419) N皇后II、迷宫问题(递归) 、体操比赛成绩统计
|
6月前
|
Python
如何用python编写一迷宫
如何用python编写一迷宫
52 0
|
6月前
|
人工智能 算法 机器人
【Python数据结构与算法】--- 递归算法的应用 ---[乌龟走迷宫] |人工智能|探索扫地机器人工作原理
【Python数据结构与算法】--- 递归算法的应用 ---[乌龟走迷宫] |人工智能|探索扫地机器人工作原理
68 0
|
6月前
|
定位技术 Python
python实现迷宫小游戏(附源码 简单易懂)
python实现迷宫小游戏(附源码 简单易懂)
203 0
|
Python
蓝桥杯-迷宫(19年)-python
蓝桥杯-迷宫(19年)-python
78 0
|
定位技术 Python
蓝桥杯-迷宫(17年)-python
蓝桥杯-迷宫(17年)-python
85 0