Burp
robot.h
Go to the documentation of this file.
1 #ifndef robot_H
2 #define robot_H
3 #include <stdio.h>
5 #include <stdlib.h>
6 #include <math.h>
7 #include <stdbool.h>
8 #include <assert.h>
9 #include <string.h>
11 #include "../../define.h"
12 
13 
18 double degree_to_radians(double x);
19 
20 typedef struct point_impl
21 {
22  double x;
23  double y;
25 
26 typedef struct robot_impl robot;
27 
33 robot *create_robot(double x_1, double y_1, double angle, int speed, int id, char *r_name);
34 
41 void update_pos_robot(robot *rob);
42 
49 
54 void inflict_damage_from_collision(robot *rob1, robot *rob2);
55 
61 bool check_collision_robots(robot *rob1, robot *rob2);
62 
66 char *get_robot_name(robot *robot);
67 
71 unsigned int get_robot_health_points(robot *rob);
72 
76 double get_robot_angle(robot *rob);
77 
81 int get_robot_speed(robot *rob);
82 
87 void get_robot_pos(robot *rob, point *pos);
88 
92 int get_robot_id(robot *rob);
93 
98 
103 int get_robot_nb_missiles(robot *rob);
104 
110 int peek_memory_at(robot *rob, int i);
111 
118 bool set_robot_angle(robot *rob, double angle);
119 
126 bool set_robot_speed(robot *rob, int speed);
127 
135 bool poke_memory_at(robot *rob, int data, int pos);
136 
141 void increment_nb_missile(robot *rob);
142 
147 void decrement_nb_missile(robot *rob);
148 
153 void set_waiting_time_robot(robot *rob, unsigned int waiting_time);
154 
158 void destroy_robot(robot **rob);
159 #endif
robot_impl::id
int id
Definition: robot.c:16
increment_nb_missile
void increment_nb_missile(robot *rob)
Definition: robot.c:144
damage_explosion_low_range
#define damage_explosion_low_range
Definition: define.h:41
collision_damage
#define collision_damage
Definition: define.h:48
robot.h
get_waiting_time_robot
int get_waiting_time_robot(robot *rob)
Definition: robot.c:147
point
struct point_impl point
M_PI
#define M_PI
Definition: define.h:7
poke_memory_at
bool poke_memory_at(robot *rob, int data, int pos)
Definition: robot.c:155
inflict_damage_from_collision
void inflict_damage_from_collision(robot *rob1, robot *rob2)
Definition: robot.c:86
get_robot_health_points
unsigned int get_robot_health_points(robot *rob)
Definition: robot.c:109
degree_to_radians
double degree_to_radians(double x)
Definition: robot.c:4
robot_radius
#define robot_radius
Definition: define.h:15
max_speed
#define max_speed
Definition: define.h:22
robot_impl::missiles
int missiles
Definition: robot.c:17
robot_impl::angle
double angle
Definition: robot.c:13
damage_explosion_high_range
#define damage_explosion_high_range
Definition: define.h:31
get_robot_health_points
unsigned int get_robot_health_points(robot *rob)
Definition: robot.c:109
get_robot_nb_missiles
int get_robot_nb_missiles(robot *rob)
Definition: robot.c:140
set_robot_speed
bool set_robot_speed(robot *rob, int speed)
Definition: robot.c:126
get_robot_nb_missiles
int get_robot_nb_missiles(robot *rob)
Definition: robot.c:140
middle_range
#define middle_range
Definition: define.h:34
robot_impl::robot_name
char robot_name[robot_name_length]
Definition: robot.c:11
set_robot_angle
bool set_robot_angle(robot *rob, double angle)
Definition: robot.c:117
robot_impl::speed
int speed
Definition: robot.c:14
get_robot_angle
double get_robot_angle(robot *rob)
Definition: robot.c:113
set_robot_speed
bool set_robot_speed(robot *rob, int speed)
Definition: robot.c:126
get_robot_speed
int get_robot_speed(robot *rob)
Definition: robot.c:122
create_robot
robot * create_robot(double x_1, double y_1, double angle, int speed, int id, char *r_name)
Definition: robot.c:22
modify_angle
void modify_angle(robot *rob, double angle)
Definition: robot.c:67
modify_speed
void modify_speed(robot *rob, int speed)
Definition: robot.c:63
get_robot_pos
void get_robot_pos(robot *rob, point *pos)
Definition: robot.c:135
point_impl
Definition: robot.h:21
update_pos_robot
void update_pos_robot(robot *rob)
Definition: robot.c:35
damage_explosion_middle_range
#define damage_explosion_middle_range
Definition: define.h:36
destroy_robot
void destroy_robot(robot **rob)
Definition: robot.c:173
get_waiting_time_robot
int get_waiting_time_robot(robot *rob)
Definition: robot.c:147
get_robot_speed
int get_robot_speed(robot *rob)
Definition: robot.c:122
size_arena_x
#define size_arena_x
Definition: define.h:12
decrement_nb_missile
void decrement_nb_missile(robot *rob)
Definition: robot.c:168
get_robot_pos
void get_robot_pos(robot *rob, point *pos)
Definition: robot.c:135
get_robot_name
char * get_robot_name(robot *robot)
Definition: robot.c:105
check_collision_robots
bool check_collision_robots(robot *rob1, robot *rob2)
Definition: robot.c:94
peek_memory_at
int peek_memory_at(robot *rob, int i)
Definition: robot.c:162
robot_impl::memory
int memory[robot_memory]
Definition: robot.c:18
get_robot_id
int get_robot_id(robot *rob)
Definition: robot.c:101
point_impl::y
double y
Definition: robot.h:23
point_impl::x
double x
Definition: robot.h:22
get_robot_name
char * get_robot_name(robot *rob)
Definition: robot.c:105
update_pos_robot
void update_pos_robot(robot *rob)
Definition: robot.c:35
destroy_robot
void destroy_robot(robot **rob)
Definition: robot.c:173
inflict_damage_from_collision
void inflict_damage_from_collision(robot *rob1, robot *rob2)
Definition: robot.c:86
robot_impl::health_points
int health_points
Definition: robot.c:12
set_robot_angle
bool set_robot_angle(robot *rob, double angle)
Definition: robot.c:117
robot_impl::waiting_time
unsigned int waiting_time
Definition: robot.c:19
robot_memory
#define robot_memory
Definition: define.h:17
set_waiting_time_robot
void set_waiting_time_robot(robot *rob, unsigned int waiting_time)
Definition: robot.c:151
create_robot
robot * create_robot(double x_1, double y_1, double angle, int speed, int id, char *r_name)
Definition: robot.c:22
decrement_nb_missile
void decrement_nb_missile(robot *rob)
Definition: robot.c:168
angle
double angle(double x1, double y1, double x2, double y2)
Definition: commands.c:85
check_collision_robots
bool check_collision_robots(robot *rob1, robot *rob2)
Definition: robot.c:94
peek_memory_at
int peek_memory_at(robot *rob, int i)
Definition: robot.c:162
size_arena_y
#define size_arena_y
Definition: define.h:13
speed
int speed(robot *rob)
Definition: commands.c:31
poke_memory_at
bool poke_memory_at(robot *rob, int data, int pos)
Definition: robot.c:155
get_robot_id
int get_robot_id(robot *rob)
Definition: robot.c:101
high_range
#define high_range
Definition: define.h:29
robot_impl::pos
point pos
Definition: robot.c:15
set_waiting_time_robot
void set_waiting_time_robot(robot *rob, unsigned int waiting_time)
Definition: robot.c:151
robot_impl
Definition: robot.c:10
degree_to_radians
double degree_to_radians(double x)
Definition: robot.c:4
get_robot_angle
double get_robot_angle(robot *rob)
Definition: robot.c:113
inflict_damage_from_missile
void inflict_damage_from_missile(robot *rob, point p)
Definition: robot.c:71
increment_nb_missile
void increment_nb_missile(robot *rob)
Definition: robot.c:144
low_range
#define low_range
Definition: define.h:39
inflict_damage_from_missile
void inflict_damage_from_missile(robot *rob, point p)
Definition: robot.c:71