-
Notifications
You must be signed in to change notification settings - Fork 0
/
karel.h
78 lines (63 loc) · 1.24 KB
/
karel.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/*
* karel.h
*/
#ifndef KAREL_H_
#define KAREL_H_
// loop() macro to replace for()
#define loop(COUNT) for( int __loop_counter = 0; __loop_counter < COUNT; __loop_counter++ )
/*typedef enum BOOLEAN{
TRUE = 1,
FALSE = 0
} Boolean;*/
#define TRUE 1
#define FALSE 0
#define MAX_WIDTH 20
#define MAX_HEIGHT 20
typedef enum ERROR{
NO_PROBLEM = 0,
UNKNOWN_BLOCK,
TOO_BIG_WORLD,
FILE_NOT_FOUND,
CANT_MOVE,
NO_BEEPER_IN_BAG,
NO_BEEPER_AT_CORNER,
KAREL_IS_OFF
} Error;
typedef enum DIRECTION{
EAST = 0,
NORTH = 90,
WEST = 180,
SOUTH = 270
} Direction;
typedef enum BLOCK {
CLEAR,
WALL = 9
} Block;
void movek();
void turnLeft();
void turnOff();
void putBeeper();
void pickBeeper();
int beepersPresent();
int noBeepersPresent();
int beepersInBag();
int noBeepersInBag();
int frontIsClear();
int frontIsBlocked();
int leftIsClear();
int leftIsBlocked();
int rightIsClear();
int rightIsBlocked();
void draw();
void redraw();
int facingNorth();
int notFacingNorth();
int facingEast();
int notFacingEast();
int facingWest();
int notFacingWest();
int facingSouth();
int notFacingSouth();
int turnOn( char* path );
void setStepDelay(int);
#endif /* KAREL_H_ */