Ian*_*dle 2 c# string adventure switch-statement text-based
好的,我现在有一个目标是进行基本的文本冒险.但是,要做到这一点,我需要/想要一个可以执行以下操作的switch语句:
我怎么做到这一点?你能告诉我这个具体例子的编码吗:
提示用户输入数据.switch语句将"look box"视为一种情况,并将"sleep"视为另一种情况.程序不关心任何单词的顺序,但是关心字母的顺序.
请详细解释一切.我刚刚开始编码.
编辑:谢谢你的所有答案.我知道有更好,更复杂,更有用的处理方法,但它还不是我的水平.
Eri*_*ert 12
人们有时会问我为什么不建造船只.我很方便,我喜欢建造东西,然后我开航.我总是告诉他们,那些喜欢航行的人不应该建造船只,因为你最终会在你的船库里建造一艘船前花三年时间才能开航.如果你的目标是航行,买船.如果你的目标是建造一艘船,建造一艘船.
如果您的目标是通过撰写文本冒险来学习C#,那么您将学到很多东西.如果你的目标是编写文本冒险,那么不要使用C#,使用Inform7.它易于学习,专门用于编写文本冒险,可能是世界上最高级的语言.这是一种很棒的编程语言,我强烈推荐它.
回答你的具体问题:这不是一个很好的方法.文本冒险处理器实际工作的方式是首先编写一个程序,将用户键入的句子分解为标记.您必须逐个字符地搜索字符串,以查找单词之间的边界,例如空格,逗号,句点等.一旦找到边界,就可以提取边界之间的子串,并尝试通过将每个单词与字典中的单词进行比较来识别每个单词.
一旦你有一系列令牌,你就会尝试将序列与语法相匹配.也就是说,您可以看到令牌序列是否可以归类为单字命令,如{"look"}或动词 - 名词短语,如{"look","at","the","red","按钮"}.你想打破它 - "看"是动词,"at"是介词,"红色按钮"是动词的对象,"the"是文章,"red"是形容词和"按钮"是名词.
听起来你是初学者,所以首先要集中精力进行词法分析; 一次遍历字符串一个字符,识别单词边界,并构建一个List<string>标记.语法分析技术可能非常复杂; 得到简单的东西,先坚实.