Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

aitact.h

Go to the documentation of this file.
00001 /* Tactical Analysis for AIs
00002    Copyright (C) 2005 Eric A. McDonald.
00003 
00004 Xconq is free software; you can redistribute it and/or modify
00005 it under the terms of the GNU General Public License as published by
00006 the Free Software Foundation; either version 2, or (at your option)
00007 any later version.  See the file COPYING.  */
00008 
00021 namespace Xconq {
00022 namespace AI {
00023 
00025 enum TacticalConcern {
00027     TC_NONE = 0,
00029     TC_DANGER_IMMEDIATE,
00031     TC_Total
00032 };
00033 
00034 /* Task Inspection */
00035 
00037 extern int n_plan_to_construct_at(
00038     Side *side, int x, int y, short *p_utypes = NULL);
00039 
00040 /* Resource Contention Assessement */
00041 
00043 extern int resource_contention_with_any(int u, int x, int y, Side *side);
00044 
00045 /* Offensive/Defensive Assessment */
00046 
00048 extern int choose_best_hit_method(
00049     int hitmethod, int fhm, int ahm, int dhm, int ftm, int atm, int dtm);
00051 extern int choose_best_hit_method(Unit *unit, UnitView *uview);
00053 extern int guess_best_hit_method_used_by(Unit *unit, UnitView *uview);
00054 
00056 extern int choose_best_capture_method(
00057     int capmethod, int fcm, int acm, int dccm, int ftm, int atm, int dctm);
00059 extern int choose_best_capture_method(Unit *unit, UnitView *uview);
00061 extern int guess_best_capture_method_used_by(Unit *unit, UnitView *uview);
00062 
00063 /* Threat Assessment and Handling */
00064 
00066 extern int seems_safe_against(Unit *unit, UnitView *uview);
00068 extern int is_frightened_by(Unit *unit, UnitView *uview);
00070 extern int is_harassed_by(Unit *unit, UnitView *uview);
00072 extern int choose_flee_direction(
00073     Unit *unit, int feardirs [NUMDIRS + 1], int hardirs [NUMDIRS + 1]);
00074 
00076 
00085 extern TacticalConcern handle_immediate_danger(Unit *unit);
00086 
00087 /* Overall Tactical Assessment and Handling */
00088 
00090 extern TacticalConcern handle_tactical_situation(Unit *unit);
00091 
00092 } // namespace Xconq::AI
00093 } // namespace Xconq

Generated on Sat Sep 17 10:28:52 2005 for XconqKernel by doxygen 1.3.6