# homeworkforothers **Repository Path**: malatoday/homeworkforothers ## Basic Information - **Project Name**: homeworkforothers - **Description**: 帮别人写作业,以后代码就放在这里了=-= - **Primary Language**: HTML - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2015-06-10 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #homeworkforothers - master branch is my homework ## 贪吃蛇 master分支是贪吃蛇作业的源码,开发以及编译环境均是在VC++6.0下,在VS20**之类的环境下可能需要修改部分内容。 ## 代码结构 当前版本所有项目代码都集中在homework.cpp中,未来可能会考虑分成各个不同的文件。 ## 函数说明 ``` /** * 绘制地图 * @param HDC hdc 当前设备环境 * @param int n 每个格子的边长 * @param RECT rt 当前客户区大小,此参数是GetClientRect函数获取到的 */ void drawMap(HDC hdc, int n, RECT rt); /** * 计算格子的边长, 默认格子是正方形 * @param int *n 此参数用于保存格子边长 */ void computeBlockLen(int * n, RECT rt); /** * 绘制蛇的身体 */ void drawSnail(HDC hdc, int n); /** * 移动蛇的身体,此函数不进行绘制,只进行计算,将蛇的尾巴节点移动到下一个格子 */ void move(); /** * 初始化蛇,本函数目前为危险版本,即不会对之前申请的内存空间进行释放,后续会加上 */ void init(); /** * 检查蛇是否吃到了食物 * @return 0表示蛇没有吃到,1表示蛇吃到了 */ int checkEat(); /** * 创建一个有效的食物 */ void createFood(HDC hdc, int n); /** * 绘制食物 */ void drawFood(HDC hdc, int n); /** * 检测点x,y是否在蛇身上 */ int isOn(int x, int y); /** * 检测蛇是否死亡,包括撞到墙和自己 */ int checkDie(HWND hWnd); /** * 创建一个位于x,y位置的蛇的身体 */ struct body* createBody(int x, int y); ``` ## 未完成功能 - 安全性完善(比如init函数) - 积分等级系统 - 排行榜 - 蛇身与食物美化 ## 已知bug - 快速按方向键可以使蛇向自己的反方向运动。