|
7 / 7 / 1
Регистрация: 22.12.2012
Сообщений: 173
|
|
Расстановка мин в игре "Сапёр"03.07.2013, 19:28. Показов 18511. Ответов 13
Метки нет (Все метки)
Я делаю игру "Сапер" (точнее уже сделал, теперь исправляю найденные ошибки и баги)
Вот один из них, сам справиться не могу... Как известно мины в игре расставляются после первого хода, поэтому проиграть на первом ходу нельзя. То есть первой должна открыться клетка без мины. Но вопрос - это обязательно должна быть пустая (кол. соседних мин равно нулю) или может быть клетка с цифрой? Сколько не пытался мучить виндовский сапер, кажется что первой должна быть полностью пустая клетка. Тогда как расставить мины на поле если количество мин очень большое так чтоб первой оказалась пустая клетка? У меня в программе мины расставляются случайно пока не будут в подходящей позиции (т.е. пока клетка выбранная пользователем не станет пустой). Но когда мин очень много, этот цикл тупо зависает, т.к. найти полностью пустую клетку почти нереально. В такой ситуации единственный выход - расставить мины вокруг выбраной клетки в порядке (см. рисунок) Но так как в моей программе они расставляются рандомно, то в такой ситуации оно тупо зависает. Уже есть рабочая игра, всё супер. Вот только при большом количестве мин на первом клике вылетает ошибка. Что подскажите?
0
|
|
| 03.07.2013, 19:28 | |
|
Ответы с готовыми решениями:
13
Всевозможные расположения мин (сапер)
|
|
Почетный модератор
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
|
|
| 03.07.2013, 19:45 | |
|
gorus95, а у меня с первого запуска виндовского сапера открылась с цифрой клетка
и со второго, и с третьего ... везет ![]() ---
0
|
|
|
7 / 7 / 1
Регистрация: 22.12.2012
Сообщений: 173
|
|
| 03.07.2013, 20:04 [ТС] | |
|
уже разобрался.
сделал генератор случайных чисел, который исключает числа с заданного квадрата. Добавлено через 28 секунд КонецСвета, оО я раз 60 запускал з большим количеством мин... не может быть... у вас точно семерка?
0
|
|
|
Почетный модератор
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
|
|
| 03.07.2013, 20:16 | |
|
не.. у меня XP )
0
|
|
|
7 / 7 / 1
Регистрация: 22.12.2012
Сообщений: 173
|
|
| 03.07.2013, 22:55 [ТС] | |
|
КонецСвета, я то думаю)
так как по правилах? вроде должно пустую открывать... иначе нам первый ход практически ничего не дает.
0
|
|
|
Почетный модератор
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
|
||
| 03.07.2013, 23:14 | ||
|
не удалось найти ответ на вопрос "как правильно" )
зато попалась интересная вещь:
0
|
||
|
7 / 7 / 1
Регистрация: 22.12.2012
Сообщений: 173
|
|
| 04.07.2013, 16:37 [ТС] | |
|
UI, Ничего не понимаю. Уже несколько дней занимаюсь этим. Беру максимальное количество мин для данного поля. Еще ни разу не попал на число с первого хода...
0
|
|
|
Супер-модератор
|
||
| 04.07.2013, 17:16 | ||
|
gorus95,
0
|
||
|
28 / 19 / 16
Регистрация: 09.12.2009
Сообщений: 135
|
|||||||||||
| 20.09.2013, 14:20 | |||||||||||
|
Не хочется создавать новую тему, да и эта еще относительно свежая.
Помогите, пожалуйста! Решил немного побаловаться и также сделать сапера консольную версию, да только застрял с открытием свободного поля. В программировании я относительный нуб, и у меня плохо с рекурсивными функциями. В общем-то, пытаюсь делать вот такую процедуру:
Я запихиваю руки в попу и делаю так:
Собственно, вопрос. Как можно выпрямить руки? -) Если необходимо, скину кривопопый код программы. Заранее благодарю за помощь.
0
|
|||||||||||
|
28 / 19 / 16
Регистрация: 09.12.2009
Сообщений: 135
|
|
| 22.09.2013, 00:24 | |
|
UPхDoublePost.
После долгих усилий, поисков, чтения литературы, сумел выяснить, что я делал не так с процедурой. Однако, эта рекурсия все равно забивает память до отказа при количестве пустых ячеек больше пяти. Подскажите, пожалуйста, как можно освобождать память?
0
|
|
|
0 / 0 / 0
Регистрация: 29.06.2021
Сообщений: 1
|
|
| 29.06.2021, 20:53 | |
|
Есть приложение в Microsoft Store, называется "Portable Puzzle Collection" в нём куча различных головоломок, и там есть сапёр. Он ни как не позволяет допустить такое, чтобы возле первой открытой ячейки была мина: то есть первая ячейка всегда пустая. Возможно, это новая штука в новых версиях сапёра.
0
|
|
|
|
||||||
| 30.06.2021, 01:11 | ||||||
|
Кликните здесь для просмотра всего текста
Зачем поднимать тему 2013 года?
1
|
||||||
|
|
||||||
| 30.06.2021, 09:47 | ||||||
|
Чтобы первая клетка была без мины и без цифры:
1
|
||||||
| 30.06.2021, 09:47 | |
|
Помогаю со студенческими работами здесь
14
Расстановка мин в игре "Сапер" "Сапер": расстановка мин вручную перед началом игры Сапер. Перестановка мин Самостоятельная расстановка мин в сапере Сапер. Открытие клеток без мин Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга,
Ты же видел моря и метели.
Как сменялись короны и стяги,
Как эпохи стрелою летели.
- Этот мир — это крылья и горы,
Снег и пламя, любовь и тревоги,
И бескрайние. . .
|
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1
У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\
А в самом низу файла-профиля. . .
|