void printStrategyAllDatas(OutputStream* outputStream) { printLocationList(outputStream, "navigationLocationList:", getNavigationLocationList()); printPathList(outputStream, "navigationPathList:", getNavigationPathList()); printGameTargetList(outputStream); printGameStrategyList(outputStream); printGameStrategyContext(outputStream, getStrategyContext()); }
void initStrategy2012(int strategyIndex) { initLocationList(&locationList, (Location(*)[]) &locationListArray, STRATEGY_2012_BIT_LIST_NAVIGATION_TEST_ARRAY_LENGTH); initPathList(&pathList, (PathData(*)[]) &pathListArray, STRATEGY_2012_NAVIGATION_PATH_LIST_TEST_ARRAY_LENGTH); initBitList(&outgoingPathBitList, (unsigned int(*)[]) &outgoingPathBitArray, STRATEGY_2012_BIT_LIST_NAVIGATION_TEST_ARRAY_LENGTH); initBitList(&availablePathBitList, (unsigned int(*)[]) &availablePathBitArray, STRATEGY_2012_BIT_LIST_NAVIGATION_TEST_ARRAY_LENGTH); initNavigation(&locationList, &pathList, &outgoingPathBitList, &availablePathBitList); initLocations2012(); initPaths2012(strategyIndex); initTargets2012(); initTargetActions2012(); initTargetActionsItems2012(); initStrategies2012(); initStrategiesItems2012(strategyIndex); GameStrategy* strategy = getGameStrategy(0); GameStrategyContext* strategyContext = getStrategyContext(); strategyContext->gameStrategy = strategy; if (strategyIndex == STRATEGY_HOMOLOGATION) { strategyContext->maxTargetToHandle = 1; } else { strategyContext->maxTargetToHandle = getGameTargetList()->size; } //OutputStream* debugOutputStream = getInfoOutputStreamLogger(); //printStrategyAllDatas(debugOutputStream); // opponent Point* p = &(getStrategyContext()->opponentRobotPosition); p->x = 0; p->y = 0; // obstacle p = &(getStrategyContext()->lastObstaclePosition); p->x = 0; p->y = 0; strategyContext->hasMoreNextSteps = true; // reinitialize the game board to change elements / targets ... }
void setColor(TEAM_COLOR color) { GameStrategyContext* context = getStrategyContext(); appendStringAndDec(getOutputStreamLogger(INFO), "setColor:", color); println(getOutputStreamLogger(INFO)); context->color = color; changeLocationsForColor(); int angle = 675; if (!isViolet()) { angle = -angle; context->robotPosition.y = 2840; } else { context->robotPosition.y = 160; } context->robotPosition.x = 160; context->robotAngle = angle; printStrategyAllDatas(getOutputStreamLogger(INFO)); }
void setColor(enum TeamColor color) { GameStrategyContext* context = getStrategyContext(); appendStringAndDec(getInfoOutputStreamLogger(), "setColor:", color); println(getInfoOutputStreamLogger()); context->color = color; changeLocationsForColor(); int angle = 675; if (!isGreen()) { angle = -angle; context->robotPosition.y = 2840; } else { context->robotPosition.y = 160; } context->robotPosition.x = 160; context->robotAngle = angle; printStrategyAllDatas(getInfoOutputStreamLogger()); }