//取消自动换行后更直观,直接在VC中建立文档就可以使用。
#include <stdio.h>
#include <windows.h>//建立窗口
#include<time.h>//调用时间函数
#include<conio.h>//io即输入输出,此头文件包括反应按键产生的对应操作的函数
#include<stdlib.h>
#include<string.h>
int length=2;//蛇的长度
int locate[50][2]={31,12};//整条蛇的位置,31表示横方向位置为locate[0][0],12表示纵方向位置为locate[0][1]
int head[2]={31,12};//蛇头位置,同上
int food[2];//食物位置
char direction='s';
int delay=200;//蛇每delay个时间走一步
int eat_flag=0;//是否吃到食物的标志
int life=1;//life为0时死亡
void gotoxy(int x,int y)//定位光标
{
COORD pos={x,y};
HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE); //获取标准输出的句柄会把字符输出到屏幕上,用的就是这个句柄。
SetConsoleCursorPosition(hOut,pos);//API中定位光标位置的函数
}
void hidden()//隐藏光标
{
HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE);//新建hOut句柄,GetStdHandle返回从一个特定的标准设备(标准输入、标准输出或标准错误)中取得一个句柄。
CONSOLE_CURSOR_INFO cci;
GetConsoleCursorInfo(hOut,&cci);
cci.bVisible=0;//0为隐藏,1显示
SetConsoleCursorInfo(hOut,&cci);
}
void init()//初始化
{
int i;
length=1;
locate[0][0]=31;//蛇身位置横坐标
locate[0][1]=12;//纵坐标
head[0]=31;//蛇头横坐标
head[1]=12;
direction='s';//初始的方向
delay=200;//用于设定蛇的速度,数值为暂停的时间
eat_flag=0;
life=1;
for(i=1;i<50;i++)
{
locate[i][0]=0;
locate[i][1]=0;
}
}
void create_window()//创建窗口
{
gotoxy(0,0);
printf("********************************************************************************");
printf("* * *");
printf("* * *");
printf("* * 分数:1 *");