Diff
Not logged in

Differences From Artifact [d3f73764386d7688]:

To Artifact [8844bb07a00188c5]:


5 import solver; 5 import solver; 6 6 7 class CUI(Solver) : GameObserver 7 class CUI(Solver) : GameObserver 8 { 8 { 9 this(in Game g) { solver = new Solver(g); } 9 this(in Game g) { solver = new Solver(g); } 10 Solver solver; 10 Solver solver; 11 bool fin; 11 bool fin; 12 override void on_game_changed(char c, const(Game) g, bool finished) | 12 override void on_game_changed(char c, in Game g, bool finished) 13 { 13 { 14 fin = finished; 14 fin = finished; 15 } 15 } 16 } 16 } 17 17 18 void main(string[] args) 18 void main(string[] args) 19 { 19 { 20 Driver d = new Driver(stdin); 20 Driver d = new Driver(stdin); 21 d.addObserver!(GuardedOutput)(); 21 d.addObserver!(GuardedOutput)(); 22 auto c = d.addObserver!(CUI!Solver_1)(); 22 auto c = d.addObserver!(CUI!Solver_1)(); 23 while(!c.fin) 23 while(!c.fin) 24 d.command(c.solver.single_step()); 24 d.command(c.solver.single_step()); 25 } 25 }