package Application;
import Game.Game;
import Game.Tictactoe;
import Game.Chess;
import java.util.ArrayList;
import java.util.Scanner;
public class App {
private boolean isRunning = false;
private Cli cli;
private boolean inMenu = true;
private MenuManager menuManager;
private Game currentGame;
public App(Cli cli) {
this.cli = cli;
init();
}
private void init() {
menuManager = initMenuManager();
goToMenu();
}
public void start() {
isRunning = true;
while (isRunning) {
String input = cli.getScanner().nextLine();
if (input.equals("exit")) {
stop();
return;
} else {
if (inMenu) {
cli.clearConsole();
selectMenuItem(input);
} else {
if (input.equals("q")) {
goToMenu();
continue;
}
cli.clearConsole();
currentGame.update(input);
currentGame.print(cli);
}
}
}
}
public void stop() {
isRunning = false;
cli.getPrintStream().println("Stopping application...");
}
public boolean isRunning() {
return isRunning;
}
public Game getCurrentGame() {
return this.currentGame;
}
private MenuManager initMenuManager() {
MenuManager mm = new MenuManager();
ArrayList