Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.68/22: Рейтинг темы: голосов - 22, средняя оценка - 4.68
13 / 13 / 5
Регистрация: 29.10.2015
Сообщений: 318

Шахматы

07.11.2015, 13:30. Показов 4674. Ответов 59
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть задание и я не очень поняла его суть, преподаватель в больнице и не может пока объяснить. "Шахматы". Программа не должна вести игру с человеком. Ее задача - проверять правильность совершаемых ходов и возникновение ситуаций «шах», «мат», «пат». Предусмотреть возможность создания любой допустимой начальной комбинации. мне нужно создать генератор или все таки полную игру с ИИ подскажите пожалуйста. Просто я посмотрела, в интернете,тема для диплома, а дали задание после полу года изучения делфи... Всем откликнувшимся спасибо)
P.S. Если есть на сайте похожие темы скиньте ссылочку, я посмотрю))))
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.11.2015, 13:30
Ответы с готовыми решениями:

Шахматы
На игровом поле 10x10 в правом нижнем углу появляется шахматная фигура. Игрок должен переместить ее в верхний левый угол, щелкая ячейки,...

Шахматы
ВЕТВЛЕНИЕ! Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит 8: первое число– номер вертикали...

шахматы
помогите написать шахматную доску с помощью панелей с цифрами и буквами

59
13 / 13 / 5
Регистрация: 29.10.2015
Сообщений: 318
08.11.2015, 10:54  [ТС]
Студворк — интернет-сервис помощи студентам
Puporev,
Миниатюры
Шахматы  
0
Почетный модератор
 Аватар для Puporev
64319 / 47615 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
08.11.2015, 10:58
Тот архив не заражен, ищите у себя.
1
13 / 13 / 5
Регистрация: 29.10.2015
Сообщений: 318
08.11.2015, 11:06  [ТС]
Puporev, я все поправила, как написано в статье, думаю больше вирусованных архивов не будет)))
0
5997 / 4572 / 1096
Регистрация: 29.08.2013
Сообщений: 28,237
Записей в блоге: 3
08.11.2015, 12:03
Евгения01, ввод данных можно так же сделать мышкой

при клике на пустую доску выдавать popupmenu со списком фигур. при клике на фигуру выдавать Popup с кнопкой "удалить". так можно расставить фигуры в нужном порядке.
1
13 / 13 / 5
Регистрация: 29.10.2015
Сообщений: 318
08.11.2015, 12:53  [ТС]
qwertehok, скачала я XE5 и начала работать там, проблема раз, все фигуры отрисовала где нужно, но пешка одна черная не появляется.((( плюс пропала раскраска, видимо в этой версии прописывается по другому, объясните, пожалуйста и какая хорошая книга по XE5, что бы косячить меньше, заранее спасибо)
Вложения
Тип файла: rar Шах.rar (1.17 Мб, 9 просмотров)
0
5997 / 4572 / 1096
Регистрация: 29.08.2013
Сообщений: 28,237
Записей в блоге: 3
08.11.2015, 15:59
Евгения01,
что бы был цвет нужно прописать такое

Delphi
1
2
3
4
 with Doska[i,j] do
   begin
...
    ParentBackground:=False;
Добавлено через 2 часа 4 минуты
Евгения01,
боюсь вас огорчить, но вы сами шахматы не напишите

что это?
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 for i:=1 to 9 do
 for j:=1 to 9 do
  begin
 {Создание панелей}
 ...
    Visible := True;
    Edit1.Visible:=true;
    Memo1.Visible:=true;
    Label1.Visible:=true;
    Label2.Visible:=true;
    Label3.Visible:=true;
    Label4.Visible:=true;
    Panel1.Visible:=true;
    FigureCreate;
   end;
 end;
какого *** у вас фигуры создаются за каждую итерацию цикла?
я вам писал что FigureCreate; нужно добавить В КОНЕЦ!!!!!!!!!!!!!!!!!!!!!!!

зачем вы счет за обоих игроков запихнули в один Label?

ЗЫ повторю - не надо exe выкладывать
1
13 / 13 / 5
Регистрация: 29.10.2015
Сообщений: 318
08.11.2015, 18:35  [ТС]
qwertehok, оправка процедуры FigureCreate;, в конец, приводит к ошибке. Label я разбила на два, как вы предлагаете создавать фигуры по средствам "popupmenu". по поводу, кода, да я девочка - катастрофа, пускай я получу три или два, я хочу разобраться, поэтому криво косо, но хочу создать, просто подскажите, что не так)
0
5997 / 4572 / 1096
Регистрация: 29.08.2013
Сообщений: 28,237
Записей в блоге: 3
08.11.2015, 21:29
Цитата Сообщение от Евгения01 Посмотреть сообщение
оправка процедуры FigureCreate;, в конец, приводит к ошибке.
ничего не приводит, у меня работает отлично

Цитата Сообщение от Евгения01 Посмотреть сообщение
как вы предлагаете создавать фигуры по средствам "popupmenu"
что значит как? у вас проблемы с созданием меню или с созданием фигур?

Цитата Сообщение от Евгения01 Посмотреть сообщение
просто подскажите, что не так)
вчерашний и сегодняшний проект отличаются только наличием картинки
1
13 / 13 / 5
Регистрация: 29.10.2015
Сообщений: 318
08.11.2015, 22:39  [ТС]
qwertehok, я не могу дальше двинутся, так как жду ваших советов, это не обвинение, это комплимент, я без вас бы еще долго с доской возилась. У меня проблема с расстановкой фигур на игровом поле, создание popupmenu и фигур не составляет затруднений. Я ведь еще и пояснительную записку пишу сразу, поэтому не тороплюсь, чуть позже скину, то что уже наработала и будете меня снова ругать))
0
13 / 13 / 5
Регистрация: 29.10.2015
Сообщений: 318
09.11.2015, 14:24  [ТС]
qwertehok, здравствуй, на данный момент имею следующее положение дел, фигуры все ходят, как надо и убивают фигуры противника. Меня волнует выделение возможных ходов фигуры зеленым например, и если на этой диагонали вертикали или соседней клетке есть фигура противника выделять данную панель красным цветом (как на рис. ход слона), не могли бы вы подсказать направление решения задачи? я представляю как это выглядит и в какой части кода должно быть, но не могу описать)) заранее спасибо, а вот и проект, что наработала
Миниатюры
Шахматы  
Вложения
Тип файла: rar Игра в Шахматы.rar (1.51 Мб, 13 просмотров)
0
5997 / 4572 / 1096
Регистрация: 29.08.2013
Сообщений: 28,237
Записей в блоге: 3
09.11.2015, 15:38
у вас отличная функция анализа, там есть расчет движения фигуры - туда и пишите

при создании TPanel у вас заполнялось значение Tag - так вот дополните - добавите допустим 100 если в клетке стоит фигура и 100 вычитайте когда фигуру убираете.
в функции анализа смотрите Tag панели, если >100 значит там стоит фигура.

PS кстати, при клике на фигуру ее нужно выделять. Можно использовать Shape в качестве границы
1
13 / 13 / 5
Регистрация: 29.10.2015
Сообщений: 318
09.11.2015, 22:43  [ТС]
qwertehok, Shape не подойдет, моя доска прорисовывается только в процессе компиляции, на что мне наносить границу тогда. Это надо каждой клетке задать имя и это ппц(((( вроде, правильно поняла я вас. Хотя можно сделать сетку из Shape наподобие доски и отмечать или это бред, мифической женской логики
0
5997 / 4572 / 1096
Регистрация: 29.08.2013
Сообщений: 28,237
Записей в блоге: 3
10.11.2015, 09:03
Евгения01, при чем тут "в процессе компиляции" - программно создавать Shape - он кстати бывает не только квадратный, но и круглый. как раз как у вас на картинке зеленые кружки.

я вижу логику такую
нарисовали доску
нарисовали шахматы
белые первые, значит на нажатия черных не реагируем
по клику на белую фигуру
-рисуем возможные варианты хода
-заносим эти варианты в массив возжможных
-обводим эту фигуру допустим зеленым

ждем следующий клик, если этот клик не входит в массив, то очищаем массив, очищаем выделение
иначе
-перемещаем фигуру,
-передаем ход

в конце хода анализируем доску на шах\мат\пат и тд что нужно по заданию
1
13 / 13 / 5
Регистрация: 29.10.2015
Сообщений: 318
10.11.2015, 18:05  [ТС]
qwertehok, так а как для каждой фигуры рисовать или сперва для всего поля, а потом при анализе подсвечивать клетки, я об этом
0
5997 / 4572 / 1096
Регистрация: 29.08.2013
Сообщений: 28,237
Записей в блоге: 3
10.11.2015, 22:29
Цитата Сообщение от Евгения01 Посмотреть сообщение
а как для каждой фигуры рисовать
что рисовать?
Цитата Сообщение от Евгения01 Посмотреть сообщение
или сперва для всего поля, а потом при анализе подсвечивать клетки, я об этом
ничего не понял
1
13 / 13 / 5
Регистрация: 29.10.2015
Сообщений: 318
10.11.2015, 22:36  [ТС]
qwertehok, я задала Shape динамически, как и доску, но как наложить на него действие, точнее, я знаю как, но не выходит
0
5997 / 4572 / 1096
Регистрация: 29.08.2013
Сообщений: 28,237
Записей в блоге: 3
10.11.2015, 22:38
Евгения01,
мне грустно - мой хрустальный шар сломался и не показывает ваш код ия не могу сказать в чем у вас проблема
1
13 / 13 / 5
Регистрация: 29.10.2015
Сообщений: 318
10.11.2015, 23:10  [ТС]
qwertehok,
Delphi
1
2
3
4
5
6
7
8
// определяем  клетку доски , по которой кликнули
procedure Tdoska.Click;
begin
  inherited;
  Clickd:=Tdoska(Self);
  Form1.ClickDoskaOrFigure;
  form1.setka.brush:=clTreal;
end;
0
5997 / 4572 / 1096
Регистрация: 29.08.2013
Сообщений: 28,237
Записей в блоге: 3
11.11.2015, 14:15
Евгения01,
я сделал отдельно код для клика по доске по фигуре

при клике по фигуре Shape который там находится становится прозрачным прямоугольником с зелеными границами
сейчас буду думать над массивом возможных ходов
0
5997 / 4572 / 1096
Регистрация: 29.08.2013
Сообщений: 28,237
Записей в блоге: 3
11.11.2015, 20:10
в общем идея с Shape как-то криво работает

Если на форме находится Tpanel, на нем TImage c картинкой фигуры, а на нем TShape как рамка, то TShape можно убрать за картинку.
Тогда клик по TImage проходит и далее получаем панель\ее адрес и тд

Но если картинки с фигурой нет (возможные ходы пешки), то и клик идет на TShape.
И я не могу получить данные о панели - onClick у TShape нет - и не могу сходить пешкой
Миниатюры
Шахматы  
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.11.2015, 20:10
Помогаю со студенческими работами здесь

Шахматы на троих
Добрый день помогите создать шахматы на троих. Класы фигур есть, но доску прописать не могу. подскажите как её лучше прописать.

Шахматы на delphi
Добрый вечер!Пожалуйста, помогите...Я новичок...Но пытаюсь создать шахматную игру на делфи...Не понимаю в чем моя ошибка...Вроде в коде все...

Шахматы (пример)
Не один раз задавался вопрос по созданию доски для фигур, их расположения и управления ими. Написал программу создания и управления ...

Шахматы, реализация окраски StringGrid-а
Проблема не сложная, препод задал сделать хождение фигур по доске. Сделал шахматную доску заполнил ее но делал без оформления ( тупо + и -...

Шахматы, проверка на Шах и Мат
пишу шахматы не знаю как лучше описать шах и мат подскажите пожалуйста


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
Модель здравосохранения 17. Планы на выгорание
anaschu 23.05.2026
Вот конкретная схема реализации: В классе Работник добавить: накопленнаяУсталость — растёт каждый час работы, снижается в перерывы и болезни коэффициентПрезентеизма — снижает продуктивность. . .
Изменение цветов в палитре gif файла aka фавикона
russiannick 23.05.2026
Изменение цветов в палитре gif файла, юзаемого как фавиконка в составе html-файла, помещенная в base64, средствами нативного Java Script, навеянное сном в майский день. Для работы необходим браузер,. . .
Модель здравосохранения 16. Слишком хорошие и здоровые сотрудники уходят, недовольные зарплатой
anaschu 23.05.2026
Отладка увольнений и настройка производительности Сегодня во второй половине дня разобрались с механикой увольнений и настроили коэффициент сложности заданий. Вот что было сделано. . . .
Как я стал коммунистом))) Модель сохранения здоровья сотрудников, запись блога номер 15
anaschu 23.05.2026
Внезапно хорошее здоровье сотрудников не нужно капиталистам?))
Модель здравоСохранения 15. Как мы чинили AnyLogic модель рабочего коллектива: сочленение диаграммы состояний болезней и поломок в ресурспул
anaschu 23.05.2026
Как мы чинили AnyLogic модель рабочего коллектива Сегодня разобрались с пятью багами, из-за которых модель либо падала с ошибкой, либо давала совершенно бессмысленные результаты. Каждый баг был. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru