c语言小游戏

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

c语言小游戏

#include

#include//基本型态定义。支援型态定义函数。使用者界面函数图形装置界面函数。

#include //用户通过按键盘产生的对应操作(控制台)

#include

#include //日期和时间头文件

#define LEN 30

#define WID 25

int Snake[LEN][WID] = {0}; //数组的元素代表蛇的各个部位

char Sna_Hea_Dir = 'a';//记录蛇头的移动方向

int Sna_Hea_X,

Sna_Hea_Y;//记录蛇头的位置

int Snake_Len = 3;//记录蛇的长度

clock_t Now_Time;//记录当前时间,以便自动移动int Wait_Time ;//记录自动移动的时间间隔

int Eat_Apple = 1;//吃到苹果表示为1

int Level ;

int All_Score = -1;

int Apple_Num = -1; HANDLE hConsole = GetStdHandle(STD_OUTPUT _HANDLE); //获取标准输出的句柄

//句柄:标志应用程序中的不同对象和同类对象中的不同的实例方便操控,void gotoxy(int x, int y)//设置光标位置

COORD pos = {x,y}; //定义一个字符在控制台屏幕上的坐标POS SetConsoleCursorPosition(h Console, pos); //定位光标位置的函数

}

void Hide_Cursor()//隐藏光标固定函数

CONSOLE_CURSOR_INFO cursor_info = {1, 0}; SetConsoleCursorInfo(hCon sole, &cursor_info);

}

void SetColor(int color)//设置颜色

{ SetConsoleTextAttribute(hC onsole, color);

//是API设置字体颜色和背景色的函数格式:SetConsoleTextAttribute(句柄,颜色);

}

void Print_Snake()//打印蛇头和蛇的脖子和蛇尾

{

int iy, ix, color;

for(iy = 0; iy < WID; ++iy) for(ix = 0; ix < LEN; ++ix) {

if(Snake[ix][iy] == 1)//蛇头{

SetColor(0xf); //oxf代表分配的内存地址setcolor:34行自定义设置颜色的函数gotoxy(ix*2, iy);

printf("※");

}

if(Snake[ix][iy] == 2)//蛇的脖子

{

color = rand()%15 + 1;

//rand()函数是产生随机数的一个随机函数。C语言里

还有srand()函数等。

//头文件:stdlib.h

if(color == 14)

color -= rand() % 13 + 1; //变色

SetColor(color);

gotoxy(ix*2, iy);

printf("■");

}

if(Snake[ix][iy] == Snake_Len)

{

gotoxy(ix*2, iy); SetColor(0xe);

printf("≈");

}

}

}

void Clear_Snake()//擦除贪吃蛇

{

int iy, ix;

for(iy = 0; iy < WID; ++iy) for(ix = 0; ix < LEN; ++ix) {

gotoxy(ix*2, iy);

if(Snake[ix][iy] ==

Snake_Len)

printf("");

}

}

void Rand_Apple()//随机产生苹果

{

int ix, iy;

do

{

ix = rand() % LEN;

iy = rand() % WID;

}while(Snake[ix][iy]); Snake[ix][iy] = -1; gotoxy(ix*2, iy);

printf("⊙");

Eat_Apple = 0;

}

void Game_Over()//蛇死掉了

{

gotoxy(30, 10);

printf("Game Over"); Sleep(3000);

system("pause > nul"); exit(0);

}

void Move_Snake()//让蛇动起来

{

int ix, iy;

for(ix = 0; ix < LEN; ++ix)//先标记蛇头

for(iy = 0; iy < WID; ++iy) if(Snake[ix][iy] == 1)

{

相关文档
最新文档