プログラムの場合、グリッドに関連する一連の変数を入力する必要があります。グリッド上で異なるchar
は異なる車を表しています。各車は、2行または3行(垂直または水平のいずれか)で表すことができます(char
)。画像のようなデータグリッドからシンプルな形のリストを抽出する
/* Structure to hold information about a car */
typedef struct
{
/* The location of the front of the car. As all cars are assumed
to be facing either north or west, this location represents
the northwest segment of the car */
LOCATION front;
/* The orientation of the car */
ORIENTATION orientation;
/* The length of the car */
int length;
} CARINFO;
は、私はすべての異なる車(タイプCARINFO
)をループのためのサイクリングを通過し、長さやフロントなどの変数を埋めるためにしたいです。
if ((carpark.grid[i + 1][j] == car && carpark.grid[i - 1][j] == car) || // (left and right) OR
(carpark.grid[i][j + 1] == car && carpark.grid[i][j - 1] == car)) // (up and down)
CAR.length = 3;
私はCARINFO
としてchar
とCAR
としてcar
使用している:私は、例えば、このためのすべてのロジックを持っています。
私にstruct CARINFO a
があった場合、どうすればcar = a
を作り、他のすべての車で同じことをするのですか?
あなたの質問は完全ではありません。 「構造体からcharを得る」とはどういう意味ですか? 「車」の種類は何ですか? 'carpark.grid'のタイプは何ですか? –
私はこれを避けようとしていますが、同じ効果を得ようとしています。 \t if(CAR = CAR_a)car = 'a'; \t if(CAR = CAR_b)car = 'b'; \t if(CAR = CAR_c)car = 'c'; \t if(CAR = CAR_d)car = 'd'; 車はタイプcharです。 typedef struct { \t/*ゲームのすべての車の \tの位置を表す文字の長方形グリッド。各車は正確に一度現れます \t駐車場*/ \tチャーグリッド[MAXCARPARKSIZE] [MAXCARPARKSIZE]; \t/*駐車場で使用される行数*/ \t int nRows; \t/*駐車場で使用される列の数*/ \t int nCols; \t/*出口の場所*/ \t LOCATION exit; } CARPARK; – pseudoabdul
最後の行の種類は意味をなさない。 'car = a'はどういう意味ですか?あなたが車のリストを持っていたいなら、それは 'CARINFO list [100]'(例えば100)、 'CARINFO * list = malloc(count * sizeof(* list));' 'n '番目の車が見つかったら、それを' 'CAR'で記入してリストにコピーします:' list [n] = CAR; ++ n; ' – Shahbaz