|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.06.2016, 18:22 | #1 |
Пользователь
Регистрация: 16.08.2015
Сообщений: 40
|
Шахматы, шашки JS
Здравствуйте. Перерыл много страниц в гугле и не нашел ничего дельного (кроме большого недокументированного кода) на тему создания шахмат или шашек на JS.
Обращаюсь сюда, ибо этот форум последний бастион надежды. Я обладаю некоторыми навыками и начертить шахматное поле и заставить двигаться фигуры по координатам и определенным правилам я могу. Я не понимаю, как заставить компьютер играть против меня. Чтобы он не рандомом херачил пешка-дама-пешка-конь, а чтобы у него присутствовала пусть самая низкая элементарная,но логика. Стратегия чтоли какая то. Может, кто нибудь скинет документированный код простеньких шахмат или шашек? Спасибо. |
06.06.2016, 21:16 | #2 |
юзер как все
Участник клуба
Регистрация: 10.01.2012
Сообщений: 1,586
|
Я к сожаление не имею такой документации. Но это уже уровень по выше чем 1+1 как вы и сами понимаете!
А что-бы компьютер ходил как человек. Он должен думать как человек, пускай очень узко, но все-так. Нужно не мало вложить в программу логики. Если не брать во внимание "Искусственный Интеллект", то нужно логическими цепочками описать все приоритеты и вообще все. Да и правила тоже нужно знать на отлично. Вот как пример. Человек походил. И теперь как-бы компьютер не пощел, он в любом случае потеряет одну из фигур. Даму или пешку. Человек сразу скумекает в такой ситуации и отдаст пешку что-бы спасти даму. А программе все это нужно объяснить, заложить в нее так сказал. =) Это классно, что вы бросили такой вызов самому себе. =) Опыт тот еще. Удачи!
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
|
06.06.2016, 22:02 | #3 |
Пользователь
Регистрация: 16.08.2015
Сообщений: 40
|
Кода нет. Но вы держитесь, всего хорошего, счастья, удачи!
Так чтоли?)) |
06.06.2016, 22:04 | #4 |
юзер как все
Участник клуба
Регистрация: 10.01.2012
Сообщений: 1,586
|
Дак мне его за вас написать ?
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
|
06.06.2016, 22:09 | #5 |
Пользователь
Регистрация: 16.08.2015
Сообщений: 40
|
Нет! Так не интересно!
|
06.06.2016, 22:18 | #6 |
юзер как все
Участник клуба
Регистрация: 10.01.2012
Сообщений: 1,586
|
А в чем проблема ?
Было-бы желание. Люди в лохматые года писали шахматы еще под пленочные кассеты. Небыло у них ни гугла ни хрена. Только желание. http://www.programmersforum.ru/showthread.php?t=216544 Шахматы на чистом sed / Хабрахабр https://habrahabr.ru/post/191006/ Как компьютеры играют в шахматы / Geektimes https://geektimes.ru/post/51076/ Некоторые идеи написания искуственного интелекта для шахмат https://geektimes.ru/post/111210/ Шахматы / Geektimes https://geektimes.ru/post/50911/ Исходники GNU Chess http://ftp.gnu.org/gnu/chess/
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
Последний раз редактировалось pompiduskus; 06.06.2016 в 22:21. |
06.06.2016, 22:30 | #7 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,544
|
Писал давным-давно игру Русские шашки, правда на Делфи. Используется минимаксный поиск с отсечениями и сортировкой узлов. Для улучшения качества игры можно еще и эндшпильные базы генерировать. В принципе все это ничего сложного из себя не представляет. Причем к данному алгоритму я пришел самостоятельно будучи еще школьником, а про его существование узнал только на первом курсе универа. Это говорит не о том, что я генеальный программист, а о том, что алгоритм вполне себе очевидный.
Если вкратце, то суть следущая: генерируем все возможные ходы для себя, делаем первый ход, в ответ генерируем все ходы для противника, делаем им первый ход и т.д., потом второй ход... Так продвигаемся вперед по игре по всем возможным сценариям развития и смотрим куда приведет тот или иной ход. Каждый раз выбираем лучший для текущего игрока ход (худший для противника). Учитывая, что просмотреть придется очень много комбинаций, то есть ограничения, мы не можем дойти до конца игры от самого начала. А значит комп играет хорошо, но не идеально. Эксперименты показали, что реально за примерно минуту раздумий просмотреть около миллиарда комбинаций. Показатель зависит, конечно, от скорости работы ЦП, от оптимизации кода, можно даже разбить на несколько потоков, что актуально для многоядерных ЦП (в случае JS на это можно забить, да и вообще на JS такие вещи не делают, вычислительная сложность слишком высокая). Таким образом компьютер предвидет игру наперед примерно на 14-15 полуходов (полуход, это ход одного игрока, полный ход - когда ходит игрок, затем в ответ ходит противник). E-Mail: arigato.freelance@gmail.com
Последний раз редактировалось Arigato; 06.06.2016 в 22:34. |
06.06.2016, 22:32 | #8 |
Пользователь
Регистрация: 16.08.2015
Сообщений: 40
|
Вооот. Парочка новых ссылок никогда не повредит. Спасибо
О майн гад. Кажется я понял то, что прочитал. Пожалуй попробую на основе этого запилить их на js Последний раз редактировалось Arigato; 06.06.2016 в 22:41. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
шашки | bpystep | Помощь студентам | 3 | 19.05.2012 23:23 |
ШАШКИ | tanyuxxxa | Помощь студентам | 9 | 25.04.2012 20:31 |
Подскажите пожалуйста нормальный шашки и шахматы | Mr.Qwerty | Софт | 6 | 22.08.2009 03:26 |
шашки | alex(21) | Паскаль, Turbo Pascal, PascalABC.NET | 9 | 19.08.2009 23:39 |
Шашки на C/C++/C# | w00tz | Помощь студентам | 0 | 13.04.2009 22:56 |