|
Не могу понять в чем проблема
|
|||
---|---|---|---|
#18+
Пишу редактор для игры сокобан, созданную мною ранее, и сейчас хочу, чтобы при создании нового проекта, генерировался проходимый уровень. Ящики я расставляю таким способом: int Stena = 60; for (int x = 0; x < 16; x++) { for (int y = 0; y < 14; y++) { Random r = new Random(); int r1 = r.Next(3); System.Threading.Thread.Sleep(10); if (r1 == 0) { if (myArr[x, y] != 1) { if (Stena != 0) { GameZone[x, y].Load(way[1]); myArr[x, y] = 1; } } } } } Где: Stena - Это макс кол-во расставленных ящиков r1 - это шанс поставить ящик myArr - это интовый двумерный массив, который я пользую одновременно с GameZone(пикчер бокс массив) (myArr это логика, GameZone - отображение) Все работает, стены расставляются, дальше надо ставить ящики, пользую такой код: int yashik = 4; while (yashik != 0) { for (int x = 0; x < 16; x++) { for (int y = 0; y < 14; y++) { Random rt = new Random(); int re = rt.Next(5); System.Threading.Thread.Sleep(10); if (re == 1) { if ((myArr[x + 1, y] != 1 && myArr[x - 1, y] != 1) || (myArr[x, y + 1] != 1 && myArr[x, y - 1] != 1)) { if (myArr[x + 1, y + 1] != 1 || myArr[x - 1, y - 1] != 1 || myArr[x - 1, y + 1] != 1 || myArr[x + 1, y - 1] != 1) { GameZone[x, y].Load(way[4]); myArr[x, y] = 4; yashik--; } } } } } } Все по аналогии, нужно расставить 4 ящика, и программа перематывает всю карту в поисках нужного места, но тут происходит следующее: когда я прохожу с отладкой 2 кусок кода, она проходит 2 круга, начиная заного со второго условия, и на 2 раз студия сворачивается, включается форма и все, больше не чего не происходит. Что мне делать? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2015, 18:56 |
|
|
start [/forum/topic.php?fid=20&fpage=86&tid=1401583]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
98ms |
get tp. blocked users: |
2ms |
others: | 326ms |
total: | 490ms |
0 / 0 |