#Include once "window9.bi"

#Ifdef max

#Undef max

#EndIf

Type XO

	As Integer attack_factor 'Коэффициент агрессивности игры компьютера, используется при расчете оценочной функции. При меньшем значении данного параметра компьютер играет более атакующе. По умолчанию равен 1 для игрока уровня эксперт.

	As Integer comp_level 'Уровень игры компьютера:
	'0 – профессионал, сильный уровень, играет агрессивно
	'1 – любитель, придерживается защитной стратегии
	'2 – новичок, играет слабо, но достаточно агрессивно

	As Integer size_x 'Размер игрового поля по х

	As Integer size_y 'Размер игрового поля по y
	
	As Integer lastSize 'Прошлый размер

	As Integer last_x 'Координата x последнего хода

	As Integer last_y 'Координата y последнего хода

	As Integer valuation_factor 'Коэффициент, используемый при расчете оценочной функции

	As Integer fields(19,19) ' массив, представляющий игровое поле. Каждый элемент массива представляет клетку на поле. Индексы массива соответствуют положению клеток на поле.

	As Single calc_fields(19,19)'массив, представляющий значение оценочной функции для каждой клетки игрового поля.

	As BOOL flag 'ограничение ходов в конце игры

	As HMENU MenName,hMenu,MenNameCHild_1,MenNameCHild_2 ' меню

	Declare Function calculate(id As Integer,x As Integer,y As Integer) As UInteger

	Declare Function end_analyze() As Integer

	Declare Sub ii()

	Declare Sub Gui()

	Declare Sub NewGame()

End Type

Dim Obj As XO