【问题标题】:batch - dynamic labels or functions批处理 - 动态标签或函数
【发布时间】:2013-10-09 00:27:28
【问题描述】:

我正在进行批量文本冒险(因为它是最简单的语言,几乎不需要任何编码经验),我想知道是否有办法制作动态 gotos 或标签。

例如,我有一个动态健康和能量系统,它显示不同的健康条,具体取决于从C:/ 驱动器上的保存文件中获取的健康变量。

这需要相当多的代码,如果我可以调用一个函数会容易得多。

作为替代方案,我想要一个动态的 goto。我的意思是一个变量,然后是一个 goto 函数。

:foo
set currentlbl="foo-"
echo Hello!
goto foo2

:foo-
echo %test%
pause
exit

:foo2
if "test"=="chizzits" set test2="derp"
if "test"=="chuzzits" set test2="herp"
goto %currentlbl%

不幸的是,这不起作用,因为 goto 命令无法识别变量。有没有办法解决这个问题?

【问题讨论】:

  • 顺便说一句,如果您正在寻找一种简单的编程语言,用于简单的基于文本的游戏 - 使用 PYTHON
  • 没错,使用 Windows 批处理编写一个简单的程序很简单。但实际上要编写一个结构良好的复杂程序,如文本冒险是相当困难的。您将需要大量晦涩难懂的知识和丑陋的技巧来完成大多数语言中非常简单的事情。大批量脚本的调试可能是一个真正的挑战。如果你真的坚持使用批处理,你可能想看看我的原始 Adventure 的端口来批处理 dostips.com/forum/…

标签: batch-file dynamic cmd label goto


【解决方案1】:

是的,他们可以,删除 set 命令中的引号,或在标签中放置引号。

set currentlbl=foo-
:foo-

set currentlbl="foo-"
:"foo-"

【讨论】:

    猜你喜欢
    • 2017-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-19
    • 1970-01-01
    • 1970-01-01
    • 2012-07-19
    • 1970-01-01
    相关资源
    最近更新 更多