EscapeRoom/GuessTheNumberRoom.java

74 lines
3.2 KiB
Java

import java.util.Random;
public class GuessTheNumberRoom extends Room {
private Item[] keys;
public GuessTheNumberRoom() {
super(1);
keys = new Item[4];
Random r = new Random();
int n = r.nextInt(40)+12;
locks[0] = new NumberLock(n);
keys[0] = new FixedNumberKey(n);
keys[1] = new FixedNumberKey(r.nextInt(40)+12);
keys[2] = new RandomNumberKey(12, 40);
keys[3] = new RandomNumberKey(12, 40);
}
public void play( EscapeRoom game ) {
game.println("Du betrittst einen dunklen, unheimlichen Raum!");
game.println("Die Holzdielen knirschen unter deinen Füßen.");
game.wait(1000);
String s;
do {
s = game.askForString("Was möchtest du machen?").toLowerCase();
if( s.equals("umschauen") || s.equals("untersuchen") ) {
game.println("Du siehst ein Zahlenschloss mit einem Rad.");
game.wait(500);
game.println("Du siehst einige Papierfetzen herumliegen:");
game.println(" Ein roter, ein blauer, ein gelber und ein weißer.");
} else if( s.indexOf("weiß") > -1 && s.indexOf("nimm") > -1 ) {
game.println("Du nimmst das weiße Papier.");
game.println(keys[0].hint());
} else if( s.indexOf("blau") > -1 && s.indexOf("nimm") > -1 ) {
game.println("Du nimmst das blaue Papier.");
game.println(keys[1].hint());
} else if( s.indexOf("rot") > -1 && s.indexOf("nimm") > -1 ) {
game.println("Du nimmst das rot Papier.");
game.println(keys[2].hint());
} else if( s.indexOf("gelb") > -1 && s.indexOf("nimm") > -1 ) {
game.println("Du nimmst das gelber Papier.");
game.println(keys[3].hint());
} else if( s.indexOf("weiß") > -1 && s.indexOf("benutz") > -1 ) {
game.println("Du gibst die Zahl des weißen Papiers im Schloss ein.");
locks[0].unlock(keys[0]);
game.wait(800);
game.println(locks[0].hint());
} else if( s.indexOf("blau") > -1 && s.indexOf("benutz") > -1 ) {
game.println("Du gibst die Zahl des blauen Papiers im Schloss ein.");
locks[0].unlock(keys[1]);
game.wait(500);
game.println(locks[0].hint());
} else if( s.indexOf("rot") > -1 && s.indexOf("benutz") > -1 ) {
game.println("Du gibst die Zahl des roten Papiers im Schloss ein.");
locks[0].unlock(keys[2]);
game.wait(700);
game.println(locks[0].hint());
} else if( s.indexOf("gelb") > -1 && s.indexOf("benutz") > -1 ) {
game.println("Du gibst die Zahl des gelben Papiers im Schloss ein.");
locks[0].unlock(keys[3]);
game.wait(600);
game.println(locks[0].hint());
}
game.wait(500);
} while( !isUnlocked() );
game.println("Du hast es geschafft, die Tür öffnet sich mit einem lauten Schleifen!");
}
}