- Modified gameObserver and related classes to be able to work with a precise JGE instance given at construction and not the static global one. That allows to run gameObserver without JGE instance (for example in a worker thread).
- Added an "ACTION_LOGGING_TESTING" mode in the gameObserver. When this is defined, the game reloads itself in every update. I want to use that to track undo problems. Be aware that it kills performances and crashes with the testsuite if you want to activate it. - Various cleanup/refactor of the game observer. - Added a gameObserver == operator to compare two games - Added player mode to the player serialization - Added a multi-threaded mode to AI_CHANGE_TESTING. For the moment it's only useable with Qt. If you want to use it without, just defined a thread_count higher than 1. - Refactored random generator class to use list intead of queue - Defined a specific type for interrupt decision instead of int
This commit is contained in:
@@ -7,6 +7,10 @@
|
||||
#include "DeckMenu.h"
|
||||
#include "MTGDeck.h"
|
||||
#include "GameObserver.h"
|
||||
#ifdef AI_CHANGE_TESTING
|
||||
#include "Threading.h"
|
||||
#endif //AI_CHANGE_TESTING
|
||||
|
||||
|
||||
#define CHOOSE_OPPONENT 7
|
||||
|
||||
@@ -56,6 +60,16 @@ public:
|
||||
int totalTestGames;
|
||||
int testPlayer2Victories;
|
||||
int totalAIDecks;
|
||||
static boost::mutex mMutex;
|
||||
vector<boost::thread> mWorkerThread;
|
||||
static void ThreadProc(void* inParam);
|
||||
void handleResults(GameObserver* aGame){
|
||||
mMutex.lock();
|
||||
totalTestGames++;
|
||||
if (aGame->gameOver == aGame->players[0])
|
||||
testPlayer2Victories++;
|
||||
mMutex.unlock();
|
||||
};
|
||||
#endif
|
||||
|
||||
virtual void ButtonPressed(int ControllerId, int ControlId);
|
||||
|
||||
Reference in New Issue
Block a user