C语言版贪吃蛇-学习版:完整代码在最后

  • 项目说明
    • 主界面
    • 游戏设置界面
    • 游戏难度界面
    • 界面设置
    • 游戏模式界面
    • 游玩示意图
    • 彩蛋
    • 石头剪刀布
  • 完整代码
  • 结束语

项目说明

学习c语言的时候做的一个小游戏,很简陋,很多地方还可以优化,有彩蛋,有bug,还送了个剪刀石头布的小游戏
直接上图!!!!!

主界面

游戏设置界面

游戏难度界面

界面设置


游戏模式界面

游玩示意图

单人

双人

闯关

暂停

彩蛋

有个隐藏关卡,搞忘怎么触发了!!!!有兴趣自己去找吧

石头剪刀布

完整代码

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <windows.h>
#include <time.h>
#include <string.h>
typedef struct
{int x;int y;
}SNAKE;long start,stop;//保存程序的开始和结束打点数
SNAKE snake[100];//蛇
SNAKE snake1[100];
int highscore;//最高分
int cq=0;//出拳数
int TARGET=1,BORDER=2;// 靶子,边框
int nn=0,mm=5,kk=2;//nn地图颜色mm边框颜色 kk靶子颜色
int snake_length;//蛇长度
int snake_length1;
int map_high,map_wide;//地图长 宽
int score=0,score2=0;//得分
char input;
char A='s',B=72;//接收用户输入控制蛇移动
int food_x,food_y;//确认食物的位置
int flag=0,flag5,flag1,flag11,flag22;//接口
int i,j;
float t=70;//蛇的速度
int mapmap=1;//判断地图大小是否设置过
char ch;//保存input
int c;//判断是否是wasd及空格以外的字符
int CHECKPOINT=1;//关卡
int mode=4;
int xx[100][100]={0};//地图障碍2
int go;//双人模式输赢
void HideCursor()
{CONSOLE_CURSOR_INFO cursor_info = {1, 0};SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);
}
void gotoxy(int x,int y)
{HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);COORD pos;pos.X = x;pos.Y = y;SetConsoleCursorPosition(handle,pos);
}
int TIME()//计时函数
{stop=clock();return (stop-start)/CLK_TCK;}void color(int nn)//颜色
{SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),nn);
}
int score1(int fs)//最高历史记录
{int sss=0;FILE *f=fopen("最高记录.txt","a+");fscanf(f,"%d",&sss);if(sss>=fs){fclose(f);return sss;}else{FILE *ff=fopen("最高记录.txt","w+");fprintf(ff,"%d",fs); fclose(ff);return fs;}
}
void menu1()//蛇图形
{color(4);printf("\t\t /^\\/^\\");color(2);printf("\n\t     ___");color(4);printf("|__|  o|");color(2);printf("\n      v     /");color(4);printf("\t    \\_/");color(2);printf(" \\");color(4);printf("\n      \\____|__________/");color(2);printf("  \\\n\t   \\_______\t  \\\n\t           |\t  |\n\t          /\t  /\n\t        /\t /");printf("\n\t      /        /\t\t\t       \\");printf("\n\t     /        /\t\t\t               \\");printf("\n\t    /        /                 -               \\ \\");printf("\n\t   /        /               -~    ~-           \\  \\");printf("\n\t  <        <             -~         ~-         |   |");printf("\n\t   \\       \\           -~            ~-       /    |  ");printf("\n\t    \\       \\        -~                ~-    /     / ");printf("\n\t     \\       ~++++++ ~        ~-~        ~ --     -~ ");printf("\n\t      -~                    -~     ~-             -~ ");printf("\n\t       -~                -~          ~-          -~ ");printf("\n\t        -~             -~             ~-       -~  ");printf("\n\t          -~—++++++-~                  -~___-~  \n ");
//  printf("                  开始游戏后请全屏模式进行游戏\n");
}
void menu2()//功能选择区
{int a,b;HideCursor();int n,err=1;//n:输入 err:输错次数,满10清空char explain;//玩法说明中接受字符printf("                        欢迎进入C语言小游戏\n");color(4);    printf("\t\t\t    贪吃蛇大作战\n");color(6);printf("\t     ◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎\n");printf("\t     ◎                                          ◎\n");printf("\t     ◎");color(15);printf("       1.开始游戏      2.游戏设置");color(6);printf("         ◎\n");printf("\t     ◎                                          ◎\n");printf("\t     ◎");color(15);printf("       3.退出游戏      4.玩法说明");color(6);printf("         ◎\n");printf("\t     ◎                                          ◎\n");printf("\t     ◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎\n");flag:n=getch();switch(n){case 49: system("CLS");if(mode==2)CHECKPOINT=1;game(); break;case 50: system("CLS");menu1();gameset();break;case 51: printf("游戏已退出!");exit(0);break;case 52: system("CLS");color(6);printf("\tw\\W       向上!");printf("\n\ts\\S       向下!");printf("\n\ta\\A       向左!");printf("\n\td\\D       向右!");printf("\n\t空格       暂停!");printf("\n\t双人模式p2;↑↓←→");color(9);printf("\n\t游戏制作人:岑徐节,陈宏,吴泽杰,雷磊,唐小林,杨宇朗");color(6);printf("\n\n\t>>按q返回主菜单<<");while(1){explain=getch();if(explain=='q'){system("CLS");break;}}main();default:printf("\n\t     输入非法!请重新输入:"); fflush(stdin); err++;if(err%10==0){system("CLS"); main();break;    }goto flag;}
}
void game()//游戏函数
{start=clock();score=0;HideCursor() ;highscore=score1(score);char R[10];startmap();food();if(flag5)R[10]="R";while (1){flag3:R[10]='0';if(mode==4)//双人 {if(snake1[0].y==0||xx[snake1[0].y][snake1[0].x]==2||snake1[0].y==map_wide-1||snake1[0].x==map_high-1||snake1[0].x==0)goto death;} if(xx[snake[0].y][snake[0].x]==3||snake[0].y==0||xx[snake[0].y][snake[0].x]==2||snake[0].y==map_wide-1||snake[0].x==map_high-1||snake[0].x==0){if(xx[snake[0].y][snake[0].x]==3){if(mode==1) mode=3;else    mode=1;if(mode==3){snake[0].x=snake[0].x;snake[0].y=snake[0].y-33;goto flag;}else  if(mode==1){snake[0].x=snake[0].x;snake[0].y=snake[0].y+33;    goto flag;}}highscore=score1(score);flag6:printf("游戏结束!\n");death:  gameagain();snake[0].x=map_high/2;snake[0].y=map_wide/2;}flag:show();updatewithoutinput();updatewithinput();color(770);if(mode!=4){printf("最高纪录:%d                 ",highscore);printf("目前得分:%d\t",score); printf("         已用时%d秒",TIME());}else{printf("p1得分:%d\t",score);printf("p2得分:%d\t             ",score2);printf("         已用时%d秒",TIME());}color(660);if(mode!=4){printf("\n操作说明:w\\W  向上  s\\S  向下    a\\A  向左  d\\D  向右  '空格'  暂停  ");}else  {printf("\np1:w\\W 向上 s\\S 向下 a\\A 向左 d\\D 向右    '空格' 暂停     p2:↑↓←→ ");}                 color(0);for(i=0;i<snake_length||i<snake_length1;i++){ if( (snake[0].x==snake1[i].x)&&(snake[0].y==snake1[i].y)){go=1;goto flag6;}if((i>=2&&(snake[0].x==snake[i].x)&&(snake[0].y==snake[i].y))){if(i==2){switch(input){case 'W':case 'w':snake[0].y+=2;break;case 'S':case 's':snake[0].y-=2;break;case 'A':case 'a':snake[0].x+=2;break;case 'D':case 'd':snake[0].x-=2;break;       }}else //if(mode==1){goto flag6;}}}if(mode==4){for(i=0;i<snake_length1||i<snake_length;i++){if(   (snake1[0].x==snake[i].x)&&(snake1[0].y==snake[i].y)){go=2; goto flag6;}if(i>=2&&(snake1[0].x==snake1[i].x)&&(snake1[0].y==snake1[i].y)){if(i==2){switch(input){case 72:if(mode==4){snake1[0].y+=2;break;}case 80:if(mode==4){snake1[0].y-=2;break;}case 75:if(mode==4){snake1[0].x+=2;break;}case 77:if(mode==4){snake1[0].x-=2;break;}}}else{goto flag6;}}}  }}
}
void gameagain()//死亡界面
{int n;system("cls");if(mode!=4){int aa[15][37]={0};//  五角星aa[0][18]=1;    for(j=17;j<20;j++)aa[1][j]=1;     for(j=16;j<21;j++)aa[2][j]=1;     for(j=15;j<22;j++)aa[3][j]=1;   for(j=14;j<23;j++)aa[4][j]=1;    for(j=1;j<36;j++)aa[5][j]=1;     for(j=4;j<33;j++)aa[6][j]=1;     for(j=7;j<15;j++)aa[7][j]=1;     for(j=15;j<16;j++)aa[7][j]=2;    for(j=16;j<24;j++)aa[7][j]=1;    for(j=10;j<27;j++)aa[8][j]=1;    for(j=12;j<25;j++)aa[9][j]=1;    for(j=11;j<26;j++)aa[10][j]=1;   for(j=10;j<18;j++)aa[11][j]=1;   for(j=19;j<27;j++)aa[11][j]=1;   for(j=9;j<15;j++)aa[12][j]=1;    for(j=22;j<28;j++)aa[12][j]=1;   for(j=8;j<12;j++)aa[13][j]=1;    for(j=25;j<29;j++)aa[13][j]=1;   for(j=7;j<9;j++)aa[14][j]=1;     for(j=28;j<30;j++)aa[14][j]=1;   aa[15][6]=1,aa[15][31]=1;for(i=0;i<15;i++){printf("\t\t");for(j=0;j<37;j++){if(aa[i][j]==1){color(6);printf("*");}else if(aa[i][j]==2){color(5);printf("得分:%d",score);}else printf(" ");} printf("\n");}}else{printf("\n\n\n\n\n\n\n\n");color(5);printf("\t\t\t\t双人模式\t\t\n");}if(mode==4){color(9);printf("\t     ○○○○○○○○○○○○○○○○○○○○○○○○\n");printf("\t     ○                                            ○\n");printf("\t     ○                                            ○\n");if(go==1)printf("\t\t\t\t  p2获胜\n");if(go==2)printf("\t\t\t\t  p1获胜\n");color(9);printf("\t     ○ ");color(2);printf("\tp1得分:%d\tp2得分:%d\t",score,score2);color(9);printf("   ○\n");printf("\t     ○ ");color(15);printf("\t\tr.重 新 游 戏\t\t");color(9);printf("   ○\n");printf("\t     ○ ");color(15);printf("\t\tm.返 回 菜 单\t\t");color(9);printf("   ○\n");printf("\t     ○ ");color(15);printf("\t\te.退 出 游 戏\t\t");color(9);printf("   ○\n");printf("\t     ○                                            ○\n");printf("\t     ○                                            ○\n");printf("\t     ○○○○○○○○○○○○○○○○○○○○○○○○\n");}else{color(9);printf("\t     ○○○○○○○○○○○○○○○○○○○○○○○○\n");printf("\t     ○                                            ○\n");printf("\t     ○                                            ○\n");printf("\t     ○ ");color(15);printf("\t\tr.重 新 游 戏\t\t");color(9);printf("   ○\n");printf("\t     ○ ");color(15);printf("\t\tq.继 续 游 戏\t\t");color(9);printf("   ○\n");printf("\t     ○ ");color(15);printf("\t\tm.返 回 菜 单\t\t");color(9);printf("   ○\n");printf("\t     ○ ");color(15);printf("\t\te.退 出 游 戏\t\t");color(9);printf("   ○\n");printf("\t     ○                                            ○\n");printf("\t     ○                                            ○\n");printf("\t     ○○○○○○○○○○○○○○○○○○○○○○○○\n");    }flag4:n=getch();if(mode==4){if(n==113||n==81)n=1;}switch(n){case 82:case 114:   system("CLS");if(mode==3)mode=1;if(mode==2)CHECKPOINT=1;for(i=0;i<=99;i++)for(j=0;j<=99;j++)xx[i][j]=0;if(mode==4){score=0;score2=0;}for(i=1;i<=snake_length;i++){snake[i].x=snake[i-1].x;snake[i].y=snake[i-1].y;}game();getch();break;case 77:case 109: system("CLS");main();break;case 81:case 113:  system("CLS");color(1);cq=0;char gamer;  // 玩家出拳int computer,gamer1=0,computer1=0;  // 电脑出拳int result;  // 比赛结果while (1){color(1);system("CLS");printf("\t     ---------------------------------------------\n");printf("\t     |                    猜拳                   |\n");printf("\t     |                                           |\n");printf("\t     |               ");color(4);printf("规则:三局俩胜制") ;color(1);printf("            |\n");printf("\t     |                                           |\n");printf("\t     |      e.结束游戏          m.返回主菜单     |\n");printf("\t     ---------------------------------------------\n");flag1:color(7);printf("\n");printf("\t\tA:剪刀\n\t\tB:石头\n\t\tC:布\n");printf("\t\t第%d次出拳:",cq+1);flag:  scanf("\t%c",&gamer);switch (gamer){case 65 : case 97:  // A | agamer=4; break;case 66 : case 98:  // B | bgamer=7; break;case 67 : case 99:  // C | cgamer=10; break;case 69 : case 101: exit(0);break;case 77: case 109: system("CLS");main();break;default:color(3);printf("\t\t你的选择为 %c 选择错误!请重新输入你要出的拳头:",gamer);printf("");goto flag;break;}srand((unsigned)time(NULL));  // 随机数种子computer=rand()%3;  // 产生随机数并取余,得到电脑出拳result=(int)gamer+computer;  // gamer 为 char 类型,数学运算时要强制转换类型printf("\t\t电脑出了");switch (computer){case 0:printf("\t\t剪刀\n");break; //4    1case 1:printf("\t\t石头\n");break; //7  2case 2:printf("\t\t布\n");break;   //10 3}printf("\t\t你出了     ");switch (gamer){case 4:printf("\t\t剪刀\n");break;case 7:printf("\t\t石头\n");break;case 10:printf("\t\t布\n");break;}if (result==6||result==7||result==11){color(6); printf("\t\t\t你赢了!");gamer1++;printf("\n\t     ---------------------------------------------\n");}else if (result==5||result==9||result==10){color(6);printf("\t\t\t电脑赢了!");computer1++;printf("\n\t     ---------------------------------------------\n");}else {color(6);printf("\t\t\t平手");printf("\n\t     ---------------------------------------------\n");goto flag1;}Sleep(1000);cq++;if(cq==3)break;}if(computer1>gamer1){printf("\t\t复活失败!!!即将返回主菜单......");score=0;Sleep(2000);system("CLS");main();}if(snake_length>=1)//进入下一关全部位置一样for(i=1;i<=snake_length;i++){snake[i].x=snake[i-1].x;snake[i].y=snake[i-1].y;}system("CLS");printf("复活成功");Sleep(2000); system("CLS");break;case 69:case 101:  printf("游戏已退出!");exit(0);break;default:printf("\t\t输入错误,请重新输入!!!\n");fflush(stdin);goto flag4;}
}
void startmap()//确认开始地图 及初始化蛇
{if(mapmap==1){map_high=35;map_wide=35;}if(mode==1||mode==2){snake[0].x=map_high/2;snake[0].y=map_wide/2;snake_length=1;}if(mode==4){snake[0].x=10;snake[0].y=10;snake_length=1;snake1[0].x=20;snake1[0].y=20;snake_length1=1;}
}
void food()//产生食物{srand((unsigned)time(NULL));food_x=rand()%(map_high-2)+1;food_y=rand()%(map_wide-2)+1;}int snakehit(int x,int y){int k;int flag2,flag22;flag2=0;flag22=0;for(k=0;(k<=snake_length);k++)if(snake[k].x==y&&snake[k].y==x){if(k==0)flag2=2;elseflag2=1;break;}for(k=0;k<=snake_length1;k++)if(snake1[k].x==y&&snake1[k].y==x){if(k==0)flag22=2;elseflag22=1;break;}if(x==0&&y==0) return 3;if(flag2==1||flag22==1)return 1;elseif(flag2==2||flag22==2)return 2;elsereturn 3;}void show()//输出地图{HideCursor() ;int i,j;gotoxy(0,0);if(mode==1){printf("\t\t\t\t");color(550);printf("一般模式\n",CHECKPOINT);}else if(mode==3){printf("\t\t\t\t");color(550);printf("隐藏关卡\n",CHECKPOINT);}else if(mode==3){printf("\t\t\t\t");color(550);printf("第%d关\n",CHECKPOINT);}else if(mode==4){printf("\t\t\t\t");color(550);printf("双人模式\n",CHECKPOINT);}for(i=0;i<map_wide;i++){for(j=0;j<map_high;j++){flag=0;flag=snakehit(i,j);if(mode==4){flag1=0; flag1=snakehit(i,j); }if(mode==4?flag==1||flag1==1||flag1==2||flag==2:flag==1||flag==2){if(snakehit(i,j)==2){if(i==snake1[0].y&&j==snake1[0].x)color(2);else color(6);printf("●");}else //if((i!=0&&j!=0)){color(4);printf("◆");}}elseif(i==food_y&&j==food_x){int a,b;flag1:for(a=0;a<=snake_length;a++){if(food_y==snake[a].y&&food_x==snake[a].x){food();goto flag1;}}flag2: if(xx[food_y][food_x]==2){food();goto flag2;}color(kk);switch(TARGET){case 1:printf("▲");break;case 2:printf("●");break;case 3:printf("★");break;case 4:printf("◇");break;case 5:printf("☆");break;}}else{checkpoint(i,j,xx);}}printf("\n");}Sleep(t);}
void checkpoint(int i,int j,int xx[][100])//关卡
{if(i==0||i==map_wide-1||j==0||j==map_high-1){if(mode==1){if((i==34)&&(j>=1&&j<=5))xx[i][j]=3;if((i==0)&&(j>=1&&j<=5))xx[i][j]=2;color(mm);}else if(mode==3){if((i==0)&&(j>=1&&j<=5))xx[i][j]=3;if((i==34)&&(j>=1&&j<=5))xx[i][j]=2;color(13);}else if(mode==4)color(90);else if(mode==2)color(mm);switch(BORDER){case 1:printf("卐");break;case 2:printf("■");break;case 3:printf("⊕");break;case 4:printf("◎");break;case 5:printf("■");break;case 6:printf("口");break;}}else if(mode==1||mode==3||mode==4){if(mode==3){if((i==20)&&(j==10||j==11||j==12||j==13||j==14||j==15||j==16||j==18||j==19||j==20||j==21||j==22||j==23||j==24)||(i==19||i==18||i==17||i==16||i==15||i==14||i==13||i==12||i==11)&&(j==10||j==18)){   color(5);printf("■");xx[i][j]=2;    }else {color(7);printf("■");  }}else  {for(i=0;i<=99;i++)for(j=0;j<=99;j++)xx[i][j]=0;color(nn);if(mode==4)color(17);printf("■");}}else switch(CHECKPOINT){case 1:if((i==5||i==27)&&(j==6||j==7||j==8||j==25||j==26||j==27)){   color(5);printf("■");xx[i][j]=2;    }else {color(nn);printf("■"); }break;case 2:if(((i==5||i==27)&&(j==6||j==7||j==8||j==25||j==26||j==27))||((j==6||j==27)&&(i==6||i==7||i==8||i==25||i==26||i==24))||(i==8||i==24)&&(j==15||j==16||j==17||j==18)){   color(5);printf("■");xx[i][j]=2;}else {color(nn);printf("■"); }break;case 3:if((i==5||i==6||i==7||i==8||i==9||i==10||i==11||i==12||i==13)&&(j==10||j==24)||(i==13)&&(j==1||j==2||j==3||j==4||j==5||j==6||j==7||j==8||j==9||j==25||j==26||j==27||j==28||j==29||j==30||j==31||j==32||j==33)||(i==25)&&(j>=11&&j<=23)){   color(5);printf("■");xx[i][j]=2;}else {color(nn);printf("■");   }break;case 4:if((j==8)&&(i>=5&&i<=28&&i%2==0)||(i==6||i==28)&&(j>7&&j<=25&&j%2==0)||(j==13)&&(i>=11&&i<=23)||(i==11||i==23)&&(j>13&&j<=24)||(j==24&&((i>=6&&i<=11)||(i>=23&&i<=28)))){   color(5);printf("■");xx[i][j]=2;}else {color(nn);printf("■");    }break;flag:case 5:if(i==4&&(j>=4&&j<=10)){   color(5);printf("■");xx[i][j]=2; }else {color(nn);printf("■"); }break;case 6:if((i==12||i==24)&&(j==14)||(i==13)&&(j==14)||(i==19)&&(j==19)||(i==14||i==11||i==23)&&(j==15)||(i==15||i==10||i==22)&&(j==16)||(i==16||i==9||i==21)&&(j==17)||(i==17||i==8||i==20)&&(j==18)||(i==18||i==7||i==19)&&(j==19)||(i==5||i==11)&&(j==4)||(i==6)&&(j==4)||(i==9)&&(j==6)||(i==4||i==7||i==10)&&(j==5)||(i==3||i==8)&&(j==6)||(i==5||i==11)&&(j==28)||(i==6)&&(j==28)||(i==9)&&(j==30)||(i==4||i==7||i==10)&&(j==29)||(i==3||i==8)&&(j==30)){   color(5);printf("■");xx[i][j]=2;}else {color(nn);printf("■"); }break;case 7:if((j==6)&&(i==5||i==7||i==9||i==11||i==13||i==15||i==17||i==19||i==21||i==23||i==24)||(j==28)&&(i==5||i==7||i==9||i==11||i==13||i==15||i==17||i==19||i==21||i==23||i==24)||(i==5)&&(j==7)||(i==7)&&(j==9)||(i==9)&&(j==11)||(i==11)&&(j==13)||(i==13)&&(j==15)||(i==15)&&(j==17)||(i==17)&&(j==19)||(i==19)&&(j==21)||(i==21)&&(j==23)||(i==23)&&(j==25)||(i==5||i==24)&&(j==27)||(i==6)&&(j==25)||(i==8)&&(j==23)||(i==10)&&(j==21)||(i==12)&&(j==19)||(i==14)&&(j==17)||(i==16)&&(j==15)||(i==18)&&(j==13)||(i==20)&&(j==11)||(i==22)&&(j==9)||(i==24)&&(j==7)){   color(5);printf("■");xx[i][j]=2;}else {color(nn);printf("■");    }break;case 8:if((j==2)&&(i==32)||(j==3)&&(i==30)||(j==4)&&(i==28)||(j==5)&&(i==26)||(j==6)&&(i==24)||(j==7)&&(i==22)||(j==8)&&(i==20)||(j==9)&&(i==18)||(j==10)&&(i==16)||(j==11)&&(i==14)||(j==12)&&(i==12)||(j==13)&&(i==10)||(j==14)&&(i==8)||(j==15)&&(i==6)||(j==16)&&(i==4)||(j==17)&&(i==2)||(j==32)&&(i==32)||(j==31)&&(i==30)||(j==30)&&(i==28)||(j==29)&&(i==26)||(j==28)&&(i==24)||(j==27)&&(i==22)||(j==26)&&(i==20)||(j==25)&&(i==18)||(j==24)&&(i==16)||(j==23)&&(i==14)||(j==22)&&(i==12)||(j==21)&&(i==10)||(j==20)&&(i==8)||(j==19)&&(i==6)||(j==18)&&(i==4)||(j==17)&&(i==2)||(i==24)&&(j>7&&j<27)||(i==14)&&(j>12&&j<22)){   color(5);printf("■");xx[i][j]=2;}else {color(nn);printf("■"); }break;case 9:if((j==11)&&(i==5||i==7||i==9||i==11||i==13||i==15||i==17||i==19||i==21||i==23||i==25||i==27||i==29)||(i==16)&&(j==13)||(i==15)&&(j==14)||(i==14)&&(j==15)||(i==13)&&(j==16)||(i==12)&&(j==17)||(i==11)&&(j==18)||(i==10)&&(j==19)||(i==9)&&(j==20)||(i==8)&&(j==21)||(i==7)&&(j==22)||(i==6)&&(j==23)||(i==5)&&(j==24)||(i==18)&&(j==13)||(i==19)&&(j==14)||(i==20)&&(j==15)||(i==21)&&(j==16)||(i==22)&&(j==17)||(i==23)&&(j==18)||(i==24)&&(j==19)||(i==25)&&(j==20)||(i==26)&&(j==21)||(i==27)&&(j==22)||(i==28)&&(j==23)||(i==29)&&(j==24)||(i==29)&&(j==13||j==15||j==17||j==19||j==21||j==23)||(i==5)&&(j==13||j==15||j==17||j==19||j==21||j==23)){   color(5);printf("■");xx[i][j]=2;}else {color(nn);printf("■");   }break;case 10:if((j==11)&&(i==5||i==7||i==9||i==11||i==13||i==15||i==17||i==19||i==21||i==23||i==25||i==27||i==29)||(i==18)&&(j>12&&j<24)||(i==5)&&(j==13||j==15||j==17||j==19||j==21||j==23)||(i==29)&&(j==13||j==15||j==17||j==19||j==21||j==23)||(j==25)&&(i==5||i==7||i==9||i==11||i==13||i==15||i==17||i==19||i==21||i==23||i==25||i==27||i==29)){   color(5);printf("■");xx[i][j]=2;}else {color(nn);printf("■");   }break;case 11:if(((i==19||i==15)&&(j==14||j==16||j==18||j==20))||((j==14||j==20)&&i==17)||((i==4||i==29)&&((j>=4&&j<=13)||(j>=20&&j<=29)))||((i==2||i==6||i==27||i==31)&&(j>=12&&j<=20))){   color(5);printf("■");xx[i][j]=2; }else {color(nn);printf("■"); }break;case 12:if(((i==4||i==29)&&((j>=4&&j<=14)||(j>=20&&j<=30)))||((j==4||j==30)&&(i>=4&&i<=30))||((j==14||j==20)&&(i==7||i==10||i==26||i==23))||((j==9||j==25)&&(i==13||i==20))||((i==10||i==23)&&((j>=9&&j<=14)||(j>=20&&j<=25)))||((i==17)&&((j>=9&&j<=14)||(j>=20&&j<=25)))){   color(5);printf("■");xx[i][j]=2; }else {color(nn);printf("■"); }break;case 13:if((((i>=3&&i<=4)||i==6||i==7)&&(j==15||j==16||j==18||j==19))||((i==9||i==20)&&(j==13||j==21))||((i==10||i==21)&&(j==12||j==22))||((i>=9&&i<=15)&&(j==16||j==18))||((i==11||i==22)&&(j==11||j==23))||(i==12&&(j==10||j==24))||(i==13&&(j==9||j==25))||((i==39||i==30)&&(j>=8&&j<=25)) ){   color(5);printf("■");xx[i][j]=2;   }else {color(nn);printf("■"); }break;case 14:if(((i==3||i==29)&&(j>=4&&j<=30))||((i>=15&&i<=29)&&j==4)||(j==30&&(i>=4&&i<=15))||(j==4&&(i==5||i==7||i==9||i==11||i==13))||(j==30&&(i==27||i==25||i==23||i==21||i==19||i==17))||(i==15&&(j==6||j==8||j==10||j==12||j==14||j==16||j==18||j==20||j==22||j==24||j==26||j==28))||(i==19&&(j==14||j==16||j==18||j==20))||((j==14||j==20)&&i==17)){   color(5);printf("■");xx[i][j]=2;    }else {color(nn);printf("■"); }break;case 15:if(((j==10||j==12||j==21||j==23)&&((i>=3&&i<=12)||(i>=18&&i<=32)))||((i==14||i==16)&&((j>=2&&j<=8)||(j>=26&&j<=32)))||((i==25||i==27)&&((j>=3&&j<=8)||(j>=25&&j<=31)))||(i==5&&((j>=2&&j<=4)||(j<=8&&j>=7)||(j>=25&&j<=28)||(j<=32&&j>=30)))||(i==7&&((j>=3&&j<=8)||(j>=26&&j<=32)))||((i==5||i==25)&&(j>=15&&j<=18))){   color(5);printf("■");xx[i][j]=2;    }else {color(nn);printf("■");}break;case 16:if(((i==3||i==19)&&(j==6||j==8||j==10||j==12||j==14||j==16||j==18||j==20||j==22||j==24||j==26||j==28))||((j==6||j==28)&&(i==5||i==7||i==9||i==11||i==13||i==15||i==17||i==19))||((j==12||j==22)&&(i==21||i==23||i==25||i==27||i==29))||(i==5&&((j>=9&&j<=11)||(j>=23&&j<=25)))||((i==14&&(j>=14&&j<=20)))||(i==15&&(j>=16&&j<=18))||(i==11&&(j>=16&&j<=18))||(i==12&&j==17)||(i==7&&(j==10||j==24))){   color(5);printf("■");xx[i][j]=2;   }else {color(nn);printf("■"); }break;case 17:if(((i==2||i==30)&&((j==2||j==4||j==6||j==8||j==9||j==11||j==13||j==15)||(j==19||j==21||j==23||j==25||j==26||j==28||j==30||j==32)))||((j==2||j==15||j==19||j==32)&&(i==4||i==6||i==8||i==10||i==12||i==14||i==16||i==18||i==20||i==22||i==24||i==26||i==28))||((i==15||i==19)&&(j==16||j==18))||((i==27||i==25)&&((j>=7&&j<=10)||(j>=24&&j<=27)))){   color(5);printf("■");xx[i][j]=2;  }else {color(nn);printf("■"); }break;default :goto flag;}
}void updatewithinput()
{int n=1,m=0;flag1:  if(kbhit())  input=getch();switch(input){case 'W':case 'w':A=input;break;case 'S':case 's':A=input;break;case 'A':case 'a':A=input;break;case 'D':case 'd':A=input;break;case -32:input=getch();case 72:B=input;break;case 80:B=input;break;case 75:B=input;break;case 77:B=input;break;case ' ':system("cls");printf("\n\n\t\t\t      ◎已暂停◎");char C[20]={'f','o','u','n','d','t','h','e','e','g','g'},a[20];color(n%14+1); n++;if(!strcmp(C,C)){printf(" \n                     *********           *********             \n");printf("                *****************   *****************            \n");printf("               ****************************************           \n");printf("             *******************************************           \n");printf("            *********************************************          \n");printf("            *********************************************          \n");printf("            *********************************************           \n");printf("            *********************************************           \n");printf("            *********************************************           \n");printf("            *********************************************           \n");printf("             *******************************************            \n");printf("              *****************************************             \n");printf("               ***************************************            \n");printf("                *************************************             \n");printf("                 ***********************************             \n");printf("                  *********************************             \n");printf("                    *****************************             \n");printf("                      *************************            \n");printf("                        *********************             \n");printf("                           ***************              \n");printf("                              *********              \n");printf("                                 ***            \n");}Sleep(1000);   goto flag1;fflush(stdin);break;}switch(A){case 'W':case 'w':snake[0].y--;ch='w';break;case 'S':case 's':snake[0].y++;ch='s';break;case 'A':case 'a':snake[0].x--;ch='a';break;case 'D':case 'd':snake[0].x++;ch='d';break;}if(mode==4)switch(B){case 72:snake1[0].y--;break;case 80:snake1[0].y++;break;case 75:snake1[0].x--;break;case 77:snake1[0].x++;break;}
}void updatewithoutinput()//与输入无关的更新
{int j;flag5=0;if(snake[0].x==food_x&&snake[0].y==food_y||snake1[0].x==food_x&&snake1[0].y==food_y){   if(mode==1||mode==3||mode==4){if(snake[0].x==food_x&&snake[0].y==food_y){snake_length++;score+=5;}    if(snake1[0].x==food_x&&snake1[0].y==food_y){snake_length1++;score2+=5;}}else{score+=CHECKPOINT*5;snake_length++;if(snake_length%3==0){int i,j;for(i=0;i<=99;i++)for(j=0;j<=99;j++)xx[i][j]=0;CHECKPOINT++;snake[0].x=20;   snake[0].y=20;if(snake_length>=1)//进入下一关全部位置一样for(i=1;i<=snake_length;i++){snake[i].x=snake[i-1].x;snake[i].y=snake[i-1].y;}}}food();}if(snake_length>=1)for(i=snake_length;i>0;i--){snake[i].x=snake[i-1].x;snake[i].y=snake[i-1].y;}if(snake_length1>=1)for(i=snake_length1;i>0;i--){snake1[i].x=snake1[i-1].x;snake1[i].y=snake1[i-1].y;}}void colorselect()//颜色表{printf("\t\t1.");  color(16);printf("黑色\n");color(1);printf("\t\t2.");printf("蓝色\n");color(2);printf("\t\t3.");printf("绿色\n");color(3);printf("\t\t4.");printf("湖蓝色\n");color(4);printf("\t\t5.");printf("红色\n");color(5);printf("\t\t6.");printf("紫色\n");color(6);printf("\t\t7.");printf("黄色\n");color(7);printf("\t\t8.");printf("白色\n");color(8);printf("\t\t9.");printf("灰色\n");color(9);printf("\t\t10.");printf("淡蓝色\n");color(10);printf("\t\t11.");printf("淡绿色\n");color(11);printf("\t\t12.");printf("淡浅绿色\n");color(12);printf("\t\t13.");printf("淡红色\n");color(13);printf("\t\t14.");printf("淡紫色\n");color(14);printf("\t\t15.");printf("淡黄色\n");color(15);printf("\t\t16.");printf("亮白色\n");}void gameset()//设置
{int n;color(13);printf("\t     |╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳ | \n");printf("\t     |╳╳                                        ╳╳ | \n");printf("\t     |╳╳              ");color(330);printf("1.游 戏 难 度");color(13);printf("             ╳╳ | \n");printf("\t     |╳╳                                        ╳╳ | \n");printf("\t     |╳╳              ");color(330);printf("2.界 面 设 置");color(13);printf("             ╳╳ | \n");printf("\t     |╳╳                                        ╳╳ | \n");printf("\t     |╳╳              ");color(330);printf("3.返 回 菜 单");color(13);printf("             ╳╳ | \n");printf("\t     |╳╳                                        ╳╳ | \n");printf("\t     |╳╳              ");color(330);printf("4.游 戏 模 式");color(13);printf("             ╳╳ | \n");printf("\t     |╳╳                                        ╳╳ | \n");printf("\t     |╳╳                                        ╳╳ | \n");printf("\t     |╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳╳ | \n");flag4:n=getch();switch(n){case 49: system("CLS");menu1();gamelevel(); break;case 50: system("CLS");menu1();gameinterface();break;case 51: system("CLS");main();break;case 52: system("CLS");printf("\t     ---------------------------------------------\n");printf("\t     |                                           |\n");printf("\t     |                                           |\n");printf("\t     |                游 戏 模 式                |\n");printf("\t     |            --默认:一般模式--             |\n");printf("\t     ---------------------------------------------\n");color(3);printf("\t\t0.双人模式\n");color(4);printf("\t\t1.一般模式\n");color(5);printf("\t\t2.闯关模式\n");color(6);printf("\t\t5.返回上一级\n");color(7);printf("\t\t6.返回菜单  \n");int s;flag:s=getch(   );switch(s){case 48: mode=4;printf("\t\t已选择双人模式!!!放回主菜单中.....\n");Sleep(1500);system("CLS");main();break;case 49: mode=1;snake1[0].x=0;snake1[0].y=0;("\t\t已选择一般模式!!!放回主菜单中.....\n");Sleep(1500);system("CLS");main();break;case 50: mode=2;map_high=35;map_wide=35;for(i=0;i<=99;i++)for(j=0;j<=99;j++)xx[i][j]=0;printf("\t\t已选择闯关模式!!!放回主菜单中.....\n");Sleep(1500);system("CLS");main();break;case 53: system("CLS");menu1();gameset();break;case 54: system("CLS");main();break;default:printf("\t\t输入错误,请重新输入!!!\n");fflush(stdin);goto flag;}break;default:printf("\t\t输入错误,请重新输入!!!\n");fflush(stdin);goto flag4;}
}
void gamelevel()//蛇速度
{int n;color(2);printf("\t     ---------------------------------------------\n");color(4);printf("\t     |                  1.简单                   |\n");printf("\t     |                  2.一般                   |\n");printf("\t     |                  3.困难                   |\n");printf("\t     |                  4.专家                   |\n");printf("\t     |                  5.地狱                   |\n");printf("\t     |                                           |\n");printf("\t     |   6.返回主菜单             7.返回上一级   |\n");printf("\t     |                                           |\n");color(2);printf("\t     |            默认:一般模式                 |\n");printf("\t     ---------------------------------------------\n");if(kbhit)flag4:  n=getch(   );switch(n){case 49: t=100; color(7);printf("\n\t     设置成功!!!已选择简单难度。\n\t     即将返回上一级......");Sleep(1800);system("CLS");menu1();gameset();break;case 50: t=70;color(7);printf("\n\t     设置成功!!!已选择一般难度。\n\t     即将返回上一级......");Sleep(1800);system("CLS");menu1();gameset();break;case 51: t=40;color(7);printf("\n\t     设置成功!!!已选择困难难度。\n\t     即将返回上一级......");Sleep(1800);system("CLS");menu1();gameset();break;case 52: t=20;color(7);printf("\n\t     设置成功!!!已选择专家难度n\t     即将返回上一级......");Sleep(1800);system("CLS");menu1();gameset();break;case 53: t=1;color(7);printf("\n\t     设置成功!!!已选择地狱难度。\n\t     即将返回上一级......");Sleep(1800);system("CLS");menu1();gameset();break;case 54:system("CLS");main();break;case 55:system("CLS");menu1();gameset();break;default: printf("\n\t     输入非法!请重新输入:");fflush(stdin);goto flag4;}
}
void gameinterface()//界面设置
{color(1);printf("\t     ▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂\n");printf("\t     |                                            |\n");color(2);printf("\t     |                1.地图大小                  |\n");printf("\t     |                                            |\n");color(5);printf("\t     |                2.地图颜色                  |\n");color(3);printf("\t     |                                            |\n");printf("\t     |                3.靶子设置                  |\n");printf("\t     |                                            |\n");color(4);printf("\t     |                4.边界设置                  |\n");printf("\t     |                                            |\n");color(6);printf("\t     |   5.返回上一级             6.返回主菜单    |\n");color(1);printf("\t     |                                            |\n");printf("\t     ﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌\n");int n;flag:n=getch(    );switch(n){case 49: system("CLS");mapsize();break;case 50: system("CLS"); mapcolor();break;case 51: system("CLS");target();break;case 52: system("CLS");border();break;case 53: system("CLS");menu1();gameset();break;case 54: system("CLS");main();break;default:printf("\t\t输入错误,请重新输入!!!\n");fflush(stdin);goto flag;}}
void border()//边界设置
{flag6:  color(1);printf("\t     ---------------------------------------------\n");printf("\t     |                                            |\n");printf("\t     |                                            |\n");printf("\t     |                 边界设置                   |\n");printf("\t     |                                            |\n");printf("\t     |                                            |\n");printf("\t     ---------------------------------------------\n");color(4);printf("\t\t1.边界样式\n");color(5);printf("\t\t2.边界颜色\n");color(6);printf("\t\t5.返回上一级\n");color(7);printf("\t\t6.返回菜单  \n");int n;flag1: n=getch();switch(n){case 49:system("CLS");color(1);printf("\t     ---------------------------------------------\n");printf("\t     |                                           |\n");printf("\t     |                                           |\n");printf("\t     |                 边界样式                  |\n");printf("\t     |                                           |\n");printf("\t     |               4.开始设置                  |\n");printf("\t     |               5.返回上一级                |\n");printf("\t     |               6.返回菜单                  |\n");printf("\t     ---------------------------------------------\n");int k;flag5:k=getch();switch(k){case 52:system("CLS");color(5);printf("\t\t1.");printf("卍\n");color(5);printf("\t\t2.");printf("▇\n");color(5);printf("\t\t3.");printf("⊕\n");color(5);printf("\t\t4.");printf("◎\n");color(5);printf("\t\t5.");printf("■\n");color(5);printf("\t\t6.");printf("口\n");printf("\t\t请输入选项(enter确认):");scanf("%d",&BORDER);color(14);printf("\n\t\t设置成功!!!");Sleep(1500);system("CLS");break;case 53:system("CLS");goto flag6;break;case 54:system("CLS");main();break;default :printf("\t\t输入错误,请重新输入!!!\n");goto flag5;}case 50:system("CLS");color(1);printf("\t     ---------------------------------------------\n");printf("\t     |                                            |\n");printf("\t     |                                            |\n");printf("\t     |                 边界颜色                   |\n");printf("\t     |               4.开始设置                   |\n");printf("\t     |               5.返回上一级                 |\n");printf("\t     |               6.返回菜单                   |\n");printf("\t     ---------------------------------------------\n");int j;flag3: j=getch();switch(j){case 52:system("CLS");   colorselect();color(8);printf("\t\t请输入选项(enter确认):");flag: scanf("%d",&mm);if(mm>17||mm<1){printf("\t\t设置失败,请重新输入:");goto flag;}--mm;color(14);printf("\n\t\t设置成功!!!");Sleep(1500);system("CLS");break;case 53:system("CLS");goto flag6;break;case 54:system("CLS");main();break;default :printf("\t\t输入错误,请重新输入!!!\n");goto flag3;}case 53:system("CLS"); menu1();gameinterface();case 54:system("CLS");main();break;default :printf("\t\t输入错误,请重新输入!!!\n");goto flag1;}menu1();gameinterface();
}
void target()//靶子设置
{int n;flag1: color(1);printf("\t     ---------------------------------------------\n");printf("\t     |                                            |\n");printf("\t     |                                            |\n");printf("\t     |                 靶子设置                   |\n");printf("\t     |                                            |\n");printf("\t     |                                            |\n");printf("\t     ---------------------------------------------\n");color(4);printf("\t\t1.靶子样式\n");color(5);printf("\t\t2.靶子颜色\n");color(6);printf("\t\t5.返回上一级\n");color(7);printf("\t\t6.返回菜单  \n");
flag4:  n=getch();switch(n){int s;case 49:system("CLS");color(1);printf("\t     ---------------------------------------------\n");printf("\t     |                                           |\n");printf("\t     |                                           |\n");printf("\t     |                 靶子样式                  |\n");printf("\t     |               4.开始设置                  |\n");printf("\t     |               5.返回上一级                |\n");printf("\t     |               6.返回菜单                  |\n");printf("\t     ---------------------------------------------\n");flag3:   s=getch();switch(s){case 52:system("CLS");color(5);printf("\t\t1.");printf("▲\n");color(5);printf("\t\t2.");printf("●\n");color(5);printf("\t\t3.");printf("★\n");color(5);printf("\t\t4.");printf("◇\n");color(5);printf("\t\t5.");printf("☆\n");printf("\t\t请输入选项(enter确认):");scanf("%d",&TARGET);color(14);printf("\n\t\t设置成功!!!");Sleep(1500);system("CLS");goto flag1;break;case 53:system("CLS");goto flag1;break;case 54:system("CLS");main();break;default :printf("\t\t输入错误,请重新输入!!!\n");goto flag3;}case 50:system("CLS");color(1);printf("\t     ---------------------------------------------\n");printf("\t     |                                            |\n");printf("\t     |                                            |\n");printf("\t     |                 靶子颜色                   |\n");printf("\t     |               4.开始设置                   |\n");printf("\t     |               5.返回上一级                 |\n");printf("\t     |               6.返回菜单                   |\n");printf("\t     ---------------------------------------------\n");int k;flag5:k=getch();switch(k){case 52:system("CLS"); colorselect();color(8);printf("\t\t请输入选项(enter确认):");flag: scanf("%d",&kk);if(kk>17||kk<1){printf("\t\t设置失败,请重新输入:");goto flag;}--kk;color(14);printf("\n\t\t设置成功!!!");Sleep(1500);system("CLS");goto flag1;break;case 53:system("CLS");goto flag1;break;case 54:system("CLS");main();break;default :printf("\t\t输入错误,请重新输入!!!\n");goto flag5;}case 53:system("CLS"); menu1();gameinterface();case 54:system("CLS");main();break;default :printf("\t\t输入错误,请重新输入!!!\n");goto flag4;}menu1();gameinterface();
}
void mapsize()//地图大小
{int n;color(1);printf("\t     ---------------------------------------------\n");printf("\t     |                 地图大小                  |\n");printf("\t     |                                           |\n");printf("\t     |               4.开始设置                  |\n");printf("\t     |               5.返回上一级                |\n");printf("\t     |               6.返回菜单                  |\n");printf("\t     ---------------------------------------------\n");
flag:n=getch();switch(n){case 52:if(mode==2){color(3);printf("\t\t现在是闯关模式,不能设置地图大小!!!返回上一级中......");Sleep(1500);system("CLS");menu1();gameinterface();}system("CLS");color(3);printf("\t\t提示:建议地图高,宽请设置  10  以上\n");color(4);printf("\t\t请输入地图的宽(enter确认):");scanf("%d",&map_wide);color(5);printf("\t\t请输入地图的高(enter确认):");scanf("%d",&map_high);map_high+=2;map_wide+=2;mapmap=2;color(14);printf("\n\t\t设置成功!!!");Sleep(1500);system("CLS");menu1();gameset();break;case 53: system("CLS");menu1();gameinterface();break;case 54: system("CLS");main();break;default :printf("\t\t输入错误,请重新输入!!!\n");goto flag;}}
void mapcolor()//地图颜色
{int n;color(1);printf("\t     ---------------------------------------------\n");printf("\t     |                                           |\n");printf("\t     |                                           |\n");printf("\t     |                 地图颜色                  |\n");printf("\t     |                                           |\n");printf("\t     |                4.开始设置                 |\n");printf("\t     |                5.返回上一级               |\n");printf("\t     |                6.返回菜单                 |\n");printf("\t     ---------------------------------------------\n");flag2:n=getch();switch(n){case 52:system("CLS");colorselect();color(8);printf("\t\t请输入选项(enter确认):");flag: scanf("%d",&nn);if(nn>17||nn<1){printf("\t\t设置失败,请重新输入:");goto flag;}--nn;color(14);printf("\n\t\t设置成功!!!");Sleep(1500);system("CLS");menu1();gameinterface();case 53: system("CLS");menu1();gameinterface();break;case 54: system("CLS");main();break;default :printf("\t\t输入错误,请重新输入!!!\n");goto flag2;}}void main()
{system("mode con cols=70 lines=39");//控制台高70 长39 //settextstyle(DEFAULT_FONT,1,20); menu1();menu2();
}

结束语

所有的结局,都是新的开始
学习记录 end~

贪吃蛇源码(C语言版)-学习版相关推荐

  1. c语言之贪吃蛇源码,C语言之贪吃蛇经典源码

    #define BEG_X2 #define BEG_Y1 #define WID20 #define HEI20 HANDLE hout; typedef enum {UP, DOWN, LEFT, ...

  2. 贪吃蛇c语言经典程序下载,c语言贪吃蛇源码

    c语言贪吃蛇源码是一款非常经典的休闲益智游戏.c语言贪吃蛇源码游戏画面采用了像素风格,并添加了5中游戏模式,为玩家带来更有趣的游戏体验,有兴趣的玩家可以下载c语言贪吃蛇源码玩玩,回忆下童年的乐趣. 游 ...

  3. 贪吃蛇php源代码,GitHub - fusijie/Snake: CocoaChina Cocos2d-x编程大战:贪吃蛇源码汇总...

    ##CocoaChina 编程大战 贪吃蛇源码汇总 ###活动地址: ###获奖地址: ###感谢他们的分享(以下排名不分先后) 1.fireblackill First blood!第一个参与的活动 ...

  4. C++实现贪吃蛇源码

    C++实现贪吃蛇源码 大一刚入学,算是自学的小测验,虽然代码有点丑,但是自我感觉还是蛮好的哈哈哈,毕竟全是自己一个人从无到有写出来的. #include<iostream> #includ ...

  5. Winfrom 极简版贪吃蛇源码

    该源码是我在百度知识库借助前辈的的经验,加上自己的一点小改动写的一个非常简陋的贪吃蛇小程序.如果你们有更好的改动方案,欢迎评论. 进入主题吧! 1.创建一个桌面应运程序,拖一个定时器控件.这样,程序界 ...

  6. 贪吃蛇面向对象c语言,贪吃蛇源码解析(面向对象)

    苹果类:首先苹果有它自向的属性,就是在什么位置(x,y坐标),,还有就是被蛇吃掉后会自动生成一个新的苹果, 属性:x(横坐标),y(竖坐标) 方法:自动生成新的苹果(create),位置在房间内随机 ...

  7. python贪吃蛇源码_Python:游戏:贪吃蛇(附源码)

    Python:游戏:贪吃蛇(附源码) 发布时间:2018-09-05 09:59, 浏览次数:1295 , 标签: Python 贪吃蛇是个非常简单的游戏,适合练手. 首先分析一下这个游戏 1.蛇怎么 ...

  8. 贪吃蛇源码注释过程(未完成)

    一.场景搭建 1.搭建场景,如下: (1).皮肤和模式使用toggle来实现运行时候二选一的效果) 步骤一,在Hierarchy界面创建俩个toggle,命名为mode 1和mode 2并在Inspe ...

  9. java awt贪吃蛇源码_JavaSE贪吃蛇源码

    [实例简介]该程序使用JavaSE技术完成,IDE工具为Eclipse,可运行,运行类为Yard 下载后请阅读先阅读readme文件 [实例截图] [核心代码] import java.awt.Col ...

  10. python小游戏贪吃蛇源码下载

    回车键:开始游戏,空格键:暂停 / 继续,方向键 或 WSAD 键:控制移动方向 下载地址

最新文章

  1. C语言基础之--scanf函数
  2. Deep Web 爬虫体系结构
  3. 军事科学院医学研究院认知与脑科学研究团队2020年诚聘启事
  4. 【SSM框架系列】Spring - JdbcTemplate声明式事务
  5. redis-cli报错:(error) MOVED 12706 (未以集群模式连接)
  6. 会ps会php,学会ps可以做什么
  7. javascript学习系列(23):数组中的解构方法
  8. Hive分区过多有何坏处以及分区时的注意事项
  9. docker -v 覆盖了容器中的文件_Docker容器之安装Mysql
  10. Android应用资源---其他资源类型(More Types)(二)
  11. 鼎捷ERP二维码整体解决方案——适应于制造业、物流行业(适用于用友ERP、金蝶ERP、SAP)
  12. Unity 制作一个网格地图生成组件
  13. python余弦定理_基于Python计算气弹簧选型
  14. 《华为研发》阅读 - 16 (矩阵式管理)
  15. freemyapps 推荐链接
  16. 推荐一款制作H5页面的可视化工具
  17. 大数据是什么意思?大数据有哪些应用?
  18. 介绍一下PR工具中的blockage
  19. 计算机组成原理:系统总线总结
  20. 通过iptable进行流量转发

热门文章

  1. Storm之——使用monit监控Storm
  2. 绿色软件联盟:杀毒软件已经进入空前弱智与混沌状态
  3. Unity+Kinect 开发脚本介绍
  4. python中add函数_add_argument函数的dest参数
  5. java 通过ffmpeg 将海康视频转码
  6. jq 登陆界面 php,jquery实现用户登陆界面技术解答
  7. 脸上不同部位长痘痘的原因
  8. 一图秒懂!“天使投资、VC、PE、A轮、B轮、C轮融资”的关系
  9. Clouda聊天室实践
  10. matlab huffman树,Huffman树图像加密算法