《易学Python》——6.3 玩家输入
2023-09-11 14:17:42 时间
本节书摘来自异步社区《易学Python》一书中的第6章,第6.3节,作者[澳]Anthony Briggs,王威,袁国忠 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。
6.3 玩家输入大多数冒险游戏的玩法都是这样的:玩家输入指令,如往北走、拾剑、杀怪物和检宝,游戏再显示操作结果,以及有关玩家所处房间和房间中物件的描述。这里采取同样的方法,并利用一些对象的属性简化程序的扩展工作。别忘了,您还需让代码易于测试,因此将把处理用户输入的代码放在独立的函数中。
6.3.1 名词的动词化您将首先寻找一种不错的方式,在类结构中编写将名词转换为动词的接口。通常情况下,对象为名词,而操作对象的方法为动词,因此命令GET SWORD应在当前房间找到Sword对象,并调用其Get接口。这样设计意味着不用编写一个什么都会做的大型Player类,而可编写大量更容易理解、修改和扩展的小型类。
程序清单6.3是该程序的核心代码:Player类。它负责读取玩家的输入,并寻找合适的对象来解读命令。您应将这些代码保存在文件player.py中。
程序清单6.3 Player类
编写Player类后,您需要从玩家那里读取输入,并执行相应的命令。程序清单6.4是一个示例框架,它创建一个简单的洞穴,让玩家置身中,然后开始循环:不断地读取输入并执行相应的命令,直到玩家结束游戏。以后您可能将这些代码封装在Game类中,但由于Python非常灵活,您可将其保留为函数,并编写和测试其他类。
程序清单6.4 使用Player类
如果您现在运行这个冒险游戏,应该能够指定命令LOOK和QUIT。这个程序很简单,下一节将介绍如何扩展接口。
Python Tkinter Gui 窗口图标,标签,输入,单复选,文件导入,按钮,日志 等常用组件 基本使用 tkinter是什么? 我们编写的Python代码会调用内置的Tkinter,Tkinter封装了访问Tk的接口; Tk是一个图形库,支持多个操作系统,使用Tcl语言开发; Tk会调用操作系统提供的本地GUI接口,完成最终的GUI;
【Python基础速览1】变量 | 输出和输入 | 数字类型 | 字符串类型(二) 最近得了急性胃肠炎(草),所以咕咕咕了好几天,等过段时间一定好好肝文。这次就发一发前几年学Python时自己记的笔记吧,还是和之前一样,适合用来复习过一遍基础,并不适合从零开始。
【Python基础速览1】变量 | 输出和输入 | 数字类型 | 字符串类型(一) 最近得了急性胃肠炎(草),所以咕咕咕了好几天,等过段时间一定好好肝文。这次就发一发前几年学Python时自己记的笔记吧,还是和之前一样,适合用来复习过一遍基础,并不适合从零开始。
异步社区 异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
相关文章
- Python中使用MongoEngine
- Atitit nlp自然语言处理类库(java python nodejs c#net) 目录 1.1. Python snownlp1 1.2. NLP.js一个nodejs/javascri
- 华为OD机试 - 报文解压缩(Java & JS & Python)
- Python编程语言学习:python的列表的特殊应用之一行命令实现if判断中的两类判断
- Python之多线程:python多线程设计之同时执行多个函数命令详细攻略
- Python语言学习之打印输出那些事:python输出图表和各种吊炸天的字符串或图画、版权声明(如README.md)等之详细攻略
- Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(LabelFrame/Checkbutton/Radiobutton)
- Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(计算器简单功能)
- Python编程语言学习:python中与数字相关的函数(取整等)、案例应用之详细攻略
- 蓝桥杯官网 试题 PREV-230 历届真题 作物杂交【第十一届】【决赛】【研究生组】【C++】【C】【Java】【Python】四种解法
- 已解决2.Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and wi
- 已解决(Python安装报错)Visit python.org to download an earlier version of Python.
- so easy,用 Python 实现图片转字符画
- Python基于低方差特征选择(VarianceThreshold)、遗传算法(TPOTRegressor)实现信用评分卡模型
- Python编程:安装python环境以及virtualenv虚拟环境
- Python编程:twine模块打包python项目上传pypi
- Python爬虫:PyExecJS在python中运行javascript代码
- python 将一个JSON 字典转换为一个Python 对象
- python里使用callable函数
- 多版本Python共存时pip给指定版本的python安装package的方法
- 【异常】前端ERR! stack Error: Can‘t find Python executable “python“, you can set the PYTHON env variable.
- 如何将Python的上级目录的文件导入?【from.import】