74 lines
3.2 KiB
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!");
|
|
}
|
|
|
|
}
|