|
1
7
将所有数据序列化到文件。当用户安装游戏时,它将确保最小的占地面积,没有任何真正的缺点。当你有很多数据的时候,数据库是很好的,但是你谈论的是一个文本冒险,你将把整个游戏内容加载到内存中。一个简单的文件可以很好地解决这个问题。 注意,我说的不是xml,而是二进制序列化。任何类型的文本序列化都允许用户窥视您的数据,并欺骗或破坏游戏。您可以同样轻松地交换序列化数据文件,无论它是文本还是二进制。请记住,您的整个“文本”最多可能只有几百KB。 |
|
|
2
13
我可以通过放弃C#并用C语言编写程序来解决你的问题 Inform7 . Inform7是我见过的最棒的编程语言,它是专门为解决您的问题而设计的。 Inform7最棒的一点是,您用一种类似于文本冒险的语言编写文本冒险。例如,下面是一段示例冒险的源代码:
这为游戏添加了一个对象-对象是一扇门,它被称为“铁栅栏门”。据了解,一扇门位于两个房间之间,在这种情况下,吊桥和门厅。如果玩家试图“进入吊桥”,那么游戏逻辑将知道这与“向北”相同,然后门逻辑将确定门是否关闭。等等。它使写文本冒险非常容易。 您想使用C而不是像Inform7这样的领域特定语言,有什么特别的原因吗?如果你的目标是学习如何编写C代码,或者如何构建解析器,那么一定要自己动手。如果你的目标是写一个文本冒险,那么我会用一种专门为此设计的语言。 |
|
|
3
2
现在已经有很多交互式小说引擎了。我会看看他们的数据格式,这样你就可以重用现有的内容和工具来编辑内容。 目前最流行的发动机是Glulx http://eblong.com/zarf/glulx/ http://en.wikipedia.org/wiki/Z-machine 以下是Glulx格式的技术参考: http://eblong.com/zarf/glulx/technical.txt |
|
4
1
SQL Server Compact Edition ? 它可能只是做你想做的。 |
|
|
5
0
我认为C#为您提供了正确的工具。只需将结构封装到类中。我们大学的第一个面向对象项目就是这个问题!它是面向对象编程的完美案例研究。
|
|
|
6
0
作为一个大的文本文件“脚本化”你的冒险听起来怎么样?然后让你的应用程序解析这个文件,在类中构建冒险并从那里运行? 这意味着您可以使用一个简单的文本编辑器来编辑冒险。我可以想象,当多个决定可以从一个单一的来源,它可能会成为棘手的可视化链接。然而,在没有专业前端的数据库中,这也很棘手。 更新: 或者你考虑过XML,例如。。。
|
|
|
7
0
每个选项都可以存储为文件夹,而所有描述、修改器和其他数据都可以存储为文本文件(xml?)。当用户做出决定时,您可以转到相应的文件夹并遵循绘图。 例子: 是否要:
如果用户选择打开门,则转到文件夹门并从该文件夹中的数据文件中读取数据。 赞成的意见:
欺骗:
|
|
|
8
0
就我个人而言,在这种情况下,我会避免使用数据库,而使用基于文本的文件格式(可能有两个不同的文件,一个用于初始状态(如地形等),它永远不会被修改,另一个用于在游戏过程中要修改的状态(破窗等);或者将整个东西拆分为每个区域的一对静态/动态数据。 有几个原因:
|
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |