А у кого есть опыт в написании шахмат?)))

топ 100 блогов xcontcom30.05.2017 А у кого есть опыт в написании шахмат?)))

Сегодня утром проснулся и понял, что ни разу не пробовал написать шахматы. Ну и начал писать. Ну и, к тому же, на одном форуме прочитал, что метод Монте-Карло не всякий программист сможет осилить. Воспринял это как вызов.


От объектно-ориентированного отказался сразу. Долго объяснять не буду.
Полгода назад, на одном форуме, возник спор на тему самоорганизации в динамических системах. Одну из таких систем хочу смоделировать на шахматном поле. Для этого нужны массивы.

Намудрил. Сейчас перефразирую. Необходимо рассматривать отдельную позицию как состояние системы, без привязки к предыдущим позициям. Если пихать фигуры в объекты, как определить, какому из объектов соответствуют вот эти две белые пешки справа. Или ладья.
А у кого есть опыт в написании шахмат?)))

Доску инициализировал в виде трехмерного массива:

А у кого есть опыт в написании шахмат?)))

i и j - горизонталь и вертикаль. k - фигура:
0, 6 - король (белый, черный)
1, 7 - ферзь
2, 8 - ладья
3, 9 - слон
4, 10 - конь
5, 11 - пешка

Довольно удобно получилось. В нужном месте вызываем board[y][x].indexOf(1); чтобы узнать, какая фигура находится в указанной клетке (если возвращает -1 - клетка не занята).

Написал интерфейс, чтобы фигуры можно было двигать: http://xcont.com/chess/ (ну да, можно первым же ходом, любой фигурой, короля противника слопать)))

А вот как фигуры ходят - с этим возникла проблема. Начал с короля, сделал проверку, чтобы он ходил не дальше, чем на одну клетку:

А у кого есть опыт в написании шахмат?)))

И тут затормозил. Надо проверять, находится ли клетка, в которую ходим, под ударом. Написал пока только коней - получилась какая-то жесть.

Как лучше сделать? Вот тупо все проверки клеток "под ударом" свалить сюда к королю, или выделить отдельную матрицу, в которой отметить, какие клетки находятся под ударом. А точнее, какое количество фигур бьет определенную клетку. Ну и сдвигая фигуру, переписывать эту матрицу.



Оставить комментарий

Предыдущие записи блогера :
Архив записей в блогах:
фото из дружественной комунны Ирак_авто или Ишак_авто ,я не понял там ни парусске написяна... он у них что то вроде нашева Веталека ога, назаднем плане ихнее Пасторское... пы.сы. тоже в васкресенье сабираюцца. ну и чтоп 2 раза не вставать ...
Я конечно против водителей, разъезжающих по тротуарам и паркующих машины прямо на дороге, но во Владивостоке, по-моему, несколько другая ситуация – парковаться просто негде (реально негде). Первая акция Владивостокского отделения ...
 На сегодняшний день согласно российским СМИ  СК РФ молчит по поводу убийства уголовниками, пардон,  вагнеровцами российского гражданина Нужина или инсценировки этого убийства.  С другой стороны, господин Пригожин сначала похвалил видео, а сейчас обратился ...
Я уже давно отношусь с иронией по поводу обвинений в свой адрес, мол, тру́сы, боятся взять в руки оружие и навести в стране порядок. Мол, просрали свою страну, а теперь сидят на диване и вякают, как им трудно живется… Сами ничего не делают, всё на Россию надеются, что их кто-то придет и ...
Возрастающая популярность автомобильной техники из Китая особо отчетливо прослеживается в сегменте малотоннажной техники. Среди автопроизводителей Поднебесной, которые год за годом победоносно осваивают новые рынки, наиболее перспективным и востребованным остается бренд Faw, являющийся ...