Subversion Repositories Code-Repo

Rev

Rev 242 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 242 Rev 276
Line 6... Line 6...
6
#define SNAKE_BODY_COLOR        BLUE
6
#define SNAKE_BODY_COLOR        BLUE
7
#define SNAKE_HEAD_COLOR        RED
7
#define SNAKE_HEAD_COLOR        RED
8
#define SNAKE_CANDY_COLOR       GREEN
8
#define SNAKE_CANDY_COLOR       GREEN
9
#define SNAKE_COLLISION_COLOR   ORANGE
9
#define SNAKE_COLLISION_COLOR   ORANGE
10
 
10
 
-
 
11
#define SNAKE_MAXIMUM_DELAY 800
11
#define SNAKE_LEVEL_STEP    10
12
#define SNAKE_MINIMUM_DELAY 300
12
 
13
 
13
typedef struct {
14
typedef struct {
14
    unsigned x  :8;
15
    uint8_t x;
15
    unsigned y  :8;
16
    uint8_t y;
16
    unsigned z  :8;
-
 
17
    unsigned    :8;
17
    uint8_t z;
18
} SNAKE_POINT;
18
} SNAKE_POINT;
19
 
19
 
20
typedef union {
-
 
21
    struct {
-
 
22
        unsigned up         :1;
-
 
23
        unsigned down       :1;
-
 
24
        unsigned left       :1;
-
 
25
        unsigned backward   :1;
-
 
26
        unsigned right      :1;
-
 
27
        unsigned forward    :1;
-
 
28
        unsigned            :2;
-
 
29
    };
-
 
30
    uint8_t value;
-
 
31
} SNAKE_DIRECTION;
-
 
32
 
-
 
33
typedef struct {
20
typedef struct {
34
    SNAKE_POINT body[CUBE_PIXELS];
21
    SNAKE_POINT body[CUBE_PIXELS];
35
    SNAKE_POINT direction;
22
    SNAKE_POINT direction;
36
    SNAKE_POINT candy_loc;
23
    SNAKE_POINT candy_loc;
37
    uint8_t last_direction;
24
    uint8_t last_direction;
Line 42... Line 29...
42
    uint32_t delay;
29
    uint32_t delay;
43
} SNAKE_DATA;
30
} SNAKE_DATA;
44
 
31
 
45
void Snake_Init(SNAKE_DATA *data);
32
void Snake_Init(SNAKE_DATA *data);
46
void Snake_Main(void);
33
void Snake_Main(void);
47
void Snake_Update_Direction(uint8_t p1, uint8_t p2);
34
void Snake_Update_Direction(uint8_t controller, CTRL_BTN_STATUS value);
48
void Snake_Update_Frame(void);
35
void Snake_Update_Frame(void);
49
SNAKE_POINT Snake_Generate_Candy(void);
36
SNAKE_POINT Snake_Generate_Candy(void);
50
 
37
 
51
#endif	/* SNAKE_H */
38
#endif	/* SNAKE_H */
52
 
39