为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

贪吃蛇游戏

2017-09-25 6页 doc 18KB 7阅读

用户头像

is_729658

暂无简介

举报
贪吃蛇游戏贪吃蛇游戏 #include #include #include #define APPLE '@' #define SNAKEHEAD '+' #define SNAKETAIL '-' #define SIZE 10 typedef struct { int row; int col; } Pos; typedef struct { Pos head; Pos tail; } Snake; Snake snake; Pos apple; bool is_same(const Pos* p...
贪吃蛇游戏
贪吃蛇游戏 #include #include #include #define APPLE '@' #define SNAKEHEAD '+' #define SNAKETAIL '-' #define SIZE 10 typedef struct { int row; int col; } Pos; typedef struct { Pos head; Pos tail; } Snake; Snake snake; Pos apple; bool is_same(const Pos* pFirstPos, const Pos* pSecondPos) { if ((pFirstPos->row == pSecondPos->row) && (pFirstPos->col == pSecondPos- >col)) { return true; } else { return false; } } void init_snake() { int row = rand() % (SIZE - 2); int col = rand() % (SIZE - 2); int direction = rand() % 4; snake.head.row = row; snake.head.col = col; switch(direction) { case 0: //尾巴在头上边 snake.tail.row = row - 1; snake.tail.col = col; break; case 1: //尾巴在头下面 snake.tail.row = row + 1; snake.tail.col = col; break; case 2: //尾巴在头左边 snake.tail.row = row; snake.tail.col = col - 1; break; default: //尾巴在头右边 snake.tail.row = row; snake.tail.col = col + 1; break; } } void plant_apple() { do { apple.row = rand() % (SIZE - 2); apple.col = rand() % (SIZE - 2); } while ((is_same(&apple, &(snake.head))) || (is_same(&apple, &(snake.tail)))); } void show_map() { int row = 0; int col = 0; for (row = 0; row < SIZE; row++) { for (col = 0; col < SIZE; col++) { if ((row == apple.row) && (col == apple.col)) { printf("%c", APPLE); } else if ((row == snake.head.row) && (col == snake.head.col)) { printf("%c", SNAKEHEAD); } else if ((row == snake.tail.row) && (col == snake.tail.col)) { printf("%c", SNAKETAIL); } else { printf(" "); } } printf("\n"); } } void move_snake() { int direction = 0; int row = 0; int col = 0; printf("请输入移动的方向:,0示向上,1表示向左,2表示向下,3表示向右, "); scanf("%d", &direction); switch(direction) { case 0: if ((snake.head.row - 1) >= 0) { snake.tail.row = snake.head.row; snake.tail.col = snake.head.col; snake.head.row--; } break; case 1: if ((snake.head.col - 1) >= 0) { snake.tail.row = snake.head.row; snake.tail.col = snake.head.col; snake.head.col--; } break; case 2: if ((snake.head.row + 1) < SIZE){ snake.tail.row = snake.head.row; snake.tail.col = snake.head.col; snake.head.row++; } break; default: if ((snake.head.col + 1) < SIZE) { snake.tail.row = snake.head.row; snake.tail.col = snake.head.col; snake.head.col++; } break; } if (is_same(&apple, &(snake.head)) || (is_same(&apple, &(snake.tail)))) { plant_apple(); } } int main() { srand(time(0)); init_snake(); plant_apple(); show_map(); while (1) { move_snake(); show_map(); } return 0; }
/
本文档为【贪吃蛇游戏】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索