Overview
SHA1 Hash: | 8a59754e60b008048ae6aa74f96034de43e3524e |
---|---|
Date: | 2012-07-14 21:51:48 |
User: | kinaba |
Comment: | GUI auto solver. |
Timelines: | family | ancestors | descendants | both | trunk |
Diffs: | redesign |
Downloads: | Tarball | ZIP archive |
Other Links: | files | file ages | manifest |
Tags And Properties
- branch=trunk inherited from [16f0b5784f]
- sym-trunk inherited from [16f0b5784f]
Changes
Modified src/cui_auto_main.d from [25b34c42eebd93c9] to [a0394f9b9692c1eb].
1 import util; 1 import util; 2 import game; 2 import game; 3 import output; 3 import output; 4 import driver; 4 import driver; 5 import solver; 5 import solver; > 6 > 7 class CUI(Solver) : GameObserver > 8 { > 9 this(const(Game) g) { > 10 solver = new Solver(g); > 11 } > 12 Solver solver; > 13 bool fin; > 14 override void on_game_changed(char c, const(Game) g, bool finished) > 15 { > 16 fin = finished; > 17 } > 18 } 6 19 7 void main(string[] args) 20 void main(string[] args) 8 { 21 { 9 Driver d = new Driver(stdin); 22 Driver d = new Driver(stdin); 10 d.addObserver!(GuardedOutput)(); 23 d.addObserver!(GuardedOutput)(); 11 Solver s = d.addObserver!(Solver)(); | 24 auto c = d.addObserver!(CUI!Solver_1)(); > 25 while(!c.fin) 12 s.run(&d.command); | 26 d.command(c.solver.single_step()); 13 } 27 }
Modified src/gui.d from [508aa0ef899fe75c] to [4cc6400795e7a727].
13 setup_keyhandling(); 13 setup_keyhandling(); 14 draw(g); 14 draw(g); 15 } 15 } 16 16 17 private void delegate(char c) fn; 17 private void delegate(char c) fn; 18 void set_fn(F)(F f) { this.fn = f; } 18 void set_fn(F)(F f) { this.fn = f; } 19 19 20 void run() | 20 void run(bool automate = false) 21 { 21 { > 22 if(automate) { > 23 Timer t = new Timer; > 24 t.interval = 100; > 25 t.tick ~= (Timer sender, EventArgs ea){ > 26 fn(solver.single_step()); > 27 }; > 28 t.start(); > 29 } 22 Application.run(this); 30 Application.run(this); 23 } 31 } 24 32 25 override void on_game_changed(char c, const(Game) g, bool finished) 33 override void on_game_changed(char c, const(Game) g, bool finished) 26 { 34 { 27 draw(g); 35 draw(g); 28 } 36 }