|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
18.09.2016, 18:00 | #1 |
Пользователь
Регистрация: 18.09.2016
Сообщений: 30
|
Не работает код (С#)
Здравствуйте.
На данном этапе я изучаю программирование для себя. И для закрепления знаний я решил написать известную игру Сапер, но в консоли. Игра написана, основные функции работают. Но вот уже второй день все никак не могу написать последнюю и завершающую: надо, чтобы при попадании в пустую клетку открывались все пустые клетки, стоящие "впритык" к этой, а также все цифры, к которые примыкают ко всем открывшимся пустым клеткам (думаю, любители этой игры меня поняли). Сам код для этого написан, но он почему-то работает криво, и я не могу понять, почему. Сразу говорю – кода много. И я буду благодарен всем, кто попытается хотя бы вникнуть в суть проблемы. Код целиком я здесь разместить не могу, т.к. в итоговом сообщении у меня получилось 24209 символов вместо 8000. Поэтому прилагаю текст и ссылку на pastebin (извиняюсь за немного мусора в нем – это из-за постоянной отладки): http://pastebin.com/LYjz1MAD На данным момент программа при попадании в пустую клетку только умеет открывать клетки в радиусе одно клетки. Итак, что в коде отвечает за поиск нулевых клеток, и как это должно работать по задумке? Все начинается с функции CheckZeros(int x, int y) Код:
Код:
Она просматривает квадрат 9х9, в центре которого находится нажатая клетка. Все клетки приравниваются к значению, которое на карте, которой является массив char map[,], обозначаются нулевые клетки (около которых нет мин, обозначаются на карте символом Convert.ToChar(Convert.ToString(0))) Все подходящие значения добавляются в список zeros (сначала координата х, потом у). Так же прибавляется двойка к счетчику (почему двойка - для удобства, дальше будет понятно). Потом запускается функция ZeroSubstitution() Код:
Но на практике эти функции начинают добавлять значения в список zero и счетчик zeroPoints бесконечно. Чтобы лучше понять их работу, я немного изменил код: Часть главной программы: Код:
Код:
Лично меня эта программа уже сильно измотала, и сил на новые идеи и попытки решения уже нет. Поэтому я прошу помощи у коллективного разума |
18.09.2016, 20:03 | #2 |
Участник клуба
Регистрация: 14.05.2016
Сообщений: 1,793
|
Так что? Ты узнал как запустить ОТЛАДКУ? Как смотреть значения переменных?
А ведь это поможет тебе найти все свои ошибки (не только теперешние, но и те, что будут в будущем). Лучше говорить как есть. В принципе, если хочешь, я мог бы сделать небольшое видео (или дать ссылку на уже имеющиеся в интернет) как пользоваться ОТЛАДКОЙ. Но, напомню, у меня Microsoft Visual Studio 12.0 и устанавливать что-то другое ради 5-мин видео или ответа на один-два вопроса нецелесообразно. Последний раз редактировалось ura_111; 18.09.2016 в 20:06. |
18.09.2016, 20:11 | #3 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Ничего что он сказал, что умеет ей пользоваться?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
18.09.2016, 20:16 | #4 |
Участник клуба
Регистрация: 14.05.2016
Сообщений: 1,793
|
Он не умеет ей пользоваться.
Под фразой: "...простите за этот мусор, связанный с отладкой..." Он имел ввиду: 0.jpg Вывести значения переменных на экран. Такая "ОТЛАДКА" слишком медленная и не удобная. p.s.: в действительности я могу и ошибаться. Я реально только учусь и шарп пока не знаком (хотя многое тоже самое что и С++). Последний раз редактировалось ura_111; 18.09.2016 в 20:30. |
18.09.2016, 20:28 | #5 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Ну отладка это не только использование отладчика
И бывает вывод удобнее. Про отладчик он писал и что скорее всего подразумевает, что отладчиком он пользовался, только не знал о (не самой важной) фиче просмотра значений по наведению мыши.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
18.09.2016, 20:36 | #6 |
Участник клуба
Регистрация: 14.05.2016
Сообщений: 1,793
|
Ковер, у тебя Microsoft Visual Studio 2015?
Я пытался у себя установить, но запорол всю систему и поэтому пришлось всё перестанавливать (так и не разобрался что случилось)... А вот версия 2013 установилась без проблем. Ковер, у тебя русифицированная версия или английская? |
18.09.2016, 20:46 | #7 |
Пользователь
Регистрация: 18.09.2016
Сообщений: 30
|
Спасибо за ответы. Я в самом деле не знал, что можно узнать во время пошаговой отладки значения переменных с помощью наведения на них. Сейчас вот проверил в программе. Действительно, очень удобно и полезно. А скриншот в том числе для того, чтобы было видно, что там происходит по ходу выполнения программы.
Последний раз редактировалось Ковер; 18.09.2016 в 20:52. |
18.09.2016, 21:00 | #8 | |
Пользователь
Регистрация: 18.09.2016
Сообщений: 30
|
Цитата:
|
|
18.09.2016, 21:14 | #9 |
Участник клуба
Регистрация: 14.05.2016
Сообщений: 1,793
|
Я особо пока не вдовался в твою программу, скажи:
1) Ты работаешь в консоли, а что такое: "... при нажатии кнопки NumPad0 ..."? 2) Сегодня я устал и мне лень разбираться в таком большом коде... Ковер, ты можешь сделать небольшое видео "где ошибка и что не получается"? Какое-то простенькое (из серии фоток-скриншотов). Такое видео можно выложить здесь или разместить на ютубе. Там, кстате есть и простенькие видеоредакторы. |
22.09.2016, 10:31 | #10 |
Пользователь
Регистрация: 18.09.2016
Сообщений: 30
|
ura_111
Спасибо за заинтересованность. Я тут после некоторой паузы сел за код и понял, в чем проблема. Немного исправил – программа начала искать клетки вокруг. Но не совсем правильно. Почему все происходит именно так, я не понял – слишком запутанно и нелогично она себя ведет. Начал переписывать код... и грядут новые темы с новыми вопросами P.S. модератор, могу ли я закрыть тему самостоятельно? Последний раз редактировалось Ковер; 22.09.2016 в 10:36. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не работает код!!! | Hattak | HTML и CSS | 6 | 15.04.2016 09:41 |
Не работает код | sergeant94 | БД в Delphi | 11 | 19.06.2013 13:53 |
не работает код | Кинельски | Общие вопросы Delphi | 1 | 26.10.2011 20:26 |
Не работает код | hello19 | Общие вопросы C/C++ | 11 | 08.08.2011 16:08 |