资源简介
【核心代码】
#include <stdio.h> #include <stdlib.h> #include <time.h> #include <conio.h> #define GAMESIZE 20 int snake_land[GAMESIZE][GAMESIZE]={0}; int x=GAMESIZE/2 1,y=GAMESIZE/2-1,length=3,score; clock_t start_time=clock(),mid_time=1000,speed_time=clock(),food_time=clock(); void Snake_round() //打印 { int i,j; system("cls"); for(i=0;i<=GAMESIZE;i ) printf("__"); printf("\n"); for(i=0;i<GAMESIZE;i ) { printf("|"); for(j=0;j<GAMESIZE;j ) { if(snake_land[i][j]==0) printf(" "); else if(snake_land[i][j]>0) printf("⊙"); else if(snake_land[i][j]<0) printf("▇"); //printf("%d ",snake_land[i][j]) ; } printf("|"); if(i==3) printf(" snake_length: %d",length); if(i==4) printf(" snake_speed: %d",11-mid_time/100); printf("\n"); } for(i=0;i<=GAMESIZE;i ) printf(" ̄"); } void Snake_body() //身体标记 { snake_land[y][x]=1; snake_land[y][x-1]=2; snake_land[y][x-2]=3; } void Snake_control() // { int i,j,k,l; char a; for(i=0;i<GAMESIZE;i ) { for(j=0;j<GAMESIZE;j ) if(snake_land[i][j]==2) break; if(snake_land[i][j]==2) break; } if(kbhit()) { a=getch(); if(a=='w'&&y==i) { for(i=0;i<GAMESIZE;i ) { for(j=0;j<GAMESIZE;j ) { if(snake_land[i][j]==length) {k=i;l=j;} if(snake_land[i][j]>0) snake_land[i][j]; } } --y; if(snake_land[y][x]==0) snake_land[k][l]=0; else if(snake_land[y][x]<0) length; else if(snake_land[y][x]>0) { score=length;length=0;} snake_land[y][x]=1; } else if(a=='s'&&y==i) { for(i=0;i<GAMESIZE;i ) { for(j=0;j<GAMESIZE;j ) { if(snake_land[i][j]==length) {k=i;l=j;} if(snake_land[i][j]>0) snake_land[i][j]; } } y; if(snake_land[y][x]==0) snake_land[k][l]=0; else if(snake_land[y][x]<0) length; else if(snake_land[y][x]>0) { score=length;length=0;} snake_land[y][x]=1; } else if(a=='a'&&x==j) { for(i=0;i<GAMESIZE;i ) { for(j=0;j<GAMESIZE;j ) { if(snake_land[i][j]==length) {k=i;l=j;} if(snake_land[i][j]>0) snake_land[i][j]; } } --x; if(snake_land[y][x]==0) snake_land[k][l]=0; else if(snake_land[y][x]<0) length; else if(snake_land[y][x]>0) { score=length;length=0;} snake_land[y][x]=1; } else if(a=='d'&&x==j) { for(i=0;i<GAMESIZE;i ) { for(j=0;j<GAMESIZE;j ) { if(snake_land[i][j]==length) {k=i;l=j;} if(snake_land[i][j]>0) snake_land[i][j]; } } x; if(snake_land[y][x]==0) snake_land[k][l]=0; else if(snake_land[y][x]<0) length; else if(snake_land[y][x]>0) { score=length;length=0;} snake_land[y][x]=1; } } } void Snake_speed() { int i,j,k,l; clock_t end_time=clock() ; if(end_time-speed_time>10000&&mid_time>400) { mid_time-=100; speed_time=end_time; } if(end_time-start_time>mid_time) { start_time=end_time; for(i=0;i<GAMESIZE;i ) { for(j=0;j<GAMESIZE;j ) { if(snake_land[i][j]==length) {k=i;l=j;} if(snake_land[i][j]>0) snake_land[i][j]; } } for(i=0;i<GAMESIZE;i ) { for(j=0;j<GAMESIZE;j ) if(snake_land[i][j]==3) break; if(snake_land[i][j]==3) break; } if(i>y&&x==j) --y; else if(i<y&&x==j) y; else if(j>x&&y==i) --x; else if(j<x&&y==i) x; if(snake_land[y][x]==0) snake_land[k][l]=0; else if(snake_land[y][x]<0) length; else if(snake_land[y][x]>0) { score=length;length=0;} snake_land[y][x]=1; } } void Snake_food() // { int i,j; clock_t a=clock() ; if(a-food_time>3000) { food_time=a; srand((unsigned)time(NULL)); i=rand()%GAMESIZE; j=rand()%GAMESIZE; if(snake_land[i][j]==0) snake_land[i][j]=-1; } } int main() { int i,j; Snake_round(); Snake_body(); for(i=0;i<GAMESIZE;i ) for(j=0;j<GAMESIZE;j ) snake_land[i][16]=-1; for(;;) { Snake_speed(); Snake_control(); Snake_food(); if(length==0) break; Snake_round(); } system("cls"); printf("\ngame over!\nyour score:%d",score); return 0; }
代码片段和文件信息
#include
#include
#include
#include
#define GAMESIZE 20
int snake_land[GAMESIZE][GAMESIZE]={0};
int x=GAMESIZE/2+1y=GAMESIZE/2-1length=3score;
clock_t start_time=clock()mid_time=1000speed_time=clock()food_time=clock();
void Snake_round() //打印
{
int ij;
system(“cls“);
for(i=1;i<=GAMESIZE-1;i++)
printf(“__“);
printf(“\n“);
for(i=1;i {
printf(“|“);
for(j=1;j {
if(snake_land[i][j]==0) printf(“ “);
else if(snake_land[i][j]>0) printf(“⊙“);
else if(snake_land[i][j]<0) printf(“▇“);
//printf(“%d “snake_land[i][j]) ;
}
printf(“|“);
if(i==3) printf(“ snake_length: %d“length);
if(i==4) printf(“ snake_speed: %d“11-mid_time/100);
printf(“\n“);
}
for(i=0;i<=GAMESIZE;i++)
printf(“ ̄“);
}
void Snake_body() //身体标记
{
int i;
snake_land[y][x]=1;
snake_land[y][x-1]=2;
snake_land[y][x-2]=3;
for(i=0;i {
snake_land[0][i]=99;
snake_land[i][0]=99;
snake_land[GAMESIZE-1][i]=99;
snake_land[i][GAMESIZE-1]=99;
}
}
void Snake_control() //
{
int ijkl;
char a;
for(i=0;i {
for(j=0;j if(snake_land[i][j]==2) break;
if(snake_land[i][j]==2) break;
}
if(kbhit())
{
a=getch();
if((a==‘w‘||a==‘W‘)&&y==i)
{
for(i=0;i {
for(j=0;j {
if(snake_land[i][j]==length) {k=i;l=j;}
if(snake_land[i][j]>0) ++snake_land[i][j];
}
}
--y;
if(snake_land[y][x]==0) snake_land[k][l]=0;
else if(snake_land[y][x]<0) ++length;
else if(snake_land[y][x]>0) { score=length;length=0;}
snake_land[y][x]=1;
}
else if((a==‘s‘||a==‘S‘)&&y==i)
{
for(i=0;i {
for(j=0;j {
if(snake_land[i][j]==length) {k=i;l=j;}
if(snake_land[i][j]>0) ++snake_land[i][j];
}
}
++y;
if(snake_land[y][x]==0) snake_land[k][l]=0;
else if(snake_land[y][x]<0) ++length;
else if(snake_land[y][x]>0) { score=length;length=0;}
snake_land[y][x]=1;
}
else if((a==‘a‘||a==‘A‘)&&x==j)
{
for(i=0;i {
for(j=0;j {
if(snake_land[i][j]==length) {k=i;l=j;}
if(snake_land[i][j]>0) ++snake_land[i][j];
}
}
--x;
if(snake_land[y][x]==0) snake_land[k][l]=0;
else if(snake_land[y][x]<0) ++length;
else if(snake_land[y][x]>0) { score=length;length=0;}
snake_land[y][x]=1;
}
else if((a==‘d‘||a==‘D‘)&&x==j)
{
for(i=0;i {
for(j=0;j {
if(snake_land[i][j]==length) {k=i;l=j;}
if(snake_land[i][j]>0) ++snake_land[i][j];
}
}
++x;
if(snake_land[y][x]==0) snake_land[k][l]=0;
else if(snake_land[y][x]<0) ++length;
else if(snake_land[y][x]>0) { score=length;length=0;}
snake_land[y][x]=1;
}
}
}
void Snake_speed()
{
int ijkl;
clock_t end_time=clock() ;
if(end_time-speed_t
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-09-02 09:50 贪吃蛇\
目录 0 2019-09-02 09:50 贪吃蛇\贪吃蛇\
文件 4110 2019-01-24 15:01 贪吃蛇\贪吃蛇.txt
目录 0 2019-09-02 09:50 贪吃蛇\贪吃蛇\Debug\
文件 39936 2019-07-11 08:36 贪吃蛇\贪吃蛇\Debug\贪吃蛇.exe
文件 406 2019-01-31 20:40 贪吃蛇\贪吃蛇\Debug\贪吃蛇.exe.manifest
文件 334136 2019-07-11 08:36 贪吃蛇\贪吃蛇\Debug\贪吃蛇.ilk
文件 527360 2019-07-11 08:36 贪吃蛇\贪吃蛇\Debug\贪吃蛇.pdb
目录 0 2019-09-02 09:50 贪吃蛇\贪吃蛇\ipch\
目录 0 2019-09-02 09:50 贪吃蛇\贪吃蛇\ipch\贪吃蛇-ec1675cc\
文件 2228224 2019-07-24 09:38 贪吃蛇\贪吃蛇\ipch\贪吃蛇-ec1675cc\贪吃蛇-f10784c0.ipch
目录 0 2019-09-02 09:50 贪吃蛇\贪吃蛇\贪吃蛇\
文件 24465408 2019-07-24 09:39 贪吃蛇\贪吃蛇\贪吃蛇.sdf
文件 899 2019-01-23 14:48 贪吃蛇\贪吃蛇\贪吃蛇.sln
文件 13312 2019-07-24 09:39 贪吃蛇\贪吃蛇\贪吃蛇.suo
文件 5425 2019-07-11 08:36 贪吃蛇\贪吃蛇\贪吃蛇\csnake.cpp
目录 0 2019-09-02 09:50 贪吃蛇\贪吃蛇\贪吃蛇\Debug\
文件 1334 2019-07-11 08:36 贪吃蛇\贪吃蛇\贪吃蛇\Debug\cl.command.1.tlog
文件 16858 2019-07-11 08:36 贪吃蛇\贪吃蛇\贪吃蛇\Debug\CL.read.1.tlog
文件 716 2019-07-11 08:36 贪吃蛇\贪吃蛇\贪吃蛇\Debug\CL.write.1.tlog
文件 31768 2019-07-11 08:36 贪吃蛇\贪吃蛇\贪吃蛇\Debug\csnake.obj
文件 2 2019-07-11 08:36 贪吃蛇\贪吃蛇\贪吃蛇\Debug\li
文件 2 2019-07-11 08:36 贪吃蛇\贪吃蛇\贪吃蛇\Debug\li
文件 2 2019-07-11 08:36 贪吃蛇\贪吃蛇\贪吃蛇\Debug\li
文件 2 2019-07-11 08:36 贪吃蛇\贪吃蛇\贪吃蛇\Debug\li
文件 2 2019-07-11 08:36 贪吃蛇\贪吃蛇\贪吃蛇\Debug\li
文件 2 2019-07-11 08:36 贪吃蛇\贪吃蛇\贪吃蛇\Debug\li
文件 2 2019-07-11 08:36 贪吃蛇\贪吃蛇\贪吃蛇\Debug\li
文件 2 2019-07-11 08:36 贪吃蛇\贪吃蛇\贪吃蛇\Debug\li
文件 2 2019-07-11 08:36 贪吃蛇\贪吃蛇\贪吃蛇\Debug\li
文件 2 2019-07-11 08:36 贪吃蛇\贪吃蛇\贪吃蛇\Debug\li
............此处省略86个文件信息
- 上一篇:三次样条插值类源代码!
- 下一篇:鼠标连点器(附源码)
相关资源
- 贪吃蛇大作战(c源码+报告文档)
- C语言ege贪吃蛇游戏
- C++贪吃蛇控制台小游戏代码
- 彩色贪吃蛇.c
- c++游戏程序(包含源代码,有扫雷,
- 基于qt的c++编写的贪吃蛇游戏
- c语言 linux 贪吃蛇.doc
- 基于sfml的贪吃蛇
- 基于SDL的贪吃蛇游戏
- 贪吃蛇VC6 MFC
- MFC VC6.0 简单贪吃蛇
- MFC下实现的贪吃蛇
- C++课程设计贪吃蛇源码+课设报告
- MFC课程设计报告-手把手教你写贪吃蛇
- C++写的贪吃蛇(含源代码和注释,采
- 基于c++的贪吃蛇游戏设计
- c++贪吃蛇编程源代码论文设计c语言
- VC6.0贪吃蛇MFC
- C语言基于SDL的贪吃蛇项目
- 贪吃蛇(有完全源码和每一个功能的
- VC++版贪吃蛇游戏源代码
- vc++6.0 MFC 写的贪吃蛇工程源码
- MFC 贪吃蛇
- MFC编写的贪吃蛇源码
- visual c++的几个经典小游戏
- C++贪吃蛇设计+论文
- 用Visual C++6.0开发的贪吃蛇游戏含注释
- C语言贪吃蛇
- opengl/c++贪吃蛇.rar
- 贪吃蛇大作战demo实现和代码
评论
共有 条评论