• 大小: 11KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-15
  • 语言: C/C++
  • 标签: 贪吃蛇  

资源简介

C++写的贪吃蛇游戏源代码,有非常详细的注释!

资源截图

代码片段和文件信息

#include   
#include   
#include   
#include      
#include 

//-------------------------------------------------------------------
void GotoXY(int x int y)      //设定输出位置
{  
COORD c;  
c.X = x-1;  
c.Y = y-1;  
SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE) c);  

//-----------------------------------------------------------------
void color(int a)              //颜色函数
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE)a);
}
struct HeroList
{
char Name[10];
int Highscore;
}Hero[10];
//----------------------------------------------------------
void Save()                    //存储最高分及名字
{
FILE *fp;
if((fp=fopen(“Hero_list““wb“))==NULL)
{cout<<“can not open file!“< if(fwrite(&Hero[0]sizeof(struct HeroList)1fp)!=1)
cout<<“file write error!“< fclose(fp);
}
//**********************************************************
class CSnake
{
     int image[20][20];        //游戏面板,即小蛇活动范围
     int FoodX;                //事物出现的X坐标
     int FoodY;                //事物出现的Y坐标
     int snakeX;               //记录小蛇的头部X坐标
     int snakeY;               //记录小蛇的头部Y坐标
     int head;                 //小蛇头部下标
     int tail;                 //小蛇尾部下标
     int snake[2][2000];         //记录小蛇所有身体的坐标
     int node;                 //小蛇的节数
 int direction;            //小蛇头部的方向        
     int ij;   
 int gamespeed;            //速度
 int score;                //记录分数
 char arrowKey;            //接受按键的变量
 int GameOver;             //使游戏结束的变量
 int level;                //设置等级
 int length;               //为了设置等级而与node一样记录设的长度
public:
 
CSnake()        //构造函数初始化部分变量
{
        head=3;                //初始化头部下标
        tail=0;                //初始化尾部下标
        node=4;                //小蛇初始节数为4节
     gamespeed=300;         //游戏速度(移动的间隔时间)
     score=0;               //初始化分数为0
        direction=6;           //小蛇的初始方向向右
GameOver=0;            //进入游戏初始化为0
level=1;
length=4;
}
~CSnake()     //析构函数
{}
void Init();                //初始化游戏面板及小蛇的坐标
int  DrawSnake();           //记录小蛇每次移动后头部及身体的下一坐标
void  Automove();            //使小蛇自动移动
    int  Gameover();            //判断游戏是否结束
int  Generatefood();        //产生食物
void display();             //显示游戏面板
void shiftLeft();           //控制左移
void shiftRight();          //控制右移
void shiftDown();           //控制下移
void shiftUp();             //控制上移
int  PlayGame();            //执行游戏的函数
void Setspeed();            //设置速度
int Pause();                //游戏的暂停
};
//-------------------------------------- -------------------------------
 void CSnake::Init()             //初始化部分数据
{
 
 for(i=0;i<20;i++)                   //初始化游戏面板
   for(j=0;j<20;j++)    
image[i][j]=0;
 for(i=0;i<4;i++)                    //初始化小蛇初始位置
    { snake[0][i]=1;
      snake[1][i]=i+1;
    }
 for(i=1;i<=3;i++)                   //初始化小蛇坐标的显示值(即初始化小蛇显示图形对应的值)
        

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件         16  2012-07-08 23:52  C++版贪吃蛇\Hero_list

     文件      17644  2012-07-08 23:48  C++版贪吃蛇\snake.cpp

     文件       4316  2012-07-08 23:52  C++版贪吃蛇\SNAKEGOOD.dsp

     文件        541  2012-07-08 23:47  C++版贪吃蛇\SNAKEGOOD.dsw

     文件      50176  2013-07-11 23:55  C++版贪吃蛇\SNAKEGOOD.ncb

     文件      53760  2013-07-11 23:55  C++版贪吃蛇\SNAKEGOOD.opt

     文件        252  2013-07-11 23:55  C++版贪吃蛇\SNAKEGOOD.plg

     目录          0  2013-07-11 23:59  C++版贪吃蛇

----------- ---------  ---------- -----  ----

               126705                    8


评论

共有 条评论