Artifact Content
Not logged in

Artifact b38d60ea39d11e6eb880cf91e733ed35fc2b7d63


     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)
    13  	{
    14  		fin = finished;
    15  	}
    16  }
    17  
    18  void main(string[] args)
    19  {
    20  	Driver d = new Driver(stdin);
    21  	d.addObserver!(GuardedOutput)();
    22  	auto c = d.addObserver!(CUI!MainSolver)();
    23  	while(!c.fin)
    24  		d.command(c.solver.single_step());
    25  }