|
1 / 1 / 0
Регистрация: 20.12.2021
Сообщений: 102
|
|
Консольные шахматы - не ходят пешки29.06.2023, 11:41. Показов 1811. Ответов 40
Метки нет (Все метки)
Всем добрый день, я продолжаю делать шахматы консольные шахматы, (прошлые темы Задача написать шахматы В продолжение к теме шахмат) вроде как написал но есть проблема, почему то не на доске не ходят пешки. По идее все должно работать корректно, сверялся с другими программами по шахматам. Моя функция пешек вроде бы рабочая. Потратил уже 4 часа на эту проблему. Кто-нибудь из форумчан не мог бы исправить её ? Кстати, заодно оцените мои шахматы, как вам реализация и т.д.
ссылка на мой гит. https://github.com/FrancMartin... roject.git Правила передвижение пешки я описал в pawn.cpp, а общие проверки соблюдения этих правил, в Gameplay.cpp, другие фигуры ходят нормально, просьба не давать мне советы, а решение, голова итак уже не работает ). Заранее спасибо.
0
|
|
| 29.06.2023, 11:41 | |
|
Ответы с готовыми решениями:
40
Шахматы. Найти возможные ходы коня, пешки и ладьи Написать консольные шахматы
|
|
2684 / 1343 / 483
Регистрация: 08.11.2016
Сообщений: 3,715
|
||
| 29.06.2023, 14:44 | ||
|
0
|
||
|
1 / 1 / 0
Регистрация: 20.12.2021
Сообщений: 102
|
|
| 29.06.2023, 14:51 [ТС] | |
|
Во первых сделать шахматы это моя курсовая работа и выбирать другую игру не вариант. (я студент). Во вторых я игру делаю поэтапно, сначала выводил доску, потом создавал классы и описывал в них фигуры, все это время я тестил и все работало, потом я описал gameplay,тут реализовал игровой процесс, то есть сначала мы вводим буквы, то есть наш ввод конвертируется в координаты. ну и потом просто идет проверка двух координат на шах, может ли фигура вообще так двигаться, и что фигура нужного цвета, а функция AlternateTurn просто сменяет ходы. Дальше я планирую ввести остальные правила, и если все работает, то убрать часть с выводом в консоль, и сделать 2д шахматы в отельном оконном приложении. Но сейчас я столкнулся с проблемой что пешки ВООБЩЕ не двигаются, и поэтому я пришел на этот форум, так как они должны двигаться и я надеялся что мне ПОМОГУТ С ЭТОЙ проблемой, а не с тем чтобы добавить сюда рокировку и т.д. какой смысл от рокировки, если слон элементарно выйти не может.
0
|
|
|
Комп_Оратор)
|
||
| 29.06.2023, 14:52 | ||
|
1
|
||
|
1 / 1 / 0
Регистрация: 20.12.2021
Сообщений: 102
|
|
| 29.06.2023, 14:55 [ТС] | |
|
Annemesski, короче я полностью перепишу pawn.cpp и pawn.h скорее всего функция ничего не возвращает и пешки стоят на месте
0
|
|
|
6260 / 2980 / 1050
Регистрация: 01.06.2021
Сообщений: 11,047
|
|
| 29.06.2023, 15:14 | |
|
IGPIGP, еще стоит добавить, что если король оказывается под шахом, а выбранная пешка не в состоянии перекрыть шах, равно как не может брать фигуру, которая атакует короля, то такую пешку нельзя передвигать.
Добавлено через 1 минуту MartinFrank, начните с изучения шахматных правил.
1
|
|
|
1 / 1 / 0
Регистрация: 20.12.2021
Сообщений: 102
|
|
| 29.06.2023, 15:30 [ТС] | |
|
Royal_X, я знаю шахматные правила мне не надо их учить.
0
|
|
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
|||||||
| 29.06.2023, 15:57 | |||||||
|
Добавлено через 15 минут Вот где ошибка:
Добавлено через 4 минуты На один шаг пешка сходила, на второй шаг - уже нет Дальше дебажить мне уже не охота, как-нибудь самостоятельно
0
|
|||||||
|
1 / 1 / 0
Регистрация: 20.12.2021
Сообщений: 102
|
|
| 29.06.2023, 16:45 [ТС] | |
|
понял, но я уже все стер и пишу заново, я нашел в инете как можно ходы по другому реализовать, более просто
0
|
|
|
Комп_Оратор)
|
|||
| 29.06.2023, 18:30 | |||
|
Добавлено через 45 секунд
0
|
|||
| 29.06.2023, 18:34 | ||
|
Не по теме:
Понять можно, поиски и все такое, но смысл вникать такие вопросы?
0
|
||
|
6260 / 2980 / 1050
Регистрация: 01.06.2021
Сообщений: 11,047
|
||||||
| 29.06.2023, 18:47 | ||||||
|
MartinFrank, сделай доску покрасивее, а то она у тебя не очень секси. Можно такую:
0
|
||||||
|
Комп_Оратор)
|
|
| 29.06.2023, 18:55 | |
|
Royal_X, он в консоли рубится. Как далёкие предки. Они не любили графические api. А я если бы решил наклепать доску для спарингов - уже и фигуры бы сделал. Из слоновой кости. Хотя слоников и жалко, но искуйство требует бивней.
1
|
|
|
6260 / 2980 / 1050
Регистрация: 01.06.2021
Сообщений: 11,047
|
||||
| 29.06.2023, 19:02 | ||||
|
Начальная позиция: rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1Реализовав FEN, потом очень легко можно проверить валидность позиции, а следовательно потенциального хода, т.к. в инете очень много примеров проверки валидности FEN строки. Т.е. ТС придумывать велосипед не нужно. Кроме того, с помощью FEN можно делиться позициями, а также передавать позицию шахматному движку. Добавлено через 3 минуты Ранее, в теме Задача написать шахматы я советовал ТС использовать GDI+ в связке с шахматным шрифтом, но он проигнорировал. Ну пусть консолится.
1
|
||||
|
Комп_Оратор)
|
||
| 29.06.2023, 19:04 | ||
|
1
|
||
|
6260 / 2980 / 1050
Регистрация: 01.06.2021
Сообщений: 11,047
|
||
| 29.06.2023, 19:07 | ||
|
1
|
||
|
Комп_Оратор)
|
||
| 29.06.2023, 19:23 | ||
|
1
|
||
|
6260 / 2980 / 1050
Регистрация: 01.06.2021
Сообщений: 11,047
|
|
| 29.06.2023, 19:35 | |
|
IGPIGP, самое обидное, что ради этих шахматистов рубят леса, а они жульничают. Так, недавно Карлсен Магнус высказался, что его соперник Ханс Ниманн использовал анальный вибратор, чтобы получать ходы дистанционно по азбуке Морзе. Убивают слонов ради анальной стимуляции...
1
|
|
|
Комп_Оратор)
|
||
| 29.06.2023, 19:43 | ||
|
То есть, фигуры из дерева, а скрытый приёмник - из бивня? Ну что же... Это гигиенично, функционально, и не пропагандирует убийство бедных слоников. Они там и пьют из пакетов, чтобы не пропагандировать алкоголь. Теперь любой их алкоголик как пакет увидит, - не выдерживает и сразу бежит в кабак. Независимо от того что в пакете было. Рефлекс. Но возвращаясь к шахматам, приходится признать снижение общего уровня интеллекта в пользу повышения усидчивости. Чем то же надо компенсировать облегчение головы... Ну хотя бы простатит им не грозит. Прости господи.
1
|
||
|
6260 / 2980 / 1050
Регистрация: 01.06.2021
Сообщений: 11,047
|
|
| 29.06.2023, 19:52 | |
|
MartinFrank, перед тем, как двигать тут или иную фигуру, вам нужно проверить:
- не окончена ли игра (не только мат и пат, но рассмотреть правило 50 ходов, правила троекратного и пятикратного повторения ходов) - может ли выбранная фигура ходить на выбранное поле или взять выбранную фигуру - если игрок пытается взять на проходе или сделать рокировку, то проверить возможность их осуществления - не находится ли король под шахом - также можно объявить автоничью, когда ничья очевидна по количеству тех или иных фигур на доске
0
|
|
|
1 / 1 / 0
Регистрация: 20.12.2021
Сообщений: 102
|
|
| 29.06.2023, 21:00 [ТС] | |
|
KSergey9, я уже все исправил, если интересно я скоро обновлю гит, и можете сравнить, если коротко просто немного переставил isMoved
Добавлено через 1 минуту Royal_X, да я знаю что доска не очень, я вообще шахматы 3д делаю, а это пока временно написал, вроде глаза не режет.
0
|
|
| 29.06.2023, 21:00 | |
|
Помогаю со студенческими работами здесь
40
Превращения пешки (Шахматы) Шахматы, проверка корректности хода пешки Готические Шахматы и Шахматы Януса Ходят по кругу мумии Через VPN не ходят DNS Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер.
Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
|
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта
Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
|
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром.
возможно получится прикрутить интерпретатор питон для кастомизации игровой логики.
что есть на текущий момент:. . .
|
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2.
Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
|
|
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|