Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2012, 18:43   #1
qpuTuJlb
Пользователь
 
Аватар для qpuTuJlb
 
Регистрация: 31.03.2012
Сообщений: 67
По умолчанию Шахматы

Добрый день, мне дали задание сделать по типу шахмат фигуру пешку, тоесть сделать условие при каком она сможет бить, я сделал чтобы она била по диагонали как и надо, но она бьет и вперёд, как это можно убрать?
PHP код:
if RadioButton6.Checked then
if abs(x1-x2+1)=abs(y1-y2+1) and abs(x1-x2-1) and abs(y1-y2-1then
ShowMessage
('бьет') else
ShowMessage('не бьет'
qpuTuJlb вне форума Ответить с цитированием
Старый 31.03.2012, 19:43   #2
was3110
Форумчанин
 
Аватар для was3110
 
Регистрация: 25.04.2010
Сообщений: 254
По умолчанию

если пешка идет снизу вверх, поле нуменуется снизу вверх
Код:
if RadioButton6.Checked then 
if (abs(x1-x2)=1) and (y2-y1=1) then 
ShowMessage('бьет') else 
ShowMessage('не бьет')
помогать студентам - моя вторая профессия
was3110 вне форума Ответить с цитированием
Старый 31.03.2012, 19:58   #3
qpuTuJlb
Пользователь
 
Аватар для qpuTuJlb
 
Регистрация: 31.03.2012
Сообщений: 67
По умолчанию

Спасибо, коечто подправил, но ваш ответ мне помог

Последний раз редактировалось qpuTuJlb; 31.03.2012 в 23:44.
qpuTuJlb вне форума Ответить с цитированием
Старый 06.04.2012, 20:11   #4
qpuTuJlb
Пользователь
 
Аватар для qpuTuJlb
 
Регистрация: 31.03.2012
Сообщений: 67
По умолчанию

А с королем как? я сделал, но он может бить почти как захочет а не через 1 клетку, то есть он стоит в координатах 5;5 а бить может 6;100 и т.д. как правильно написать?
Код:
if RadioButton5.Checked then
if (x1=x2+1) or (y1=y2-1) or (x1=x2-1) or (y1=y2+1) then
ShowMessage('бьет') else
ShowMessage('не бьет');
qpuTuJlb вне форума Ответить с цитированием
Старый 06.04.2012, 21:14   #5
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,429
По умолчанию

Король:
Код:
if RadioButton5.Checked then
if abs(x1-x2)+abs(y1-y2)<=2 then
ShowMessage('бьет') else
ShowMessage('не бьет');
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 06.04.2012, 21:41   #6
qpuTuJlb
Пользователь
 
Аватар для qpuTuJlb
 
Регистрация: 31.03.2012
Сообщений: 67
По умолчанию

спасибо, помогло
qpuTuJlb вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++ и шахматы. Denis B Помощь студентам 3 25.03.2011 15:01
шахматы Linka_fX Помощь студентам 4 25.03.2011 10:57
шахматы demonara Помощь студентам 0 24.12.2010 17:02
Шахматы neklans Общие вопросы Delphi 11 23.09.2010 12:14
Шахматы Shchetnev Фриланс 10 27.05.2008 00:36