blob: 1c4ca2e4b4cff1f4870b97e1862645b4ff6bc8a0 (
plain)
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
|
/* GEM Worm
* Copyright (C) 2009 Jeffrey Armstrong
* http://jeff.rainbow-100.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* A full version of the license terms is available in LICENSE.txt.
*/
#ifndef __PLHEADERS
#define __PLHEADERS
typedef struct {
char c_x;
char c_y;
void *next;
} WUNIT;
typedef struct {
int length;
WUNIT *head;
char dir;
int grow;
int score;
int status;
} WPLAYER;
#define WUP 0
#define WDOWN 1
#define WLEFT 2
#define WRIGHT 3
#define ALIVE 1
#define DEAD 0
#define STARTLENGTH 6
void move_player(WPLAYER *player, char dir);
int update_player(WPLAYER *player, int *tailx, int *taily);
WPLAYER *init_player(void);
void reset_player(WPLAYER *player);
#endif /* __PLHEADERS */
|