【发布时间】:2017-01-30 22:38:19
【问题描述】:
所以,我想知道是否有一种方法可以让我在 c 中运行一个程序,并在它完成后立即调用并运行第二个程序。
基本上,这是一个文本冒险的东西,我希望它分段运行,部分原因是代码不会因大量 if 语句和所有这些而变得庞大,部分原因是我可以有一个假检查站系统,这样你就可以从你离开的地方继续。
那个,或者以某种方式保存您的进度的方法。我想不出具体如何做到这一点,但我知道这是可能的。我只是还不知道我在做什么。如果上述问题真的很简单,请见谅。
【问题讨论】:
-
他们不是简单的问题;不过,它们是非常广泛的问题。您是否编写了任何冒险代码?您将如何保持细分市场之间的一致性?据推测,当你从一个段过渡到另一个段时,玩家不会丢失他们的分数或找到的货物等。所以你需要知道如何在段之间传递这些数据。数据库?文件?任何一个都可以工作。您一次只与一个用户打交道,还是可能有多个用户?在 POSIX 环境中,您可以使用
exec*()系列函数之一来执行新程序。 -
一次一个用户,我想如果我要处理多个片段,我会使用一个文件而不是一个数组来保存玩家数据,我可能会使用如果我坚持一个巨大的文件。
-
当您的用户重新开始游戏时,您将如何决定从哪个片段开始?
-
我曾想过某种巨型系统,您可以在“检查点”获得密码,例如,在每一个或两个段之后,您会获得一个密码,您可以将其输入到主要起点这将跳转到您离开的片段的开头。我认为这是可行的。
-
不同之处在于
exec*()用一个新程序替换了当前进程——启动了不同的程序(或重新启动了同一个程序)——而system()暂时挂起当前程序而另一个程序运行,仅在第二个完成时恢复。在幕后,system()通常在 POSIX 系统上实现,fork()和exec*()进行了艰苦的工作。
标签: c save state progress continue