1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- /* $Id: action.h,v 1.7 2001/04/26 17:57:08 glop Exp $ */
- #ifndef __PROLO_ACTION_H__
- #define __PROLO_ACTION_H__
- /* gestion des actions */
- typedef enum _r4d2_action_type_e_
- {
- act_r4d2_move = 0,
- act_r4d2_take_r4d2 = 1,
- act_r4d2_take_akx = 2
- } r4d2_action_type_t;
- typedef enum _akx_action_type_e_
- {
- act_akx_move = 0,
- act_akx_pulse = 1,
- act_akx_link = 2
- } akx_action_type_t;
- /* actions R4D2 */
- typedef struct _r4d2_move_s_
- {
- float x, y;
- } r4d2_move_t;
- typedef struct _r4d2_take_r4d2_s_
- {
- int target_id;
- int turn_need;
- } r4d2_take_r4d2_t;
- typedef struct _r4d2_take_akx_s_
- {
- int target_id;
- int turn_need;
- } r4d2_take_akx_t;
- typedef struct _r4d2_act_s_
- {
- r4d2_action_type_t type;
- union
- {
- r4d2_move_t move;
- r4d2_take_r4d2_t take_r4d2;
- r4d2_take_akx_t take_akx;
- } act;
- } r4d2_act_t;
- /* actions ANAKRONOX */
- typedef struct _akx_move_s_
- {
- float x, y;
- } akx_move_t;
- typedef struct _akx_pulse_s_
- {
- float x, y;
- float angle; /* Radian */
- float new_x, new_y;
- float new_angle; /* Radian */
- } akx_pulse_t;
- typedef struct _akx_link_s_
- {
- int target_id;
- } akx_link_t;
- typedef struct _akx_act_s_
- {
- akx_action_type_t type;
- union
- {
- akx_move_t move;
- akx_pulse_t pulse;
- akx_link_t link;
- } act;
- } akx_act_t;
- #endif
|