0

Frogger のようなゲームを作成する割り当てがあります (ご存知のように、カエルが通りを渡らなければならないゲームです)。これまでのところ、カエルと車の動きの背後にあるロジックを作成しましたが、プロセスを同時に実行することはできないようです. マルチスレッドがこれを行う正しい方法であることはわかっていますが、_beginthread を介してパラメーターを渡す際に問題が発生しています。

これが私がこれまでに持っているものです:

void moveCarsLeft(int x, int y) {
    if (y < 0) {
        field[x][y + 4] = '_';
        Sleep(600);
        refreshField();
        showField();
        if (y == -4) {
            moveCarsLeft(x, WIDTH-1);
        }
        moveCarsLeft(x, y - 1);
    }
    else {
        if (y > WIDTH-4) {
            field[x][y] = '-';
            Sleep(600);
            refreshField();
            showField();
            moveCarsLeft(x, y - 1);
        }
        else {
            field[x][y + 4] = '_';
            field[x][y] = '-';
            Sleep(600); // this is what's messing up the whole thing
                        // it stops the whole program
                        // and that's why I think I need multithreading
            refreshField();
            showField();
            moveCarsLeft(x, y - 1);
        }
    }
}

void moveCarsRight(int x, int y) {
... // the opposite of moveCarsLeft()
}

...
int main() {
...
    _beginthread(moveCarsLeft, 0, what do I put here?);
...
}

したがって、誰かがこの機能を実現する正しい方法を教えてくれれば、本当に感謝しています。前もって感謝します : ]

4

2 に答える 2