- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
*/20 */20 设计概要 1、程序结构 2、程序流程 3、 函数声明 4、变量声明、结构体及宏定义 5、游戏界面 6、登录游戏 7、初始化游戏 8、游戏过程 9、方向移动控制 10、拐点控制与尾部控制 11、结论 */20 1、结构程序 */20 2、程序流程图 */20 3、函数的声明 void gotoxy(int x, int y); //坐标定位函数 int speed(); //延时(蛇速度)函数 int create_food(snake_t *snake, food_t *food); //创建食物函数 int food_eat(snake_t *snake , food_t *food); //吃食物函数 int head_way(snake_t *snake , char key ); //头节点转弯函数 int tail_move(snake_t *snake); //尾节点转弯函数 int move_down(snake_t *snake, food_t *food); //蛇向下移动函数 int move_up(snake_t *snake, food_t *food); //蛇向上移动函数 int move_right(snake_t *snake, food_t *food); //蛇向右移动函数 int move_left(snake_t *snake, food_t *food); //蛇向左移动函数 int max_limit(snake_t *snake); //蛇的最大移动范围 int strs_len(char *str); //计算字符串长度 int strs_cmp(char *str1, char *str2); //比较两个字符串 int strscpy(char *str1, char *str2); //字符串拷贝 int init_namepwd(name_pwd_t *name_pwd); //初始化用户名与密码结构体 int pwd_encrypt(char *pwd); //密码加密 int pwd_noencrypt(char *pwd); //密码解密 int name_pwd_cmp(name_pwd_t *name_pwd); //比较输入的用户与密码 int reg_name(name_pwd_t *name_pwd); //注册用户 int create_wall(snake_t *snake,food_t *food, name_pwd_t *name_pwd); //创建边框 int init_game(snake_t *snake, food_t *food, name_pwd_t *name_pwd ); //初始化游戏 int user_login(name_pwd_t *name_pwd); //用户登录函数 */20 4、变量声明、结构体及宏定义 #define KEY_UP w //向上键值 #define KEY_DOWN s //向下键值 #define KEY_LEFT a //向左键值 #define KEY_RIGHT d //向左键值 #define KEY_ESC 27 //退出键值 #define KEY_PAUSE 32 //暂停键值 #define MAX_LEN 30 //蛇最大的长度 #define DEFAULT_LEN 2 //默认蛇的长度 #define PWD name_pwd.txt //文件名,用于存取用户名与密码 typedef struct food //食物结构 { int x; //食物横坐标 int y; //食物纵坐标 } food_t; typedef struct snake //蛇的结构 { int x[5]; //(x[4], y[4])蛇头//(x[0], y[0])蛇尾, int y[5]; //(x[1], y[1]),(x[2], y[2]), (x[3], y[3])记录蛇的转弯点坐标 char head_dir; //头当前的移动方向 char tail_dir; //尾巴当前的移动方向 char save_head_dir; //用于暂停时保存头方向 int snake_len; //蛇的长度 }snake_t; ? */20 typedef struct n
文档评论(0)