我一直在为课堂制作一个基于文本的游戏,并且通过一些试验和错误就能够完成大部分工作。但是我在用户输入解析方面遇到了障碍,我已经不得不简化得比我喜欢的还要多。这个想法是有一个将字符串作为输入的方法,然后调用在另一个类中实例化的对象中的方法。这是代码,是的,我知道这是一团糟。
看来我对这个问题的表述有点糟糕。除了不知道如何做我想做的事之外,我实际上没有遇到任何问题。Gilbert La Blanc 提出的方法非常好,并且解决了我的问题。也许我真的会通过这个决赛!谢谢大家的帮助。
import java.util.Scanner;
public class Parser{
static String[] Prepositions = {"on", "in", "under"};
static String Word;
public static void Parse(String Raw){
Raw.toLowerCase(); //Make input lower case
Scanner Splitter = new Scanner(Raw).useDelimiter(" "); //Split into seperate words
Word = Splitter.next(); //Get first word
Splitter.close();
CheckFirst(Word);
}
public static void CheckFirst(String Word){
switch(Word){
case "north":
case "n":
case "south":
case "s":
case "east":
case "e":
case "west":
case "w":
Player.Location.LeaveRoom(Word);
break;
case "take": TakeWhat(); break;
default: System.out.print("That was absolute gibberish!"); break;
}
}
public static void TakeWhat(){
System.out.println("Take what?");
System.out.print("> ");
String ToTake = Game.Input.next();
ToTake.toLowerCase();
switch(ToTake){
case "key": break;
default: TakeWhat();
}
}
}