Заранее извиняюсь за любые ошибки в псевдокоде; На этой неделе я впервые прикоснулся к C ++ за 2 десятилетия! И я сталкиваюсь с проблемой, когда то, что я хочу сделать, значительно за пределами моего уровня квалификации. Данная плитка может быть одним из нескольких типов: пол, стена, пустая ... или дверь. Вне, что данная плитка может иметь, я предполагаю, что (еще не понял это) вероятность того, что это дверь 1,5%. и т. Д.)struct Door {
char facingDir;
int doorState;
// bunch of other stuff
}
class Tile {
public:
int x;
int y;
char[1] tileType;
Door* doorHere;
// bunch of other stuff
};
class Dungeon {
public:
Tile[200][200] tiles;
void drawDungeon()
{
//do a bunch of maze-building logic, setting the tileType of each tile
//while looping through the tiles using i, j as integer iterators:
if (tileType == 'D')
{
tiles,[j]->doorHere = std::make_unique('N', 4, /*...*/ )
}
}
};
Это правильный способ сделать это? Объявите дополнительный объект в сетке объектов, то есть? Это не занимает больше памяти, чем это реально? «->» вообще необходимо (это своего рода боль для неоднократного типа, поэтому я бы предпочел использовать колоны и периоды, если она все одинаково. Это также более интуитивно понятно для меня, выходя из VB и C#, как и я). < /Li>
Нужно ли мне делать что-то особенное в деструкторе плитки, чтобы убедиться, что любые дверные объекты также являются собственными, что также есть, чтобы быть уверенным в том, чтобы быть уверенным в том, чтобы быть уверенным в том, чтобы быть уверенным в том, чтобы быть уверенным в том, чтобы быть уверенным в том, чтобы быть уверенным в том, чтобы быть уверенным в том, чтобы убедиться, что любой дверной объекты также являются собственными? Скажите, что вместо того, чтобы быть статичными, плитки (в подземелье) использовали Malloc. Когда я освобождаю массив плиток в деструкторе Dungeon, это просто позаботится обо всем, включая все плитки и двери внутри него? Есть ли просто указатель ни на что? И, просто из любопытства, как я бы проверил это, из функций подземелья или даже из внешней функции?
Заранее извиняюсь за любые ошибки в псевдокоде; На этой неделе я впервые прикоснулся к C ++ за 2 десятилетия! И я сталкиваюсь с проблемой, когда то, что я хочу сделать, значительно за пределами моего уровня квалификации. Данная плитка может быть одним из нескольких типов: пол, стена, пустая ... или дверь. Вне, что данная плитка может иметь, я предполагаю, что (еще не понял это) вероятность того, что это дверь 1,5%. и т. Д.)struct Door { char facingDir; int doorState; // bunch of other stuff }
class Tile { public: int x; int y; char[1] tileType; Door* doorHere; // bunch of other stuff };
class Dungeon { public: Tile[200][200] tiles;
void drawDungeon() { //do a bunch of maze-building logic, setting the tileType of each tile //while looping through the tiles using i, j as integer iterators: if (tileType == 'D') { tiles[i],[j]->doorHere = std::make_unique('N', 4, /*...*/ ) } } };
Dungeon myDungeon;
void Main() {
//..... char something = myDungeon.tiles[i][j]->doorHere.facingDir; } < /code> Итак, мои вопросы: < /p> [list] [*] Это правильный способ сделать это? Объявите дополнительный объект в сетке объектов, то есть? Это не занимает больше памяти, чем это реально? «->» вообще необходимо (это своего рода боль для неоднократного типа, поэтому я бы предпочел использовать колоны и периоды, если она все одинаково. Это также более интуитивно понятно для меня, выходя из VB и C#, как и я). < /Li> Нужно ли мне делать что-то особенное в деструкторе плитки, чтобы убедиться, что любые дверные объекты также являются собственными, что также есть, чтобы быть уверенным в том, чтобы быть уверенным в том, чтобы быть уверенным в том, чтобы быть уверенным в том, чтобы быть уверенным в том, чтобы быть уверенным в том, чтобы быть уверенным в том, чтобы быть уверенным в том, чтобы убедиться, что любой дверной объекты также являются собственными? Скажите, что вместо того, чтобы быть статичными, плитки (в подземелье) использовали Malloc. Когда я освобождаю массив плиток в деструкторе Dungeon, это просто позаботится обо всем, включая все плитки и двери внутри него? Есть ли просто указатель ни на что? И, просто из любопытства, как я бы проверил это, из функций подземелья или даже из внешней функции? [/list] Спасибо!