[C] 纯文本查看 复制代码 #include <graphics.h>
#include <time.h>
#define Block_szie 20
#define Width 40
#define Height 30
int food_x,food_y;
int gameover;
int wait;
struct Snake_data
{
int x;
int y;
int color;
};
struct Snake
{
char direct;
int snake_len;
int snake_v;
Snake_data snake_d[1000];
}snake0,snake1;
void moveSnake()//移动蛇
{
}
void startup()//启动
{
srand(time(0));//随机种子函数
initgraph(Width*Block_szie, Height*Block_szie, INIT_RENDERMANUAL); //初始化图形界面
setcolor(BLACK); //设置画图线为红色
setbkcolor(WHITE);//设置背景颜色为白色
setfillcolor(LIGHTGRAY);//设置填充颜色为浅灰色
setfont(20,0,"幼圆");//(字体高度,字体宽度(为0即为自适应),字形)设置字体为25,幼圆字体
setbkmode(TRANSPARENT); //设置文字背景色为透明(默认为有背景色)
}
void show_snake()//显示
{
int i,j;
//蛇
for(i=0;i<snake0.snake_len;i++)
{
setfillcolor(hsv2rgb(10*i%360, 1, 1));//设置填充颜色 参数(颜色,饱和度,明亮度)
bar();
}
//食物
xyprintf(20,20,"玩家1得分:%d",snake0.snake_len-4);//格式化输出文字
xyprintf(20,40,"玩家2得分:%d",snake1.snake_len-4);//格式化输出文字
}
void show_food()
{
int i,j;
for(i=0;i<Width;i++)
for(j=0;j<Height;j++)
{
//setcolor(WHITE); //设置画图线为白色
setfillcolor(WHITE);//设置填充颜色为浅灰色
bar(i*Block_szie,j*Block_szie,(i+1)*Block_szie,(j+1)*Block_szie);
}
setfillcolor(GREEN);//设置填充颜色
bar(food_x*Block_szie,food_y*Block_szie,(food_x+1)*Block_szie,(food_y+1)*Block_szie);
}
void update0()//数据更新
{
}
void food_set()
{
}
void eat_food()
{
}
bool game_over()//1结束
{
}
int main()
{
a: startup();
food_set();
getch();
while(1)
{
cleardevice();
show_food();
show_snake();
update0();
//update1(snake1);
eat_food(snake);
if(game_over(snake0))
{
xyprintf(300,300,"玩家1输了");
break;
}
Sleep(10);
}
Sleep(2000);
xyprintf(300,320,"按r重新开始");
while(1)
{
if(kbhit())
{
int temp = getch();
if(temp =='r')
{
goto a;
}
}
}
return 0;
}
|