3 / 3 / 0
Регистрация: 29.03.2023
Сообщений: 112
|
||||||
1 | ||||||
Проблема с симуляцией хода в шахматах21.05.2024, 01:28. Показов 1484. Ответов 38
Метки нет (Все метки)
Здравствуйте, столкнулся с проблемой.
Есть функция
0
|
21.05.2024, 01:28 | |
Ответы с готовыми решениями:
38
Отмена хода в шахматах Функция для определения правильности хода коня в шахматах Проблема с симуляцией прерываний в AVR Studio 4 Proteus + Mega16, проблема с симуляцией внешних прерываний Проблема с реализацией хода |
Вездепух
12802 / 6677 / 1797
Регистрация: 18.10.2014
Сообщений: 16,902
|
|
21.05.2024, 10:20 | 2 |
0
|
4271 / 2124 / 965
Регистрация: 01.06.2021
Сообщений: 7,319
|
|
21.05.2024, 10:24 | 3 |
объясните, что делает данная функция?
посмотрев на код, у меня появились некоторые догадки касательно предназначения этой функции, и если они верны, то вы пишете говнокод
0
|
3 / 3 / 0
Регистрация: 29.03.2023
Сообщений: 112
|
||||||
22.05.2024, 05:42 [ТС] | 4 | |||||
Royal_X, данная функция ищет возможность закрыться от шаха любой другой фигурой(кроме короля)
Вызывается в функции, которая делает проверку на мат
Когда на доске мат, то он не засчитывается, потому что эта функция находит ход, который может избавить от шаха.
0
|
4271 / 2124 / 965
Регистрация: 01.06.2021
Сообщений: 7,319
|
|
22.05.2024, 08:20 | 5 |
Сообщение от Faserty
0
|
3719 / 2648 / 761
Регистрация: 29.06.2020
Сообщений: 9,800
|
|
22.05.2024, 19:51 | 6 |
Тогда только рукопожатия.
Иногда доска верх-тормашками. У меня такого не было. Но я про такое слышал.
0
|
3 / 3 / 0
Регистрация: 29.03.2023
Сообщений: 112
|
|
23.05.2024, 22:00 [ТС] | 7 |
Royal_X, по сути эта функция и должна проверять есть мат или нет
если она не находит ход, то значит мат, но она каким-то волшебным образом его находит
0
|
4271 / 2124 / 965
Регистрация: 01.06.2021
Сообщений: 7,319
|
|
23.05.2024, 22:04 | 8 |
можешь объяснить (словами), как твоя функция работает? Вот, как ты проверяешь, есть ли мат или нет?
0
|
3 / 3 / 0
Регистрация: 29.03.2023
Сообщений: 112
|
|
23.05.2024, 22:14 [ТС] | 9 |
Royal_X, Допустим на доске Шах черным:
функция проверяет каждую черную фигуру на возможный ход, если этот ход избавляет от шаха, то возвращается true, если не избавляет, то возвращается false. Далее, если функция вернула true, то мат не засчитывается. Проблема возникла именного из-за того, что она находит "волшебный ход", который избавляет от шаха.
0
|
3719 / 2648 / 761
Регистрация: 29.06.2020
Сообщений: 9,800
|
|
23.05.2024, 22:17 | 10 |
А что это за жесть такая ???
Какой тип у pieces[i].pieceType и почему его величина сравнивается с isWhite ?
0
|
3 / 3 / 0
Регистрация: 29.03.2023
Сообщений: 112
|
|
23.05.2024, 22:20 [ТС] | 11 |
SmallEvil, тип фигуры сравнивается с очередностью хода(проверка на цвет)
Т.е. цвет игрока, который должен ходить сравнивается с типом фигуры (у белых тип положительный, у черных - отрицательный)
0
|
3719 / 2648 / 761
Регистрация: 29.06.2020
Сообщений: 9,800
|
||||||
23.05.2024, 22:27 | 12 | |||||
Ну ладно.
А почему вы просто в наглую перетаскиваете фигуру, не глядя, может ли она туда пойти или нет ? В функции canMoveRemoveCheck
0
|
3 / 3 / 0
Регистрация: 29.03.2023
Сообщений: 112
|
||||||
23.05.2024, 22:30 [ТС] | 13 | |||||
SmallEvil, я позже отредачил код и добавил проверку на возможность хода
0
|
1123 / 235 / 37
Регистрация: 15.03.2010
Сообщений: 724
|
|
23.05.2024, 22:37 | 14 |
Сгенерируй все легальные ходы в позиции. Дальше проверь, если легальных ходов 0 и король под шахом это мат, если шаха нет это пат. Если легальные коды есть, то игра продолжается.
0
|
4271 / 2124 / 965
Регистрация: 01.06.2021
Сообщений: 7,319
|
|
23.05.2024, 22:40 | 15 |
ты уверен, что перебор возможных ходов осуществляется правильно? возможно, во время перебора выполняется нелегальный ход из-за какого-нибудь бага
0
|
3 / 3 / 0
Регистрация: 29.03.2023
Сообщений: 112
|
|
23.05.2024, 22:42 [ТС] | 16 |
Royal_X, а вот об этом я не подумал
SlavaRus, а подскажете как? т.е. что значит "легальные ходы"?
0
|
459 / 246 / 15
Регистрация: 29.10.2014
Сообщений: 1,079
|
|
23.05.2024, 22:47 | 17 |
0
|
4271 / 2124 / 965
Регистрация: 01.06.2021
Сообщений: 7,319
|
|
23.05.2024, 22:48 | 18 |
Faserty, ты же сам сказал, что если находится ход, спасающий от мата, то выдает true. Если же мат в реальности есть, но у тебя true, то значит найденный ход нелегальный. А это означает, что проверка на легальные ходы у тебя глючная.
0
|
3 / 3 / 0
Регистрация: 29.03.2023
Сообщений: 112
|
|
23.05.2024, 22:52 [ТС] | 19 |
commun, toIndex не должна быть константой это универсальная переменная.
По сути "делается" ход, потом его "конечная точка" становится "начальной" и записывается в toIndex
0
|
4271 / 2124 / 965
Регистрация: 01.06.2021
Сообщений: 7,319
|
|
23.05.2024, 22:53 | 20 |
Faserty, чёт я уверен, что у тебя реализована "детская" проверка на легальность ходов, без учета всяких рокировок, взятий на проходе, превращений пешек, правила 50 ходов, троекратного повторения, проверки на пат...
ты хотя бы взятия учитываешь? или у тебя легальность хода проверяется всего лишь занятостью поля?
0
|
23.05.2024, 22:53 | |
23.05.2024, 22:53 | |
Помогаю со студенческими работами здесь
20
Проблема определения правильности хода конем Обнулить клетку начала хода, и перезаписать шашку в клетку конца хода. Темп хода часов на движущемся объекте и темп хода часов стороннего наблюдателя зависят от скорости движения объекта? Не сходится решение задачи по законам Кирхгофа с симуляцией в Мультисим и Матлаб Рокировка в шахматах Кандибобер в шахматах Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке
В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
|
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
|
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins
В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
|
Как написать микросервис на Go/Golang с Kafka и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang
Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
|
Как написать микросервис с нуля на C# с RabbitMQ, CQRS и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
|
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
|
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
|
Как создать игру "Танчики" на Unity3d и C#
InfoMaster 14.01.2025
Разработка игр – это увлекательный процесс, сочетающий в себе творчество и технические навыки. В этой статье мы рассмотрим создание классической игры "Танчики" с использованием Unity3D и языка. . .
|
Организую платный онлайн микро-курс по доработке Android-клиента Telegram
_Ivana 14.01.2025
Официальная версия и распространенные форки не полностью устраивают? Сделай свою кастомную версию клиента!
4 занятия по 2 часа (2 недели пн, ср 19:00-21:00 по Москве).
Первое вводное занятие. . .
|
Как создать приложение для фитнеса для iOS/iPhone на Kotlin
InfoMaster 14.01.2025
Создание собственного фитнес-приложения — это не только захватывающий, но и полезный процесс, ведь оно может стать вашим верным помощником на пути к здоровому и активному образу жизни. В современных. . .
|
Как создать приложение магазина для iOS/iPhone на Swift
InfoMaster 14.01.2025
Введение в разработку iOS-приложений
Разработка приложений для iPhone и других устройств на базе iOS открывает огромные возможности для создания инновационных мобильных решений. В данной статье мы. . .
|
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution https:/ / www. cyberforum. ru/ blogs/ 223907/ blog8781. html прилагаю файл архива проекта в Gowin Eda. Восьмибитный счётчик из сумматора+ генератор сигнала. . .
|