0 / 0 / 0
Регистрация: 29.04.2014
Сообщений: 185
|
||||||
1 | ||||||
Крестики Нолики. Где-то ошибка23.06.2014, 18:38. Показов 1437. Ответов 15
Метки нет (Все метки)
Тихо едет не спеша, крыша шифером шурша.
В общем. Надо чтоб было игровое поле 3х3. Изначально заполнено каким то символом. Игрок 1 вводит координаты - строка/столбец ячейки. Игрок 1 вводит символ +/0. Программа проверяет и матюкается если он ввел не свой символ. Рисуем поле. Все ячейки кроме введенных заполенны по умолчанию, какимто символом. Выбраная игроком ячейка заполнена + или 0. Игрок 2 выбирает координаты и ставит символ. Консоль обнуляется и выводиться новый рисунок игрового поля с учетом внесенных изменений по игровым символам.
ПРошу указать на ошибку а не давать решение задачи. Сам решить хочу. Спасибо)
0
|
23.06.2014, 18:38 | |
Ответы с готовыми решениями:
15
Ошибка в програме Крестики-нолики Игра Крестики-Нолики (Ошибка в коде) Крестики нолики Крестики нолики |
1296 / 469 / 151
Регистрация: 24.08.2011
Сообщений: 2,249
|
||||||
23.06.2014, 19:04 | 2 | |||||
вообще по сути-то зачем игрок должен вводить свой значок? игрок №1 ставит допустим крестик, игрок №2 ставит нолик. зачем у них еще это спрашивать, если и так понятно кто что ставит? за исключением того, что можно было бы сделать красивее и рациональнее, и не разбивать функции на 2 (чтение строки и столбца - фактически одна функция), вроде норм, но в майне ничего не делается, так что ошибки и не можеть быть пока что допиши майн, посмотрим
0
|
Master of Orion
|
|
23.06.2014, 19:05 | 3 |
MMt, а вопрос-то, где вопрос?
Устраняйте дублирование (например, последние 2 метода можно легко объединить в один, и не только их). Меньше дублирования - меньше шансов совершить ошибку
1
|
31 / 31 / 32
Регистрация: 21.06.2014
Сообщений: 81
|
|||||||||||
23.06.2014, 19:08 | 4 | ||||||||||
Идея у Вас правильная, логика хромает. В любом случае тяжело оценивать только несколько функций, которые только написаны и не используются.
Зачем при ходе вводить символ, ведь в крестиках-ноликах первый игрок всегда ставит 'X', а второй 'О'.
А вот как раз сами крестики и нолики логичнее сделать буквами 'X' и 'O' - в отличии от варианта '+' и '0' - буквы имеют одинаковую ширину и высоту и будут выглядеть аккуратнее.
0
|
Master of Orion
|
||||||
23.06.2014, 19:37 | 5 | |||||
Вот мое виденье, в плюсах я не очень шарю, так что просьба не бить ногами
Кликните здесь для просмотра всего текста
0
|
76 / 71 / 55
Регистрация: 17.05.2014
Сообщений: 301
|
|
23.06.2014, 20:16 | 6 |
MMt, хочу узнать, а зачем игроку нужно вводить свой символ и что бы программа проверяла? Достаточно ввести проверку на корректные координаты, а уж какой символ вписать, программа сама поймет
0
|
0 / 0 / 0
Регистрация: 29.04.2014
Сообщений: 185
|
|
23.06.2014, 20:44 [ТС] | 7 |
да. блин я и в самом деле слишком заумно все делаю. хочу как понавороченней.
0
|
76 / 71 / 55
Регистрация: 17.05.2014
Сообщений: 301
|
|
23.06.2014, 21:01 | 8 |
MMt, сделайте тогда не ввод координат ячейки, а некий прицел, который будет перемещаться стрелочками с клавиатуры (подобие курсора мыши)
0
|
0 / 0 / 0
Регистрация: 29.04.2014
Сообщений: 185
|
|||||||||||
23.06.2014, 23:38 [ТС] | 9 | ||||||||||
потом. сделаю когда разберусь с логикой от рисовки и ввода с координат.
Добавлено через 13 минут Промежуточный вариант. Сейчас буду дописывать очищение консоли и возможно выбор ячейки с помощью курсора. Есть замечания по логике или коду?
решил сделать проверку на победу или поражение. правльная логика? или я снова "мудрю"
0
|
Master of Orion
|
||||||
24.06.2014, 00:20 | 10 | |||||
MMt, дублирование, плохо. Удаляйте
Не хвастаюсь,просто посмотрите мой вариант, там дублирования нет или практически нет. Просто оцените, что можно вынести в отдельные функции, а то вот это например:
0
|
Модератор
8909 / 6678 / 918
Регистрация: 14.02.2011
Сообщений: 23,523
|
||||||
24.06.2014, 00:31 | 11 | |||||
с символами удобней работать человеку машине удобней работать с числами посему делай как ей удобней, ей же считать например в пустых клетках 0 если нолик то -1 если крестик то 1 твоя проверка сведется к обычному сложению
0
|
Master of Orion
|
|
24.06.2014, 01:20 | 12 |
ValeryS, посмотрите мой вариант, там еще проще Не надо перебирать все варианты. Достаточно просто посмотреть текущую строку и столбец матрицы. Мы можем победить, только поставив крестик (или нолик) в какую-то ячейку, причем эта проставленная ячейка будет частью победной строки или стролбца (или ничья).
0
|
Модератор
8909 / 6678 / 918
Регистрация: 14.02.2011
Сообщений: 23,523
|
|
24.06.2014, 07:19 | 13 |
ну, так и в живую так жу
или ты имеешь ввиду цикл использовать? это так скажем второй слой подсказок или что я использовал -1 и 1,? ну это один из вариантов решения, причем лежавший на поверхности не проще ли использовать здесь тип bool тогда будет более оправдано да и здесь можно цикл использовать
0
|
Master of Orion
|
|
24.06.2014, 22:35 | 16 |
ValeryS, да путаюсь в них
0
|
24.06.2014, 22:35 | |
24.06.2014, 22:35 | |
Помогаю со студенческими работами здесь
16
Крестики нолики 10 на 10 Крестики нолики Крестики-нолики крестики-нолики Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |