Discuz! Board

 找回密码
 立即注册
查看: 644|回复: 0

20230218贪吃蛇1.0

[复制链接]

663

主题

849

帖子

243万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2435572

烈空座 Lv:100
发表于 2023-2-18 11:41:18 | 显示全部楼层 |阅读模式
[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;
} 

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|DiscuzX

GMT+8, 2025-6-1 20:39 , Processed in 0.061945 second(s), 29 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.. 技术支持 by 巅峰设计

快速回复 返回顶部 返回列表