[C] 纯文本查看 复制代码 # include<bits/stdc++.h>
#include <graphics.h>
#include <math.h>
#include<time.h> //包含随机数,时间函数 //包含EGE的头文件
using namespace std;
int score=0;//分数
int pass=200;//通道宽度
int wall_width=50; //宽度
char ch;
int width =600;
int height =600;
int num;
int count1,time_count=0;
struct body
{
int x;
int y;
};
struct snake
{
int len;//蛇的长度
int v;//蛇的速度
char direct;//蛇的方向
body a[1000];
}s;
struct wallon
{
float xl,yl;//左上角的坐标
float xr,yr;//右下角的坐标
float vx;//速度
}wall;
float ranx(int min,int max)//随机数产生min到max之间的随机数
{
return min+rand()%(max-min);
}
void start()//初始化
{
srand(time(0));//随机种子函数
s.v=20;//x向速度
s.len=4;//长度
s.direct='d';//方向
for(int i=0;i<4;i++)
{
s.a[i].x=20-i;
s.a[i].y=15;
}
initgraph(width, height); //初始化图形界面
setcolor(RED); //设置画图线为红色
setbkcolor(WHITE);//设置背景颜色为白色
setfillcolor(RED);//设置填充颜色为红色
setfont(25,0,"幼圆");//(字体高度,字体宽度(为0即为自适应),字形)设置字体为25,幼圆字体
setbkmode(TRANSPARENT); //设置文字背景色为透明(默认为有背景色)
}
void update()//数据更新
{
//墙体更新
// wall.xl-=wall.vx;
// wall.xr=wall.xl+wall_width;
// if(wall.xr<0)
// {
// score++;
// wall.xl=width-wall_width;
// wall.yl=0;
// wall.xr=width;
// wall.yr=ranx(100,300 );
// }
// //球体更新
// ball.vy+=ball.g;
// ball.y+=ball.vy;
// ball.x+=ball.vx;
// if(ball.y>=height-ball.radius)
// {
// ball.y=height-ball.radius;
// ball.vy=-ball.vy;
// }
// if(ball.y<=ball.radius)
// {
// ball.vy=-ball.vy;
// }
// if(ball.x>=width-ball.radius)
// {
// ball.x=width-ball.radius ;
//
// ball.vx=-ball.vx;
// }
// if(ball.x<=ball.radius)
// {
// ball.vx=-ball.vx;
// }
// // 按键响应
// if(kbhit())
// {
// ch = getch();
// if(ch==' ')
// {
// ball.vy=-8;
// }
// }
}
//bool is_near()//判断球体两点之间的距离
//{
// if((ball.x>=wall.xl)&&(ball.x<=wall.xr))
// {
// if((ball.y<(wall.yr+ball.radius))||(ball.y>(wall.yr+pass-ball.radius)))
// return true;
// else
// return false;
// }
// return false;
//
//
//}
void draw()
{
for(int i=0;i<s.len;i++)
{
setfillcolor(hsv2rgb(10*i%360, 1, 1));
bar(s.a[i].x*20,s.a[i].y*20,s.a[i].x*20+20,s.a[i].y*20+20);
//bar(Snake[i].x*Block_szie,Snake[i].y*Block_szie,(Snake[i].x+1)*Block_szie,(Snake[i].y+1)*Block_szie);
}
Sleep(10);
cleardevice();
}
int main()
{
start();
while(1)
{
update();
draw();
}
getch();
return 0;
}
|