您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 贪吃蛇多功能 VC6.0
#includestdio.h#includestring.h#includestdlib.h#includetime.h#includeconio.h#includewindows.h//使用控制颜色光标的函数#defineX150#defineY35#defineINIT(snake*)malloc(sizeof(snake))#pragmacomment(lib,Winmm.lib)//定义一些全局变量structFood{intx;//食物的横坐标inty;}normalfood,passgrass[27],poisonousfood,bedfood[5],luckyfood;//分别表示普通食物有毒食物好食物//其中普通食物蛇身长一节毒食物蛇身断一半好食物蛇自动运动一段时间typedefstructSnake{intx;//表示蛇的坐标位置inty;structSnake*next;}snake;structplayer{charname[20];intscore;}message[100];charstring[30];snake*head,*fp,*qq;charz;//记录键盘输入inti,add=10,score=0;//add为每次吃东西增加的节数intnode,whyover=0,temp,snakedir=1;//node为蛇的节数whyover为记录游戏结束的原因temp记录游戏困难程度snakedir为蛇的方向ints;//s为控制毒草出现的次数的函数intsuiji;//产生一个1~15的随机数intgamespeed=200;intpanduan=1;//这个是用来判断蛇走的步数以便出现毒草inttrues=0,jilus,tongguancao=27;//记录通关草的有关变量inttrues1=0;//这个是辅助判断蛇是否吃到毒草intjilus1;//记录毒草的出现位置//声明各个函数voidcolor(constintcolor1);//控制输出框的颜色voidgotoxy(intx,inty);//控制光标的所在voidprintfscore();//打印出分数voidprintfmap();//打印地图voidgamestart_jiemian();//打印游戏开始界面voidprintfsnake();//打印出蛇即蛇的初始化voidprintffood();//打印出普通食物voidprintffood1();//打印出有毒食物voidprintffood2();voidHideCursor();//隐藏鼠标voidgameover();//游戏结束函数voidnotpasswall();//不能穿墙voidbiteself();//不能咬到自己voidsnakemove();//蛇移动inttime();voidappearfood2();//出现毒草食物voidshengji();//控制关卡的函数voidprintfgaming();voiddenglv();//登录游戏voidbaocun();//记录分数voidduqu();voidpass_grass();//产生通关草的函数voidlucky_food();//产生幸运食物的函数voidbaocunyouxi();//保存游戏数据voidduquyouxi();//读取游戏数据即读取进度voidgaming();//键盘响应inttime()//用来计时{clock_tt=clock()/CLOCKS_PER_SEC;//记录当前程序已用时间returnt;}voidcolor(constintcolor1)//控制输出框的颜色{SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),color1);}voidgotoxy(intx,inty)//控制光标的所在{COORDc={x,y};SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c);}voidprintfscore()//打印出分数{charstr[50];color(11);gotoxy(105,12);sprintf(str,您现在的分数是:%d,score);puts(str);gotoxy(105,20);}voidHideCursor(){CONSOLE_CURSOR_INFOcursor_info={105,0};SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info);}voiddenglv(){gotoxy(20,20);puts(请输入您的姓名输入后请按下enter键请不要在您的名字里输入空格键或者‘:’符号);flat1:{gets(string);}for(i=0;i20;i++){while(string[i]==''||string[i]==':'||string[i]=='\r'){gotoxy(20,20);puts(对不起您输入的名字含有不合格字符(空格键或“:”)请重新输入);gotoflat1;}}}voidgamestart_jiemian()//设定游戏参与者一进来时的界面{system(modeconcols=153lines=38);color(10);for(i=35;i75;i+=2){gotoxy(i,14);printf(*);}for(i=35;i75;i+=2){gotoxy(i,20);printf(*);}for(i=14;i=20;i++){gotoxy(35,i);printf(*);}for(i=14;i=20;i++){gotoxy(75,i);printf(*);}gotoxy(37,16);//设置特定位置打印出不同的信息system(title贪吃蛇游戏completedbystrange_tang);puts(欢迎来到贪吃蛇游戏);gotoxy(37,18);puts(贪吃蛇游戏completedbystrange_tang);color(9);//使用不同的颜色来打印不同的信息for(i=35;i75;i+=2){gotoxy(i,2);printf(*);}for(i=35;i75;i+=2){gotoxy(i,8);printf(*);}for(i=2;i=8;i++){gotoxy(35,i);printf(*);}for(i=2;i=8;i++){gotoxy(75,i);printf(*);}gotoxy(37,4);printf(↑↓←→控制方向空格键为加速);gotoxy(38,6);puts(加速将会得到更高的分数);color(7);for(i=35;i75;i+=2){gotoxy(i,26);printf(*);}for(i=35;i75;i+=2){gotoxy(i,32);printf(*);}for(i=26;i=32;i++){gotoxy(35,i);printf(*);}for(i=26;i=32;i++){gotoxy(75,i);printf(*);}gotoxy(37,28);puts(有三种食物吃不同的食物会有不同命运);gotoxy(37,30);puts(毒草地雷普通食物);color(12);for(i=80;i130;i+=2){gotoxy(i,7);printf(*);}for(i=80;i130;i+=2){gotoxy(i,15);printf(*);}for(i=8;i=15;i++){gotoxy(80,i);printf(*);}for(i=7;i=15;i++){gotoxy(130,i);printf(*);}gotoxy(82,9);color(2);puts(绿★为普通食物吃后身体增长一节加10分);gotoxy(82,11);color(4);puts(红◆为地雷吃后身体长度减半分数减半);gotoxy(82,13);color(6);puts(闪烁▲为毒草吃后身体减一节减10分);color(14);for(i=80;i130;i+=2){gotoxy(i,19);printf(*);}for(i=80;i130;i+=2){gotoxy(i,27);printf(*);}for(i=19;i=27;i++){gotoxy(80,i);printf(*);}for(i=19;i=27;i++){gotoxy(130,i);printf(*);}gotoxy(82,21);puts(wsad也为方向键分别控制上下左右);gotoxy(82,23);puts(qezc也为方向键分别控制左上右上左下右下);gotoxy(82,25);puts(达到一定的分数以及蛇达到一定节数游戏难度会增加);system(pause);system(cls);gotoxy(50,20);printf(请问您是否有继续上一次的游戏?(Y|N));chardd;dd=getch();if(dd=='y'||dd=='Y'){system(cls);duquyouxi();}else{system(cls);denglv();}system(cls);gotoxy(20,20);printf(请选择难度输入1代表简单(easy)输入2代表普通(normal)输入3代表困难(difficult)输入4代表退出游戏(over)输入后请按下enter键\n);scanf(%d,&temp);while(temp!=1&&temp!=2&&temp!=3&&temp!=4){gotoxy(20,20);printf(输入错误请重新输入输入1代表简单输入2代表普通输入3代表困难输入4代表退出游戏输入后请按下enter键\n);scanf(%d,&temp);}if(temp==1){gamespeed=160;add=10;}if(temp==2){gamespeed=150;add=13;}if(temp==3){gamespeed=140;add=16;}if(temp==4){exit(0);}system(cls);}voidprintfmap(){if(temp==1){color(13);for(i=0;i100;i+=2)//打印出上下边界{gotoxy(i,0);printf(¤);gotoxy(i,36);printf(¤);}for(i=1;i36;i++)//打印出左右边界{gotoxy(0,i);printf(¤);gotoxy(98,i);printf(¤);}}if(temp==2){color(13);for(i=0;i100;i+=2)//打印出上下边界{gotoxy(i,0);printf(¤);gotoxy(i,36);printf(¤);}for(i=1;i36;i++)//打印出左右边界{gotoxy(0,i);printf(¤);gotoxy(98,i);printf(¤);}color(14);for(i=25;i=30;i++){gotoxy(66,i);printf(¤);}for(i=25;i=30;i++){gotoxy(86,i);printf(¤);}for(i=66;i=86;i+=2){gotoxy(i,25);printf(¤);}for(i=66;i=86;i+=2){gotoxy(i,30);printf(¤);}color(14);for(i=5;i=10;i++){gotoxy(12,i);printf(¤);}for(i=5;i=10;i++){gotoxy(32,i);printf(¤);}for(i=12;i=32;i+=2){gotoxy(i,5);printf(¤);
本文标题:贪吃蛇多功能 VC6.0
链接地址:https://www.777doc.com/doc-3261624 .html