233 <div class="option"> |
233 <div class="option"> |
234 <input type="text" name="freeBonus" class="positive" pattern="[0-9]*[.]?[0-9]*" value="10"/> free cell coefficient |
234 <input type="text" name="freeBonus" class="positive" pattern="[0-9]*[.]?[0-9]*" value="10"/> free cell coefficient |
235 </div> |
235 </div> |
236 <div class="clearfix"></div> |
236 <div class="clearfix"></div> |
237 </div> |
237 </div> |
238 <div class="ai" id="ai-deep-max-score"> |
238 <div class="ai" id="ai-static-deep-merges"> |
239 <button class="ai">enable</button> |
239 <button class="ai">enable</button> |
240 <h5>deep merges without simulation make max score</h5> |
240 <h5>deep merges without random simulation</h5> |
241 </div> |
241 <div class="option"> |
242 <div class="ai" id="ai-deep-max-score-corner"> |
242 <input type="text" name="scoreCoef" class="positive" pattern="[0-9]*[.]?[0-9]*" value="1"/> score weight |
243 <button class="ai">enable</button> |
243 </div> |
244 <h5>deep merges without simulation make max score + bonus if max value at corner/edge</h5> |
244 <div class="option"> |
|
245 <input type="text" name="maxValCoef" class="positive" pattern="[0-9]*[.]?[0-9]*" value="0"/> max value weight |
|
246 </div> |
|
247 <div class="option"> |
|
248 <input type="text" name="cornerBonus" class="positive" pattern="[0-9]*[.]?[0-9]*" value="100"/> max value at corner bonus |
|
249 </div> |
|
250 <div class="option"> |
|
251 <input type="text" name="edgeBonus" class="positive" pattern="[0-9]*[.]?[0-9]*" value="0"/> max value at edge bonus |
|
252 </div> |
|
253 <div class="option"> |
|
254 <input type="text" name="freeBonus" class="positive" pattern="[0-9]*[.]?[0-9]*" value="10"/> free cell coefficient |
|
255 </div> |
|
256 <div class="option"> |
|
257 <input type="text" name="weightThreshold" class="positive" pattern="[0-9]*[.]?[0-9]*" value="10"/> score threshold |
|
258 </div> |
|
259 <div class="clearfix"></div> |
245 </div> |
260 </div> |
246 <div class="ai" id="ai-expectimax"> |
261 <div class="ai" id="ai-expectimax"> |
247 <button class="ai">enable</button> |
262 <button class="ai">enable</button> |
248 <h5>expectimax</h5> |
263 <h5>expectimax</h5> |
249 <div class="option"> |
264 <div class="option"> |
730 }, |
745 }, |
731 "ai-one-step-ahead": function(aiDom) { |
746 "ai-one-step-ahead": function(aiDom) { |
732 var cfg = ui.ai.parseCfg(aiDom); |
747 var cfg = ui.ai.parseCfg(aiDom); |
733 return new ai.OneStepAhead(ui.brdEngine, cfg); |
748 return new ai.OneStepAhead(ui.brdEngine, cfg); |
734 }, |
749 }, |
735 "ai-deep-max-score": function() { |
750 "ai-static-deep-merges": function(aiDom) { |
736 return new ai.DeepMaxScore(ui.brdEngine); |
751 var cfg = ui.ai.parseCfg(aiDom); |
737 }, |
752 return new ai.StaticDeepMerges(ui.brdEngine, cfg); |
738 "ai-deep-max-score-corner": function() { |
|
739 return new ai.DeepMaxScoreCorner(ui.brdEngine); |
|
740 }, |
753 }, |
741 "ai-expectimax": function(aiDom) { |
754 "ai-expectimax": function(aiDom) { |
742 var cfg = ui.ai.parseCfg(aiDom); |
755 var cfg = ui.ai.parseCfg(aiDom); |
743 return new ai.expectimax(ui.brdEngine, cfg); |
756 return new ai.expectimax(ui.brdEngine, cfg); |
744 }, |
757 }, |