Мне дана сетка nXn с 1 и 0, и мне дано, что я могу двигаться только вверх или вправо, если 0 населяет клетку.Мне нужно найти все возможные способы добраться до верхнего правого угла от нижнего левого угла.Для этого я использую объект (Bot
), инициализированный в (0,0), чье единственное поведение - смотреть направо и ячейку прямо над ней;если это 0, то он создает нового бота в эту доступную ячейку.
Итак, как бы мне реализовать это творческое поведение, не имея необходимости окончательно создавать экземпляр класса заново?
Что у меня есть (map
- это двумерный массив):
using System;
namespace brancher
{
public class Bot
{
public int row = 0;
public int col = 0;
public void startRoutine ()
{
if (row != 3 && col != 3) {
if (Globals.map [row, col + 1] == 0) {
// This isn't right
Bot a = new Bot (row, col + 1);
}
if (Globals.map [row + 1, col] == 0) {
// This isn't right
Bot b = new Bot (row + 1, col);
}
}
if (row == 3 && col == 3) {
Globals.count++;
}
}
public Bot (int x, int y)
{
row = x;
col = y;
startRoutine ();
}
}
}
РЕДАКТИРОВАТЬ: Это не домашнее задание.Это вызов.Исправлены знаки равенства и заголовок.