Контрольная работа: Система искусственного интеллекта
begin
Похожи ли эти ходы на те, что в базе проигрышных ходов:
if ((adotable1game.Value=1) and ((adotable1xod1.Value=Panel10.Caption) or (Panel10.Caption='')) and ((adotable1xod2.Value=Panel2.Caption) or (Panel2.Caption=''))
and ((adotable1xod3.Value=Panel3.Caption) or (Panel3.Caption='')) and ((adotable1xod4.Value=Panel4.Caption) or (Panel4.Caption=''))
and ((adotable1xod5.Value=Panel5.Caption) or (Panel5.Caption='')) and ((adotable1xod6.Value=Panel6.Caption) or (Panel6.Caption=''))
and ((adotable1xod7.Value=Panel7.Caption) or (Panel7.Caption='')) and ((adotable1xod8.Value=Panel8.Caption) or (Panel8.Caption=''))
and ((adotable1xod9.Value=Panel9.Caption) or (Panel9.Caption='')))
then begin l:=0;
При выполнении условия соответствия ходов игры и ходов в базе. Ищутся ходы с «X»-ами в таблице и пустыми в нашей игре и в эти поля рисуем нули.
if ((adotable1xod1.Value='X') and (Panel10.Caption='')) then begin Panel10.Caption:='O'; break; end;
… … … … … …
if ((adotable1xod9.Value='X') and (Panel9.Caption='')) then begin Panel9.Caption:='O'; break; end;
end
Если таких ходов в таблице нет:
else begin l:=1; end;
adotable1.next;
end ;
то тогда ходы делаются случайным образом.
if l =1 then panel ;
Процедура завершается проверкой на статус игры:
game ;
На процедуру меню очистки игры написано:
adotable1.Edit;
adotable1.open;
while adotable1.Eof=false do
begin
adotable1.Delete;
end;
То есть удаляются все значения таблицы.