/* 
 * Tactic is the legal property of its developers, whose names are too numerous 
 * to list here.  Please refer to the COPYRIGHT file distributed with this 
 * source distribution. 
 * 
 * This library is free software; you can redistribute it and/or 
 * modify it under the terms of the GNU Lesser General Public 
 * License as published by the Free Software Foundation; either 
 * version 2.1 of the License, or (at your option) any later version. 
 * 
 * This library is distributed in the hope that it will be useful, 
 * but WITHOUT ANY WARRANTY; without even the implied warranty of 
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
 * Lesser General Public License for more details. 
 * 
 * You should have received a copy of the GNU Lesser General Public 
 * License along with this library; if not, write to the Free Software 
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA 
 *
 * See README for more informations
 *
 * FuzzyValueName.h
 *
 * ...
 * Date 02/03/06
 *
 */

#ifndef FUZZYVALUENAME_H
#define FUZZYVALUENAME_H

/*
 * List of different types of possible orders.
 */

typedef enum fuzzyValueName 
{
	ORDER_NO_ORDER,
	ORDER_EVALUATION,
	ORDER_FLEE,
	ORDER_ATTACK,
	ORDER_RECONNAISSANCE,
	ORDER_REGROUP,

	// add here other fuzzy value names using the following rule:
	// TYPE_NAME_OF_MY_VALUE
	// Could be used to detect FuzzyRules not inferated
	// If you want to add a new FuzzyValue please complete the fonction 
	// Converter::convert(fuzzyValueName) which is useful for the tests
	ABSTRACT_FUZZY_VALUE,
	NB_ENNEMY_UNIT_MIDDLE,
	NB_ENNEMY_UNIT_LOW,
	NB_ENNEMY_UNIT_HIGH,
	NB_ENNEMY_IS_NOT_ZERO,
	HP_HIGH,
	HP_MIDDLE,
	HP_LOW,
	FORCE_HIGH,
	FORCE_MIDDLE,
	FORCE_LOW,
	BAD_SUPPORT,
	GOOD_SUPPORT,
	CLOSED_ZONE,
	FAR_ZONE,
	FRESH_ZONE,
	OUT_DATED_ZONE,
	NB_VISIBLE_UNIT_HIGH,
	NB_VISIBLE_UNIT_MIDDLE,
	NB_VISIBLE_UNIT_LOW,
	VALUE_AND,
	VALUE_OR,
	VALUE_EMPTY,
	VALUE_LIST_RESULT_EMPTY,
	VALUE_INFERATE_NOT_USED,
	VALUE_RESULT_1,
	VALUE_RESULT_2,
	FV_IS_NOT_REGROUPING

} FuzzyValueName;

#endif