그래서 각 배열 블록이 맵의 공간 인 격자 맵으로 2 차원 배열을 사용하고 있습니다. 그래서C++ 인쇄 배열
char Map[ROWS][COLS]={'x'};
ROWS = 10 및 COLS 내 주요 내가 초기화 한() 배열 '지도'에서
은 = 20
나중에 내가 가진 기능 PrintMap를 호출
void PrintMap(const char Map[ROWS][COLS], const bool showTreasure)
{
for (int countr=0; countr<ROWS;countr++){
for (int countc=0; countc<COLS;countc++){ //print map
if (!showTreasure){
if (Map[countr][countc]!='T')
cout << Map[countr][countc];
else
cout << '*';
} else {
cout << Map[countr][countc];
}
}
cout << endl;
}
}
그리드의 한 공간은 게임의 보물이나 목표가있는 곳입니다. PrintMap의 매개 변수에서 bool showTreasure는 'T'를지도에 표시할지 또는 숨기고 싶은지 여부입니다.
배열의 공백 중 하나는 'T'이고 나머지는 '*', 'X'또는 'P'입니다.
*는 아무 것도없는 곳입니다.
그래서 if 문은 : showTreasure가 false이면 ('T'를 숨기고 싶다는 의미) : 'T'가 아닐 경우 배열에있는 내용을 인쇄하거나 '*'를 인쇄하십시오 if 그것은 T입니다.
이제 내 문제는 내가 200 * s로 배열을 초기화했는데, 프로그램을 실행할 때 1 * 만 인쇄된다는 것입니다.
당신이 말하는 초기화 코드를 보여 주면 도움이 될 것입니다. – OldProgrammer