我正在製作一個簡單的流氓般的遊戲地圖。 因此,我需要通過接收來自字符數組[i] [j]的數據來初始化具有爲每個數組單元創建的對象的映射。 建議這樣的CWall,CDoor類在CWall.cpp,CWall.h等其他文件中定義。下面是在map.cpp中初始化的代碼流氓喜歡遊戲初始化錯誤
但是,這是正確的代碼方式嗎? 我認爲這會導致分配內存的問題。
CObject CMap::insertObject(char character){
if (character = '*') {
CWall cwall;
return cwall;
}
if (character = 'D') {
CDoor cdoor;
return cdoor;
}
if (character = 'F') {
CFood cfood;
return cfood;
}
if (character = 'K') {
CKey ckey;
return ckey;
}
if (character = 'M') {
CMMonster cmmonster;
return cmmonster;
}
if (character = 'm') {
CMonster cmonster;
return cmonster;
}
if (character = '@') {
CPlayer cplayer;
return cplayer;
}
if (character = 'P') {
CPrincess cprincess;
return cprincess;
}
if (character = '&') {
CRock crock;
return crock;
}
if (character = 'S') {
CShield cshield
return cshield;
}
else {
CShield cshield;
return cshield;
}
}
void CMap::initialize(char arr[][COLS]){
for (int i = 0; i <= 11; i++){
for (int j = 0; j <= 38; j++){
char character = arr[i][j];
insertObject(character);
}
}
}
我已經像你所說的改變了。但它發生了額外的問題。那麼返回格式會是什麼樣?它會是「返回Cwall」嗎? –
'如果(字符='應該是'如果(字符==' – Biffen
在一個側面說明,你不太可能與基因多態性在這裏取得成功沒有什麼共同之處門和公主之間 - 。所以沒有幾乎性質,他們可以一起分享。最後你會不斷鑄造你的對象,這是一個噩夢。 – SergeyA