#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <time.h>
#define FrameX 4
#define FrameY 4
#define Frame_width 20
#define Frame_height 20
struct Snack
{
int x[100];
int y[100];
int length;
int speed;
};
struct Food
{
int x;
int y;
};
int islong;
int pos[2];
void MakeFrame();
void PrintSnack(struct Snack *snack);
void Gotoxy(int x,int y);
void NewFood(struct Snack *snack,struct Food *food);
///随机生成食物
void NewFood(struct Snack *snack,struct Food *food)
{
while(1)
{
srand((unsigned)time(NULL));
food->x = rand()%(Frame_width-1);
food->y = rand()%(Frame_height);
if(food->x == 0||food->y == 0)
continue;
food->x = 2*food->x+FrameX;
food->y = food->y+FrameY;
int i;
for(i = 0;i < snack->length;i++)
{
if(food->x == snack->x[i]&&food->y == snack->y[i])
break;
}
if(i == snack->length)
{
Gotoxy(food->x,food->y);
printf("◎");
break;
}
}
}
///设置窗口大小
void setWindowsSize(int w,int h)
{
///声明一个句柄
HANDLE hout;
///获得标准输出句柄
hout = GetStdHandle(STD_OUTPUT_HANDLE);
///定义了一个矩形 结构体
SMALL_RECT rc = {0,0,w-1,h-1};
///定义一个等高 机构体
COORD size = {w,h};
SetConsoleWindowInfo(hout,TRUE,&rc);
SetConsoleScreenBufferSize(hout,size);
}
///移动光标到指定位置
void Gotoxy(int x,int y)
{
HANDLE hout = GetStdHandle(STD_OUTPUT_HANDLE);
COORD pos; pos.X = x;
pos.Y = y;
SetConsoleCursorPosition(hout,pos);
}
///隐藏光标
void Hide()
{
HANDLE hout = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_CURSOR_INFO cursor_info = {1,0};
贪吃蛇源代码
最新推荐文章于 2023-02-28 10:46:34 发布