Kun acceptere 2 inputs
HejJeg skal have lavet en begrænsning på accept af brugerinput. Pt. kan brugeren indtaste f.eks. "go south", hvor "go" er et kommandoord og "south" en præ-defineret streng.
Men pt. understøtter programmet at man indtaster f.eks. "go south south south south bent yrsa orla" - dvs. at den ignorerer alt ud over de to første ord og dermed udfører handlingen for de to første ord.
Det virker naturligvis helt hen i vejret... Nogen der har en idé til hvordan det kan løses? :-)
// Find up to two words on the line.
Scanner tokenizer = new Scanner(inputLine);
if(tokenizer.hasNext()) {
word1 = tokenizer.next(); // get first word
if(tokenizer.hasNext()) {
word2 = tokenizer.next(); // get second word
// note: we just ignore the rest of the input line.
if(tokenizer.hasNext()) { // if player has entered a 3rd word!
word3 = tokenizer.next();
System.out.println("Only 2 words are accepted!\n");
}
}
}
// Now check whether this word is known. If so, create a command
// with it. If not, create a "null" command (for unknown command).
if(commands.isCommand(word1)) {
return new Command(word1, word2);
}
else {
return new Command(null, word2);
}