Контрольная работа: Система искусственного интеллекта
Рисунок 4 – Выбор компьютером хода, препятствующий нашему выигрышу
В итоге проиграв этим способом получаем ничью:
Рисунок 5 – Окно ничьи
Повторим схему еще раз и получаем проигрыш:
Рисунок 6 – Окно нашего проигрыша
3 Алгоритм работы программы
Главное окно программы состоит из трех процедур и нескольких «ответных реакций» на события компонентов.
Рассмотрим подробнее каждую процедуру:
1. Процедура очистки, называется «clean». Здесь происходит очистка полей.
Form1.Panel2.Caption:='';
2. Процедура «game», которая проверяет статус игры и выводит соответствующее сообщение при выигрыше, проигрыше и ничье.
Здесь проверяется выигрыш на равенство соответствующих ячеек поля согласно условиям игры «крестики-нолики», например равенство первого столбца:
if (Form1.Panel2.Caption=Form1.Panel3.Caption) and (Form1.Panel2.Caption=Form1.Panel4.Caption) and (Form1.Panel2.Caption<>'') then begin
Если данное условие выполняется выводится окно выигрыша с соответствующим значением:
Form3.Label1.Caption:=Form1.Panel2.Caption; // Если выигрышная комбинация то присваиваем Х или О в Лейбл формы поздравления
…
Form 3. ShowModal ; // Открываем окно поздравления ":-)"
В месте где стоят точки стоит код который при условии выигрыша пользователем, заносит эти данные в таблицу, то есть данные поля.
Form1.adotable1.Insert;
if (Form1.Panel2.Caption='X') then begin
Form1.adotable1xod1.Value:=Form1.Panel10.Caption;
Form1.adotable1xod2.Value:=Form1.Panel2.Caption;
Form1.adotable1xod3.Value:=Form1.Panel3.Caption;
Form1.adotable1xod4.Value:=Form1.Panel4.Caption;
Form1.adotable1xod5.Value:=Form1.Panel5.Caption;
Form1.adotable1xod6.Value:=Form1.Panel6.Caption;
Form1.adotable1xod7.Value:=Form1.Panel7.Caption;
Form1.adotable1xod8.Value:=Form1.Panel8.Caption;