我必須用 Java 為 uni 制作一個基于文本的游戲,我想讓用戶使用多個命令變體和多個專案/NPC 名稱。什么是最好的方法來做到這一點?
例如,如果我希望人們向西走,我希望人們能夠說“向西走”或“向西走”或“向西走”等。
我知道我可以通過其中的許多來做到這一點:
if (command.equals("head") || command.equals("walk") || command.equals("travel") || command.equals("go"))
但這不僅冗長而丑陋,而且每一個命令、每一個專案和每一個字符都會變得非常長和低效。有沒有更好的方法來做到這一點,而不是非常先進?謝謝
uj5u.com熱心網友回復:
如果你愿意,你可以忽略除了你想要的真實值之外的用戶輸入,我認為這是方向:
String lowerCaseCommand = command.toLowerCase()
if (lowerCaseCommand.contains("west") || lowerCaseCommand.contains("north") || so on...) {
// do something.
}
或者你想要這樣的東西:
String[] array = {"head", "walk", "travel"}
for (String str : array) {
if (command.equalsIgnoreCase(str)) {
// do something
break;
}
}
uj5u.com熱心網友回復:
您可以(如果需要)使用switch/case塊,例如:
switch (command.toLowerCase()) {
case "head": case "walk": case "travel":
callDoSomethingMethod();
break;
case "rest": case "sleep": case "passout":
callAnotherDoSomethingMethod();
break;
default:
System.err.println("Don't understand the command: '" command "!"
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/374458.html
標籤:爪哇 解析 输入 文本 java.util.scanner
上一篇:多行到PHP關聯陣列
