0

学校の課題で 15 パズル ゲームをコーディングしています。3 つの移動パラメータを取ります。これらは、x、y 座標と方向です。

しかし、私のコードは、最初に印刷するテーブルの要素を何度も置き換えません。なにが問題ですか?

この部分は移動のための関数呼び出しです:

if ((x<Cols && x>=0)&&(y<Rows && y>=0))
{
    switch (move)
    {
    case 0:
        leftOp((int *)arr, Rows, Cols, &Row, &Col, x, y);
        break;
    default:
        printf("error!!1\n");
        break;
    }
}

そして、この部分は移動機能です:

    void leftOp(int* arr, int Rows, int Cols, int* MomRow, int* MomCol, int x, int y){
    int temp;
    if (y == *MomRow)
    {
        while (x != *MomCol && *MomCol > x)
        {
            temp = arr[*MomRow * Cols + *MomCol];
            arr[*MomRow * Cols + *MomCol] = arr[*MomRow * Cols + *MomCol - 1];
            arr[*MomRow * Cols + *MomCol - 1] = temp;
        }
    }
}
4

0 に答える 0