Differences From Artifact [2ca374354297c908]:
- File
src/output.d
- 2012-07-14 11:24:30 - part of checkin [bee0596f0f] on branch trunk - Refactoring. (user: kinaba) [annotate]
To Artifact [7fa423ba9f8ebe92]:
- File
src/output.d
- 2012-07-14 12:29:17 - part of checkin [9d4aca73fa] on branch trunk - GUI+Solver revived. (user: kinaba) [annotate]
1 import util; 1 import util;
2 import game; 2 import game;
3 import driver; 3 import driver;
4 import std.c.stdlib; <
5 import core.stdc.signal; 4 import core.stdc.signal;
6 5
7 class NilOutput : GameObserver 6 class NilOutput : GameObserver
8 { 7 {
9 this(const(Game) g) {} 8 this(const(Game) g) {}
10 override bool on_game_changed(char c, const(Game) g, bool finished) {ret | 9 override void on_game_changed(char c, const(Game) g, bool finished) {}
11 } 10 }
12 11
13 class StdOutput : GameObserver 12 class StdOutput : GameObserver
14 { 13 {
15 this(const(Game) g) {} 14 this(const(Game) g) {}
16 override bool on_game_changed(char c, const(Game) g, bool finished) | 15 override void on_game_changed(char c, const(Game) g, bool finished)
17 { 16 {
18 stdout.write(c); 17 stdout.write(c);
19 stdout.flush(); 18 stdout.flush();
20 return false; <
21 } 19 }
22 } 20 }
23 21
24 class GuardedOutput : GameObserver 22 class GuardedOutput : GameObserver
25 { 23 {
26 this(const(Game) g) 24 this(const(Game) g)
27 { 25 {
28 setup_sigint_handling(); 26 setup_sigint_handling();
29 ideal_log ~= g.score_if_abort_now; 27 ideal_log ~= g.score_if_abort_now;
30 } 28 }
31 29
32 override bool on_game_changed(char c, const(Game) g, bool finished) | 30 override void on_game_changed(char c, const(Game) g, bool finished)
33 { 31 {
34 log ~= c; 32 log ~= c;
35 score_log ~= g.score; 33 score_log ~= g.score;
36 ideal_log ~= g.score_if_abort_now; 34 ideal_log ~= g.score_if_abort_now;
37 if(finished) 35 if(finished)
38 flush(); 36 flush();
39 return false; <
40 } 37 }
41 38
42 private: 39 private:
43 string log; 40 string log;
44 long[] score_log; 41 long[] score_log;
45 long[] ideal_log; 42 long[] ideal_log;
46 43