/** * Muehlegame * Copyright (c) 2015, Thomas Ammann, Johannes Finckh * * @author Thomas Amann, Johannes Finckh * @version 1.0 */ package game; import com.google.inject.Guice; import com.google.inject.Injector; import controller.IController; import view.Tui; import view.gui.Gui; import java.util.Scanner; public final class MuehleGame { private static Tui tui; private static Gui gui; private static IController controller; private static Scanner sc; private static MuehleGame instance = null; private MuehleGame () { Injector injector = Guice.createInjector(new MuehleModule()); controller = injector.getInstance(IController.class); gui = new Gui(this.controller); tui = new Tui(this.controller); } public static void main(String[] args) { MuehleGame game = getInstance(); gui.beginSetPlayerInfo(); sc = new Scanner(System.in); while (sc.hasNextInt()) { game.getTui().handleInput(sc.nextInt()); } sc.close(); } public static MuehleGame getInstance() { if(instance == null) { instance = new MuehleGame(); } return instance; } public Tui getTui() { return this.tui; } }