Index: src/solver.d ================================================================== --- src/solver.d +++ src/solver.d @@ -1,5 +1,8 @@ +// +// http://en.wikipedia.org/wiki/F%C5%ABrinkazan +// import util; import game; bool is_spacy(char c) { @@ -101,18 +104,18 @@ // this(in Game g); char single_step(); void force(char c); } -class Solver_0 : Solver +class 不動如山 : Solver { this(in Game g) {} char single_step() { return 'W'; } void force(char c) {} } -class Solver_1 : Solver +class 徐如林 : Solver { int wait_count = 0; int choke_count = 0; Game g; @@ -389,11 +392,11 @@ } return (danger_ok ? [] : tryA()) ~ tryB() ~ tryC(); } } -class Solver_2(SubSolver) : Solver +class 侵掠如火(SubSolver) : Solver { // Parameters. int PredictFuture = 10; const string[] RandomChoicePattern; // PF*RCP exhaustive search for RL steps const ReplanLength = 400; // O(PF*RCP*RL*SubSolver.single_step) @@ -596,11 +599,11 @@ if(cur.empty) { cur = next; next = null; } return v; } } -class Solver_3 : Solver +class 疾如風 : Solver { Game g; this(in Game g) { this.g = g.clone(); @@ -663,9 +666,10 @@ } return 'A'; } } -//alias Solver_3 MainSolver; -alias Solver_2!(Solver_1) MainSolver; -//alias Solver_1 MainSolver; -//alias Solver_0 MainSolver; +//alias 侵掠如火!(疾如風) MainSolver; +alias 侵掠如火!(徐如林) MainSolver; +//alias 疾如風 MainSolver; +//alias 徐如林 MainSolver; +//alias 不動如山 MainSolver;