peter1591 / hearthstone-ai

A Hearthstone AI based on Monte Carlo tree search and neural nets written in modern C++.
302 stars 49 forks source link

judge: Refine judger interface #84

Closed peter1591 closed 6 years ago

peter1591 commented 6 years ago

Judger::Start() should not take agent configuration as separated parameters --> separate out a new base class: IAgentOptions --> each derived class MyAgent also has a side-class MyAgentOptions inherited from IAgentOptions

Can refine Judger to take MyAgent as a template parameter --> to eliminate the runtime overhead

Potential bug: why agent takes the same seed for every run?

peter1591 commented 6 years ago

Potential bug: why agent takes the same seed for every run?

this is addressed in #85

peter1591 commented 6 years ago

Judger::Start() should not take agent configuration as separated parameters --> separate out a new base class: IAgentOptions --> each derived class MyAgent also has a side-class MyAgentOptions inherited from IAgentOptions

Fixed in commit: 4238a17d34782a3676cc2bd499383c29ac17af4a . The options are moved to constructor of derived class MyAgent

peter1591 commented 6 years ago

Can refine Judger to take MyAgent as a template parameter --> to eliminate the runtime overhead

Fixed in commit 9ab2cbe0a2741564b853ba1d58c0d02c83e35a0c