一个简单的textrpg,它使用1d6 rpg后端模块进行字符管理和交互。

TextRPG的Python项目详细描述


信息:http://rpg-1d6.sf.net



用法:
-ministry_helper.py
测试ministry(textrpg模块的测试用例)
-textrpg.py
启动textrpg的内部测试故事。

计划:
-在易于阅读的脚本文件中使用简单易用的函数,采用迷你文件的样式。
-char.比赛(其他,技能名称)->;看谁赢多少。
-一个基本实现,作为任何rpg插件的最小api引用。
-添加基本脚本函数"python_解释器(startup_data)",它显示一个交互式python解释器,其中已经输入并解释了启动数据。


想法:
-延迟加载模块,无需在导入前打印,即可立即打印内容。




脚本语言的基本设计原则:

-该操作尽可能以字符为中心,非常有用。
->;char.say(text)而不是dialog(char,text)

-任何只影响一个字符的内容或由其中一个字符发起的几个字符之间的任何交互都将通过char.action()从字符调用。
->;char.compete_skill(char2,skill_name)而不是competition_skill(char1,char2,skill_name)

-任何影响整个场景的内容,或一组不一定要交互的字符,都将通过action()作为基本函数调用,或作为类在自己的righ中调用。t通过class.action()执行。
->;save([char1,char2])而不是char1.save()char2.save()

-如果类本身感觉像一个字符,并且需要在后续运行中可能持久或可能不持久的独立状态,则应选择单独的类方式。
->;例如ai。选择"方式(播放器应答)"或music.action()

-数据应尽可能存储在字符中。如果一个脚本再次以同一个角色开始,则情况应尽可能类似于前一个脚本,除非Story_助手另有指示。
->;char.save()而不是'on quit'存储字符数据(char)+'on start'加载字符数据(char)

-操作应写成动词或动词。
->;char.say()和char.compete\u skill()而不是char.text()和char.skill\u compete()

-在story函数中,操作是故事的参数。
->;故事(switch_background_image="bg_image.png")


textrpg的代码可以在u{http://freehg.org/arnebab/textrpg}




更改:

textrpg 0.4.8(2008-10-24)

-fix:char.say()现在也使用自动滚动。

textrpg 0.4.6(2008-10-23)

-使用sys.stdout.write()而不是print()改进shell输出(感谢akf)。
-德语教程:添加字符创建章节。
-添加滚动文本(逐字符)。

-修复:textrpg示例代码现在使用story()而不是低级diag()函数来输出文本。

textrpg 0.4.4(2008-09-28)

-在基本textrpg函数中添加了docstring(上次大型重构后它们丢失)。

textrpg 0.4.2(2008-07-21)

-添加了一个简单的"story.py"(最初是为德国python论坛编写的)
-yaml现在与textrpg一起分发。
-修复:如果用户在短时间内多次按enter键,文本行将被连接。


textrpg 0.4.1(2008-07-09)

-添加了一个分支层,穿过较暗的树林。

textrpg 0.4(2008-07-09)

-修复:已安装的版本在rpg库中找不到模块。
-增加了德语教程第1章和第2章:"讲述和测试"和"询问用户和分发故事"。
-将基本模块移到rpg_lib目录中。
-在任何rpg中引发异常,如果某个助手很有趣使用的a ction不是在特定模块中实现的
-将所有基本函数转换为类方法的包装器,因此对它们的更改会影响其他所有基本函数。

textrpg 0.3(2008-07-07)

-修复:在战场屏幕上回答"是"不起作用。
-现在经验是递增的(每一步一分)。
-添加char.check_skill(name_of_skill)。


-修复:安装所需的changelog.txt,但不分发。

textrpg 0.1:

-为调用体验"screen"的脚本添加give-exp()函数。
-将EWS包重命名为textrpg_1d6,以避免与可能安装的EWS模块发生冲突->;在处理后端时非常有用。
-Fertigkeiten现在被相关属性增加。必须明确声明与哪个属性相关的属性。
-添加战斗样式:防御和攻击头。
-在战斗状态中显示基础tp。
-如果至少赢得了9场战斗,并且角色在战斗后丢失,则输出的"你做得很好"。
-提示玩家决定每回合的作战策略/风格。
-简单地说char.exp=new_值也可以增加体验。如果新值低于当前值,则不会发生任何事情,但返回值为false。
-exp现在是一个属性,因此它将始终是最新的。
-添加了小型脚本示例。
-添加了更简单的脚本。
-准备了大多数内部字符串的本地化。
-文本输出和文档更新。
-询问玩家在回合中要执行哪些操作和许多较小的更改(即:制表符到空格)。
-添加了不同战斗风格的界面和一个命中树(下面是角色躲避攻击或攻击命中石eld)。
-更好的体验'屏幕'。
-当技能提高时,更好的战斗输出和输出。
-升级现在返回它所做的事情:(obj之前,obj之后)。
-开始编写textrpg。

-修复:除了未打印第一个攻击之外的自身攻击的损坏。
-修复:属性dict problems的空属性->;将属性转换为属性。
-修复:由于版本管理错误,持续的游戏状态不起作用(workdir未在任何地方更改)。
-修复:已更正模具。


-已将ews创建为rpg后端包。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何上传文件。HTML/Javascript格式的mp3文件并发送到Java后端   eclipse问题:使用Selenium WebDriver(java)从下拉列表中查找元素   java如何通过通知恢复应用程序   java Repast聚合数据集,但在Repast Simphony中分别针对每个实例   java为什么收到Http/1.1400错误请求?   java如何简单地检查请求体是否为空或请求体是否有空字段?   java JTable:如何避免重复行和聚合项目数量   java如何部署和访问Dropwizard应用程序   java找不到基本类weblogic。部署者   JavaSpringWebMVC互动程序从相同的定义扩展而来   javascript Xsl transformToDocument不适用于chrome浏览器,但适用于firefox   java创建存储泛型类型对象的ArrayList数组   如何在Java中禁用抛出异常或fillInStackTrace()   使用ConstraintValidator使用两种类型进行java自定义bean验证   java组织。百里香。例外情况。TemplateProcessingException:连接href