Sha256: e38bc8ecca5b7a999cb0367f96b15b1a560ff4ebb57db69dc20ae20ed5676640

Contents?: true

Size: 910 Bytes

Versions: 132

Compression:

Stored size: 910 Bytes

Contents

#ifndef ROBOT_SIMULATOR_H
#define ROBOT_SIMULATOR_H

typedef enum {
   HEADING_NORTH = 0,
   HEADING_EAST,
   HEADING_SOUTH,
   HEADING_WEST,
   HEADING_MAX
} bearing_t;

enum {
   DEFAULT_BEARING = HEADING_NORTH,
   DEFAULT_X_COORDINATE = 0,
   DEFAULT_Y_COORDINATE = 0,
};

enum {
   COMMAND_LEFT = 'L',
   COMMAND_RIGHT = 'R',
   COMMAND_ADVANCE = 'A'
};

typedef struct robot_coordinates {
   int x_position;
   int y_position;
} robot_coordinates_t;

typedef struct robot_grid_status {
   bearing_t bearing;
   robot_coordinates_t grid;
} robot_grid_status_t;

robot_grid_status_t robot_init(void);
robot_grid_status_t robot_init_with_position(int bearing, int x, int y);
void robot_turn_right(robot_grid_status_t * robot);
void robot_turn_left(robot_grid_status_t * robot);
void robot_advance(robot_grid_status_t * robot);
void robot_simulator(robot_grid_status_t * robot, const char *commands);

#endif

Version data entries

132 entries across 132 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/c/exercises/robot-simulator/src/robot_simulator.h
trackler-2.2.1.179 tracks/c/exercises/robot-simulator/src/robot_simulator.h
trackler-2.2.1.178 tracks/c/exercises/robot-simulator/src/robot_simulator.h
trackler-2.2.1.177 tracks/c/exercises/robot-simulator/src/robot_simulator.h
trackler-2.2.1.176 tracks/c/exercises/robot-simulator/src/robot_simulator.h
trackler-2.2.1.175 tracks/c/exercises/robot-simulator/src/robot_simulator.h
trackler-2.2.1.174 tracks/c/exercises/robot-simulator/src/robot_simulator.h
trackler-2.2.1.173 tracks/c/exercises/robot-simulator/src/robot_simulator.h
trackler-2.2.1.172 tracks/c/exercises/robot-simulator/src/robot_simulator.h
trackler-2.2.1.171 tracks/c/exercises/robot-simulator/src/robot_simulator.h
trackler-2.2.1.170 tracks/c/exercises/robot-simulator/src/robot_simulator.h
trackler-2.2.1.169 tracks/c/exercises/robot-simulator/src/robot_simulator.h
trackler-2.2.1.167 tracks/c/exercises/robot-simulator/src/robot_simulator.h
trackler-2.2.1.166 tracks/c/exercises/robot-simulator/src/robot_simulator.h
trackler-2.2.1.165 tracks/c/exercises/robot-simulator/src/robot_simulator.h
trackler-2.2.1.164 tracks/c/exercises/robot-simulator/src/robot_simulator.h
trackler-2.2.1.163 tracks/c/exercises/robot-simulator/src/robot_simulator.h
trackler-2.2.1.162 tracks/c/exercises/robot-simulator/src/robot_simulator.h
trackler-2.2.1.161 tracks/c/exercises/robot-simulator/src/robot_simulator.h
trackler-2.2.1.160 tracks/c/exercises/robot-simulator/src/robot_simulator.h