コード例 #1
0
void printStrategyAllDatas(OutputStream* outputStream) {
    printLocationList(outputStream, "navigationLocationList:", getNavigationLocationList());
    printPathList(outputStream, "navigationPathList:", getNavigationPathList());
    printGameTargetList(outputStream);
    printGameStrategyList(outputStream);
    printGameStrategyContext(outputStream, getStrategyContext());
}
コード例 #2
0
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 ...
}
コード例 #3
0
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));
}
コード例 #4
0
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());
}