프로그램의 경우 그리드와 관련된 일련의 변수를 채워야합니다. 그리드마다 다른 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
)을 통해 루프에 자전거를 통해 이동 및 길이와 전면과 같은 변수를 채우려. 내가 char
과 CARINFO
로 CAR
A와 car
을 사용했다
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;
: 나는 예를 들어,이 모든 논리를 가지고있다.
내가 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'; 자동차는 문자 유형입니다. typedef struct { \t/* 게임에서 모든 차량의 \t의 위치를 나타내는 직사각형 그리드. 각 차는 정확히 한 번 나타납니다 \t 주차장 */ \t char grid [MAXCARPARKSIZE] [MAXCARPARKSIZE]; \t/* 주차장에 사용되는 행 수 */ \t int nRows; \t/* 주차장에 사용 된 기둥 수 */ \t int nCols; \t/* 출구의 위치 */ \t LOCATION exit; } CARPARK; – pseudoabdul
마지막 줄 종류가 적합하지 않습니다. 'car = a'는 무엇을 의미합니까? 자동차 목록을 원한다면, 예를 들어 (100은 예제 임)'CARINFO list [100]'이거나'CARINFO * list = malloc (count * sizeof (* list));이어야합니다. 'n '번째 차를 찾았 으면'CAR'에 채운 다음 목록에 복사합니다 :'list [n] = CAR; ++ n; ' – Shahbaz