package de.nowchess.ui

import de.nowchess.chess.engine.GameEngine
import de.nowchess.ui.gui.ChessGUILauncher
import de.nowchess.ui.terminal.TerminalUI

/** Application entry point - starts both GUI and Terminal UI for the chess game. Both views subscribe to the same
  * GameEngine via Observer pattern.
  */
object Main:
  def main(args: Array[String]): Unit =
    val engine = new GameEngine()
    ChessGUILauncher.launch(engine)
    val tui = new TerminalUI(engine)
    tui.start()
