В моделировании медно-никелевого рудника (облако) в агенте MinePanel есть функция, называемая setupTunnelLayout.
Исходный код в приведенной выше функции выглядит следующим образом:
// создать коридор из уже пустых комнат
`RoomBlock emptyRoom;
for ( int j = 0; j < nColumns; j++ ) {
emptyRoom = add_roomBlocks();
emptyRoom.jumpToCell( 0, j );
if ( j == nColumns - 1 )
emptyRoom.isStartBlock = true;
emptyRoom.isTunnel = true;
}`
Но в моем сценарии все ячейки доступны изначально, поэтому все могут быть туннелями (путь для перемещения), а не только строка (0, j), как в приведенном выше примере!
Я думал, что могу изменить это следующим образом; (1) или (2); (1) // создаем коридор из уже пустых комнат
RoomBlock emptyRoom;
for ( int j = 0; j < nColumns; j++ )
for (int i = 0; i < nRows; i++){
emptyRoom = add_roomBlocks();
emptyRoom.jumpToCell( 0, j );
emptyRoom.jumpToCell( i, 0 );
if ( j == nColumns - 1 )
emptyRoom.isStartBlock = true;
emptyRoom.isTunnel = true;
}
Или может быть так; (2) // создать коридор из уже пустых комнат
`RoomBlock emptyRoom;
for ( int j = 0; j < nColumns; j++ )
for (int i = 0; i < nRows; i++){
emptyRoom = add_roomBlocks();
emptyRoom.jumpToCell( i, j );
if ( j == nColumns - 1 )
emptyRoom.isStartBlock = true;
emptyRoom.isTunnel = true;
}`
'Не могли бы вы сообщить мне, правильны ли (1) или (2)? Какой из них предпочтительнее?
Большое спасибо, Неда. '