|
|
|
@ -12,6 +12,7 @@ public class TheGame implements StatemachineListener, GuiEventListener, IRCEvent
|
|
|
|
|
private IStatemachine machine;
|
|
|
|
|
private IBuntiClient bunti;
|
|
|
|
|
private IMPDController mpdController;
|
|
|
|
|
private IRelaisboard relaisboard;
|
|
|
|
|
|
|
|
|
|
public TheGame(IGuiControl guiControl) {
|
|
|
|
|
this.guiControl = guiControl;
|
|
|
|
@ -19,7 +20,8 @@ public class TheGame implements StatemachineListener, GuiEventListener, IRCEvent
|
|
|
|
|
this.ircClient = new IrcClient("crashtest", "#crashtest","irc.hackint.eu");
|
|
|
|
|
this.bunti = new BuntiClient("bunti.ctdo.de", 8080);
|
|
|
|
|
this.mpdController = new MPDController("dampfradio.raum.ctdo.de");
|
|
|
|
|
this.machine = new Statemachine();
|
|
|
|
|
this.relaisboard = new Relaisboard("/dev/ttyUSB0");
|
|
|
|
|
this.machine = new Statemachine();
|
|
|
|
|
|
|
|
|
|
initGame();
|
|
|
|
|
}
|
|
|
|
@ -30,6 +32,8 @@ public class TheGame implements StatemachineListener, GuiEventListener, IRCEvent
|
|
|
|
|
machine.addListener(this);
|
|
|
|
|
|
|
|
|
|
machine.reset();
|
|
|
|
|
relaisboard.open();
|
|
|
|
|
relaisboard.toggleRelais(2, 2000);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -45,11 +49,12 @@ public class TheGame implements StatemachineListener, GuiEventListener, IRCEvent
|
|
|
|
|
switch (newState) {
|
|
|
|
|
case IDLE:
|
|
|
|
|
machine.stopTimer();
|
|
|
|
|
guiControl.setExtra("");
|
|
|
|
|
guiControl.setWall("");
|
|
|
|
|
|
|
|
|
|
mpdController.setVolume(45);
|
|
|
|
|
mpdController.playSong("start", "mix");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bunti.setPar56(0,0,0);
|
|
|
|
|
bunti.setLampel(false,false,false);
|
|
|
|
|
|
|
|
|
@ -68,6 +73,8 @@ public class TheGame implements StatemachineListener, GuiEventListener, IRCEvent
|
|
|
|
|
machine.startTimer(60*8);
|
|
|
|
|
break;
|
|
|
|
|
case TABLE_GAME_ONE:
|
|
|
|
|
guiControl.setWall("64K RAM SYSTEM 38911 BASIC BYTES FREE. **** COMMODORE 64 BASIC V2 ****");
|
|
|
|
|
|
|
|
|
|
mpdController.setVolume(70);
|
|
|
|
|
mpdController.playSong("K2", "Der Berg Ruft");
|
|
|
|
|
|
|
|
|
@ -120,6 +127,9 @@ public class TheGame implements StatemachineListener, GuiEventListener, IRCEvent
|
|
|
|
|
guiControl.showCountDown(true);
|
|
|
|
|
machine.pauseTimer(true);
|
|
|
|
|
sayScore();
|
|
|
|
|
|
|
|
|
|
relaisboard.blinkRelais(2, 500, 6); // hint Button
|
|
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
case ROKET_STARTED:
|
|
|
|
|
mpdController.setVolume(50);
|
|
|
|
@ -131,6 +141,8 @@ public class TheGame implements StatemachineListener, GuiEventListener, IRCEvent
|
|
|
|
|
|
|
|
|
|
ircClient.say("table game complete, r0kets now");
|
|
|
|
|
|
|
|
|
|
relaisboard.toggleRelais(0, 300);
|
|
|
|
|
|
|
|
|
|
guiControl.showCountDown(true);
|
|
|
|
|
machine.startTimer(7*60);
|
|
|
|
|
break;
|
|
|
|
@ -163,7 +175,7 @@ public class TheGame implements StatemachineListener, GuiEventListener, IRCEvent
|
|
|
|
|
@Override
|
|
|
|
|
public void keyPress(char key) {
|
|
|
|
|
machine.handleInput(key);
|
|
|
|
|
guiControl.setExtra("btn: " + key);
|
|
|
|
|
//guiControl.setExtra("btn: " + key);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -175,6 +187,7 @@ public class TheGame implements StatemachineListener, GuiEventListener, IRCEvent
|
|
|
|
|
machine.reset();
|
|
|
|
|
bunti.setPar56(0xff,0xff,0xff);
|
|
|
|
|
ircClient.say("bye");
|
|
|
|
|
relaisboard.close();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|