itafroma/zork

从原始MDL源码移植MIT版本的Zork。

dev-master 2016-05-08 20:12 UTC

This package is auto-updated.

Last update: 2024-09-15 06:05:15 UTC


README

此存储库包含将基于文本的冒险游戏 Zork 从其 原始源代码(用MIT设计语言(MDL)编写)移植到PHP的尝试。

Build Status Code Coverage Scrutinizer Code Quality

理由

你可能想知道,“为什么要这样做?” 你也许会问,“为什么攀登最高的山?为什么,35 88年前,飞越亚特兰蒂斯?” 好吧,真正的原因是 Zork 在我心里占有特殊的位置,我想看看是否有可能以原始的形式复制它——功能到功能,错误到错误——在现代语言中。

注意事项

原始的 Zork 是在70年代末用一种早已过时的语言编写的。为了创建一个忠实的改编,原始的算法、过程和程序设计已经被移植,而没有考虑到现代编程原则。在MDL中不存在但不在某些更现代的语言中(例如PHP中的可枚举类型)的概念和结构没有被使用。此存储库不应被视为当前开发实践的典范,而是一个探索游戏开发历史上的一个时刻。

考虑到这一点,我做了几个假设

  • 在MDL中存在但在某些更现代的语言中不存在(例如PHP中的可枚举类型)的概念和数据结构尽可能被复制,同时仍然保持原始代码的精神。
  • 使用了函数(以及必要时使用的类)的命名空间。

路线图

您可以通过我博客上的一系列帖子“移植Zork”来跟踪开发。此项目将遵循语义版本标准:第一个编号的不稳定版本,0.1.0,将包含一个可运行的程序(尽管不是一个完整的游戏)。1.0.0版本将是一个完整的移植。

安装和用法

使用Composer通过Packagist进行安装

composer create-project itafroma/zork:dev-master

在当前的开发阶段,没有可工作的二进制文件,但您可以使用PHPUnit运行测试

cd zork
./vendor/bin/phpunit --configuration phpunit.xml.dist

致谢

原始的 Zork 是由 Tim AndersonMarc BlankBruce DanielsDave Lebling 在1977年至1979年间设计和实现的,他们来自麻省理工学院计算机科学实验室动态建模系统(MIT-DMS)。

我正在使用S. W. Galley和Greg Pfister的参考手册《MDL编程语言》来辅助移植过程。

版权和许可

原始 Zork 源代码版权所有© 1978麻省理工学院。保留所有权利。

在适用的情况下,移植的源代码版权©2015马克·特拉普。版权所有。移植的代码在MIT许可下提供。许可证副本可以在LICENSE文件中找到。

开发免责声明

这是一个处于早期开发策划阶段的项目。它尚未准备好进行协作或保证其适用性。将其发布是为了透明度(因此当我想要谈论它时,我有所指向),但请注意

  • 通过GitHub问题或电子邮件发出的支持请求将不予回答和忽略
  • 拉取请求将被直接拒绝
  • 公开进度可能会在一段时间内非常小或不存在

您可以在其许可证条款(如果有的话)或公平使用原则(如果没有的话)下使用这里的内容。如果您喜欢这个项目的想法/前提,我建议以您自己的方式从头开始,因为我非常不可能接受从这个项目当前开发阶段衍生出来的贡献。