这个文件 都是头文件中函数的一些功能实现代码。
还有一个要注意的就是 can_move 函数 他前面有个 static 这个的作用是 把这个函数的作用域 限制在 文件域中,什么意思呢,就是这个函数 只能给本文件的函数访问。这样做有什么好处呢?好处就是 你可以在其他地方有同样函数名的函数,而不会重复定义。
注意我们这里没有直接包含box.h 因为 我们包含了 config.h 我们在 config.h中包含了 所有的 头文件。我们来看看config.h中都有什么:
01. #ifndef _CONFIG_H_ //如果已经定义了,就不会再把下面的语句编译进去了02. #define _CONFIG_H_03. 04. #define W 3005. #define H 20
06. 07. 08. //定义几个枚举变量,用来表示每个物体对应的数字, OBJ_SUCCESS 表示 当箱子放到目标点上的时候对应的数字09. typedef enum {OBJ_NULL, OBJ_WALL, OBJ_PERSON, OBJ_BOX, OBJ_OBS, OBJ_TARGET, OBJ_SUCCESS}obj_t;10. typedef enum {DIR_NULL, UP, RIGHT, DOWN, LEFT}dir_t; //定义表示方向的枚举变量11. typedef enum {START, PLAYING, OVER}game_state_t;
12. 13. 14. //包含所有的头文件,然后在其他的源文件中只需要包含config.h这一个头文件即可15. #include <stdio.h>16. #include <stdlib.h>17. #include <conio.h>18. #include <windows.h>19. 20. #include <person.h>21.
#include <box.h>