コード例 #1
0
EnemyTypeOne::EnemyTypeOne(Image img)
{	
	image = img;	
	moveInDir(direction);
	moveVelocity(xVelocity, yVelocity);
}
コード例 #2
0
/**
 * Sudoku entry point.
 *
 * @param argv The command input string.
 */
void sudoku(char* argv) {

    termios oldStatus;

    time_t initialTime = time(NULL);
    time_t elapsedTime;
    srand(initialTime);
    const char* board = boards[rand() % NUM_BOARDS];
    int in, i, j;

    GameState state;

    ioctl(0, TCGETS, (void*) &oldStatus);
    ioctl(0, TCSETS, (void*) &gameStatus);

    intro();

    state.placed = 0;
    for (i = 0; i < 9; i++) {
        for (j = 0; j < 9; j++) {

            state.original[i][j] = state.board[i][j] = board[i+j*9];
            state.solvedBoard[i][j] = board[81+(i+j*9)];

            if (state.board[i][j] != '0') {
                state.placed++;
            }
        }
    }

    elapsedTime = time(NULL) - initialTime;

    state.x = 0;
    state.y = 0;
    state.errors = 0;

    // Reset the screen
    moveCursor(1, 1);
    clearScreen(CLEAR_ALL);

    drawBoard(&state);

    while ((in = getchar()) != 'q') {

        if (in == ESCAPE_CODE && getchar() == CSI) {

            in = getchar();
            if ('A' <= in && in <= 'D') {
                moveInDir(&state, in - 'A');
            }
        } else if (isdigit(in)) {

            placeNumber(&state, in);
            if (state.placed == 81 && state.errors == 0) {

                setForegroundColor(COLOR_GREEN);
                moveCursor(boardTop + 10 * 2 - 1, boardLeft);
                printf("Congratulations! You have solved it correctly.");

                moveCursor(boardTop + 10 * 2 , boardLeft);
                printf("Your time was %d minutes and %d seconds.",elapsedTime / 60, elapsedTime % 60);

                moveCursor(boardTop + 10 * 2 + 1, boardLeft);
                printf("Press enter to exit.");
                setForegroundColor(COLOR_WHITE);

                while (getchar() != '\n');
                break;
            }
        }
    }

    clearScreen(CLEAR_ALL);
    moveCursor(0, 0);
    ioctl(0, TCSETS, (void*) &oldStatus);
}
コード例 #3
0
ファイル: BattleHex.cpp プロジェクト: DjWarmonger/vcmi
void BattleHex::operator+=(EDir dir)
{
	moveInDir(dir);
}