Artifact Content
Not logged in

Artifact f6cab5c23c5cba1e0f0d9394edd0e0bf650c3022


     1  import util;
     2  import game;
     3  import output;
     4  import driver;
     5  import solver;
     6  
     7  class CUI(Solver) : GameObserver
     8  {
     9  	this(in Game g) { solver = new Solver(g); }
    10  	Solver solver;
    11  	bool fin;
    12  	override void on_game_changed(char c, in Game g, bool finished) { fin = finished; }
    13  }
    14  
    15  void main()
    16  {
    17  	auto d = new Driver(stdin);
    18  	d.addObserver!(GuardedOutput)();
    19  	auto c = d.addObserver!(CUI!MainSolver)();
    20  	while(!c.fin)
    21  		d.command(c.solver.single_step());
    22  }