Форум программистов, компьютерный форум CyberForum.ru

Шахматы, ход ферзем - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
ovner
7 / 7 / 0
Регистрация: 06.10.2012
Сообщений: 140
15.06.2013, 02:37     Шахматы, ход ферзем #1
Здраствуйте! Подскажите пожалуйста как запрограммировать ходы ферзя на шахматной доске? Он должен ходить по координатах Х,У и по диагонале.
Ну и если не тяжело обьясните так же о коне.

Добавлено через 1 час 23 минуты
апну
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2013, 02:37     Шахматы, ход ферзем
Посмотрите здесь:

C++ Шахматы
C++ Шахматы
шахматы C++
Шахматы C++
C++ Удары ферзем по фигурам!!!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,397
15.06.2013, 03:01     Шахматы, ход ферзем #2
Что выступает шахматной доской?
Допустим он стоит в точке A (xa, ya)
он может перейти в точку, если xa или ya совпадают, а другой параметр меняется, либо, если он попадает в некую точку M(xm, ym), такую, что xm-xa == ym-ya либо xm-xa == -(ym-ya)
ovner
7 / 7 / 0
Регистрация: 06.10.2012
Сообщений: 140
15.06.2013, 14:44  [ТС]     Шахматы, ход ферзем #3
Шахматной доской выступает двумерный массив 8х8.
Ternsip
 Аватар для Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
15.06.2013, 19:11     Шахматы, ход ферзем #4
вот так :
C++
1
2
3
4
5
6
int x[8] = {0, 0, 1, -1, 1, 1, -1, -1};
int y[8] = {1, -1, 0, 0, 1, -1, 1, -1};
int dir = 0..7;
int len = 1..8;
int newx = xold + x[dir] * len;
int newy = yold + y[dir] * len;
(псевдокод)
ovner
7 / 7 / 0
Регистрация: 06.10.2012
Сообщений: 140
15.06.2013, 20:17  [ТС]     Шахматы, ход ферзем #5
спасибо, а какой алгоритм хода для коня?
Yandex
Объявления
15.06.2013, 20:17     Шахматы, ход ферзем
Ответ Создать тему
Опции темы

Текущее время: 15:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru