c语言贪吃蛇大纲,C语言贪吃蛇全部程序及说明.docx

C语言贪吃蛇全部程序及说明

#include #include #include #include #include const int H = 8; //地图的高const int L = 16; //地图的长char GameMap[H][L]; //游戏地图int key; //按键保存int sum = 1, over = 0; //蛇的长度, 游戏结束(自吃或碰墙) int dx[4] = {0, 0, -1, 1}; //左、右、上、下的方向int dy[4] = {-1, 1, 0, 0}; struct Snake //蛇的每个节点的数据类型{ int x, y; //左边位置 int now; //保存当前节点的方向, 0,1,2,3分别为左右上下}Snake[H*L]; const char Shead = '@'; //蛇头const char Sbody = '#'; //蛇身const char Sfood = '*'; //食物const char Snode = '.'; //'.'在地图上标示为空void Initial(); //地图的初始化void Create_Food(); //在地图上随机产生食物void Show(); //刷新显示地图void Button(); //取出按键,并判断方向void Move(); //蛇的移动void Check_Border(); //检查蛇头是否越界void Check_Head(int x, int y); //检查蛇头移动后的位置情况int main() { Initial(); Show(); return 0; } void Initial() //地图的初始化{ int i, j; int hx, hy; system("title 贪吃蛇"); //控制台的标题 memset(GameMap, '.', sizeof(GameMap)); //初始化地图全部为空'.' system("cls"); srand(time(0)); //随机种子 hx = rand()%H; //产生蛇头 hy = rand()%L; GameMap[hx][hy] = Shead; Snake[0].x = hx; Snake[0].y = hy; Snake[0].now = -1; Create_Food(); //随机产生食物 for(i = 0; i < H; i++) //地图显示 { for(j = 0; j < L; j++) printf("%c", GameMap[i][j]); printf("\n"); } printf("\n小小C语言贪吃蛇\n"); printf("按任意方向键开始游戏\n"); getch(); //先接受一个按键,使蛇开始往该方向走 Button(); //取出按键,并判断方向} void Create_Food() //在地图上随机产生食物{ int fx, fy; while(1) { fx = rand()%H; fy = rand()%L; if(GameMap[fx][fy] == '.') //不能出现在蛇所占有的位置 { GameMap[fx][fy] = Sfood; break; } } } void Show() //刷新显示地图{ int i, j; while(1) { _sleep(500); //延迟半秒(1000为1s),即每半秒刷新一次地图 Button(); //先判断按键在移动 Move(); if(over) //自吃或碰墙即游戏结束 { printf("\n**游戏结束**\n"); printf("你的得分:%d\n",sum=10*(sum-1)); getchar(); break; } system("cls"); //清空地图再显示刷新吼的地图 for(i = 0; i < H; i++) { for(j = 0; j < L; j++) printf("%c", GameMap[i][j]); printf("\n"); } printf("\n小小C语

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值