Diff
Not logged in

Differences From Artifact [cc3cdceae20eed85]:

To Artifact [8a530414bd295205]:


102 102 interface Solver 103 103 { 104 104 // this(in Game g); 105 105 char single_step(); 106 106 void force(char c); 107 107 } 108 108 109 +/// 110 +/// Solver "Mountain": be immovable like a mountain. 111 +/// 109 112 class 不動如山 : Solver 110 113 { 111 114 this(in Game g) {} 112 115 char single_step() { return 'W'; } 113 116 void force(char c) {} 114 117 } 115 118 119 +/// 120 +/// Solver "Forest": shows contemplation. 121 +/// 116 122 class 徐如林 : Solver 117 123 { 118 124 int wait_count = 0; 119 125 int choke_count = 0; 120 126 121 127 Game g; 122 128 this(in Game g) ................................................................................ 390 396 } 391 397 return []; 392 398 } 393 399 return (danger_ok ? [] : tryA()) ~ tryB() ~ tryC(); 394 400 } 395 401 } 396 402 403 +/// 404 +/// Solver "Fire": in raiding and plundering other solvers, be like fire. 405 +/// 397 406 class 侵掠如火(SubSolver) : Solver 398 407 { 399 408 // Parameters. 400 409 int PredictFuture = 10; 401 410 const string[] RandomChoicePattern; // PF*RCP exhaustive search for RL steps 402 411 const ReplanLength = 400; // O(PF*RCP*RL*SubSolver.single_step) 403 412 ................................................................................ 597 606 t pop() { 598 607 t v = cur[0]; cur = cur[1..$]; 599 608 if(cur.empty) { cur = next; next = null; } 600 609 return v; 601 610 } 602 611 } 603 612 613 +/// 614 +/// Solver "Wind": let your rapidity be that of the wind. 615 +/// 604 616 class 疾如風 : Solver 605 617 { 606 618 Game g; 607 619 this(in Game g) 608 620 { 609 621 this.g = g.clone(); 610 622 }