Пример #1
0
void drawcalendar(void)
{
	int i;
	int num;
	int x,y;
	DAY_NUM T_day;
	T_day=CO_day;
	T_day.day=1;
	x=T_day.week=count_week(T_day.year%100,T_day.year/100,T_day.month,T_day.day);
	y=1;
	num=month[leap_year(T_day.year)][T_day.month-1];
	setfont(40,20,"");
	for(i=0;i<num;i++,T_day.day++){
		if(T_day.year==CO_day.year&&T_day.month==CO_day.month&&T_day.day==CO_day.day)
			setfillcolor(RGB(255,40,40));
		else if(T_day.year==today.year&&T_day.month==today.month&&T_day.day==today.day)
			     setfillcolor(RGB(50,245,55));
		     else
				 setfillcolor(RGB(45,45,250));
		setcolor(RGB(140,140,140));
		fillrectangle(PCOX+x*WEIT,PCOY+y*HEIT,PCOX+x*WEIT+WEIT,PCOY+y*HEIT+HEIT);
		char str[3]={0};
		sprintf(str,"%02d",i+1);
		setcolor(RGB(255,255,255));
		outtextxy(PCOX+x*WEIT+15,PCOY+y*HEIT+5,str);
		x++;
		if(x%7==0){
			y++;
			x=0;
		}
	}
}
Пример #2
0
void Interface::draw()
{
	int i, r = rear;
	if (rear == -1)
		return;

	for (i = front; i < r; i++)
	{  
		int k = (i < 400) ? i : i % 400;
		setfillcolor(EGERGB(ArrayTe[k].getR(), ArrayTe[k].getG(), ArrayTe[k].getB()));
		for (int j = 0; j < 4; j++)
		{
			if (sc[ArrayTe[i].trans_to_yindex(j)][ArrayTe[i].trans_to_xindex(j)] && ArrayTe[i].trans_to_yindex(j) && ArrayTe[i].trans_to_xindex(j))  //等于1才画
			{
				bar(ArrayTe[k].getXCoord(j) - 10, ArrayTe[k].getYCoord(j) - 10, ArrayTe[k].getXCoord(j) + 10, ArrayTe[k].getYCoord(j) + 10);
				setcolor(WHITE);
				rectangle(ArrayTe[k].getXCoord(j) - 10, ArrayTe[k].getYCoord(j) - 10, ArrayTe[k].getXCoord(j) + 10, ArrayTe[k].getYCoord(j) + 10);
			}
		}
	}
	for (int j = 0; j < 4; j++)  
	{   
		setfillcolor(EGERGB(ArrayTe[i].getR(), ArrayTe[i].getG(), ArrayTe[i].getB()));
		if (ArrayTe[i].getYCoord(j) >= 80)
		{
			bar(ArrayTe[i].getXCoord(j) - 10, ArrayTe[i].getYCoord(j) - 10, ArrayTe[i].getXCoord(j) + 10, ArrayTe[i].getYCoord(j) + 10);
			setcolor(WHITE);
			rectangle(ArrayTe[i].getXCoord(j) - 10, ArrayTe[i].getYCoord(j) - 10, ArrayTe[i].getXCoord(j) + 10, ArrayTe[i].getYCoord(j) + 10);
		}
	}

}
Пример #3
0
int main()
{
	initgraph(640, 480);

	//设置绘图颜色,一般用于边界
	setcolor(EGERGB(0xFF, 0xFF, 0x0));

	//设置填充颜色,一般为图形内部颜色
	setfillcolor(EGERGB(0xFF, 0x0, 0x80));

	//画一带填充的椭圆
	fillellipse(200, 200, 150, 100);

	//画一个空心圆
	circle(500, 300, 100);

	//再次设置填充颜色,用于决定下一函数填充的颜色
	setfillcolor(EGERGB(0x80, 0x0, 0xFF));

	//手工填充
	//x,y是开始填充的坐标,第三个参数是填充的边界颜色,或者说以这个颜色作为边界
	//如果这个边界不封闭,那么会导致整个屏幕都是这个颜色
	floodfill(500, 300, EGERGB(0xFF, 0xFF, 0x0));

	getch();

	closegraph();
	return 0;
}
Пример #4
0
void drawcalendarBG(void)
{
	int i;
	setcolor(RGB(255,0,0));
	setfont(60,30,"黑体");
	outtextxy(30,30,"Perpetual Calendar");

	setcolor(RGB(140,140,140));
	rectangle(50,150,540,500);
	for(i=0;i<6;i++){
		line(50,200+i*HEIT,540,200+i*HEIT);
		line(120+i*WEIT,150,120+i*WEIT,500);
	}
	
	setfillcolor(RGB(54,197,233));
	for(i=0;i<7;i++)
		fillrectangle(50+i*WEIT,150,120+i*WEIT,200);

	setcolor(RGB(255,255,0));
	setfont(30,15,"黑体");
	outtextxy(70,160,"日");
	outtextxy(140,160,"一");
	outtextxy(210,160,"二");
	outtextxy(280,160,"三");
	outtextxy(350,160,"四");
	outtextxy(420,160,"五");
	outtextxy(490,160,"六");

	setcolor(RGB(140,140,140));
	rectangle(INFX,INFY,690,390);

	for(i=0;i<5;i++)
		line(INFX,INFY+(i+1)*HEII,INFX+WEII,INFY+(i+1)*HEII);

	setfillcolor(RGB(54,197,233));
	fillrectangle(INFX,INFY,INFX+WEII,INFY+HEII);
	setcolor(RGB(255,255,0));
	setfont(30,15,"黑体");
	outtextxy(INFX+25,INFY+10,"Today");

	setcolor(RGB(255,10,10));
	setfillcolor(RGB(255,10,10));
	fillrectangle(INFX+10,INFY+HEII*6+10,INFX+20,INFY+HEII*6+20);

	setcolor(RGB(50,245,55));
	setfillcolor(RGB(50,245,55));
	fillrectangle(INFX+10,INFY+HEII*6+30,INFX+20,INFY+HEII*6+40);

	setcolor(RGB(45,45,250));
	setfillcolor(RGB(45,45,250));
	fillrectangle(INFX+10,INFY+HEII*6+50,INFX+20,INFY+HEII*6+60);

	setcolor(RGB(140,140,140));
	setfont(10,7,"");
	outtextxy(INFX+30,INFY+HEII*6+10,"YOU CHOOSE");
	outtextxy(INFX+30,INFY+HEII*6+30,"TODAY");
	outtextxy(INFX+30,INFY+HEII*6+50,"GENERAL");
}
Пример #5
0
void no_poigrass()
{
	setcolor(BLACK);
	setfillcolor(BLACK);
	fillcircle(poigrass.cor[0].x+20/2,poigrass.cor[0].y+20/2,20/2);
	fillcircle(poigrass.cor[1].x+20/2,poigrass.cor[1].y+20/2,20/2);
	fillcircle(poigrass.cor[2].x+20/2,poigrass.cor[2].y+20/2,20/2);
	if(cp==2)
	{
	setcolor(BLACK);
	setfillcolor(BLACK);
    fillcircle(poigrass.cor[3].x+20/2,poigrass.cor[3].y+20/2,20/2);
	fillcircle(poigrass.cor[4].x+20/2,poigrass.cor[4].y+20/2,20/2);
	}
	if(cp==3)
	{
	setcolor(BLACK);
	setfillcolor(BLACK);
	fillcircle(poigrass.cor[3].x+20/2,poigrass.cor[3].y+20/2,20/2);
	fillcircle(poigrass.cor[4].x+20/2,poigrass.cor[4].y+20/2,20/2);
	fillcircle(poigrass.cor[5].x+20/2,poigrass.cor[5].y+20/2,20/2);
	fillcircle(poigrass.cor[6].x+20/2,poigrass.cor[6].y+20/2,20/2);
	}
	poigrass.cor[0].x=240;
	poigrass.cor[0].y=700;
	poigrass.cor[1].x=340;
	poigrass.cor[1].y=700;
	poigrass.cor[2].x=240;
    poigrass.cor[2].y=700;
	if(cp==2)
	{
	poigrass.cor[3].x=60;
	poigrass.cor[3].y=700;
	poigrass.cor[4].x=500;
	poigrass.cor[4].y=700;
	}
	if(cp==3)
	{
    poigrass.cor[3].x=60;
	poigrass.cor[3].y=700;
	poigrass.cor[4].x=500;
	poigrass.cor[4].y=700;
	poigrass.cor[5].x=600;
	poigrass.cor[5].y=700;
	poigrass.cor[6].x=520;
	poigrass.cor[6].y=700;
	}
}
Пример #6
0
void mainloop()
{
	//x,y记录当前位置,dx,dy记录速度向量,r记录圆半径
	int x = 0, y = 0, dx = 1, dy = 1, r = 100;

	for ( ; is_run(); delay_fps(60) )
	{
		// todo: 逻辑更新
		// 当前位置 + 速度
		x += dx;
		y += dy;
		if (x < r) dx = 1; //碰左
		if (y < r) dy = 1; //碰上
		if (x >= ege::getwidth()  - r) dx = -1; //碰右
		if (y >= ege::getheight() - r) dy = -1; //碰下

		// todo: 图形更新
		cleardevice();
		setcolor(GREEN);
		setfillcolor(BLUE);
		fillellipse(x, y, r, r);
		{// 画帧率文字
			char str[20];
			sprintf(str, "fps %.02f", getfps()); //调用getfps取得当前帧率
			setcolor(WHITE);
			outtextxy(0, 0, str);
		}
	}
}
Пример #7
0
int main()
{
	PIMAGE img;

	initgraph(640, 480);

	//先随便画一些东西
	setcolor(EGERGB(0xFF, 0xFF, 0x0));
	setfillcolor(EGERGB(0xFF, 0x0, 0x80));
	fillellipse(50, 50, 50, 50);

	img = newimage();
	getimage(img, 0, 0, 160, 120);

	//先画一个非黑色背景,以便于比较
	setbkcolor(EGERGB(0x80, 0x80, 0x80));
	cleardevice();

	//四种贴图比较
	putimage(0, 0, img);
	putimage_alphablend(NULL, img, 160, 0, 0x80); //半透明度为0x80
	putimage_transparent(NULL, img, 0, 80, BLACK);	//透明贴图,关键色为BLACK,源图为这个颜色的地方会被忽略
	putimage_alphatransparent(NULL, img, 160, 80, BLACK, 0xA0); //同时使用透明和半透明

	getch();

	delimage(img);

	closegraph();
	return 0;
}
Пример #8
0
void MessageDialog::on_dialog_init()
{
	Gobang::set_font(font_family_.c_str(), font_size_, false, false, dialog_image_);
	putimage_withalpha(dialog_image_, dialog_icon_,
										 icon_margin_,
										 (height_ - button_area_height_ - getheight(dialog_icon_)) / 2);

	setcolor(BLACK, dialog_image_);
	static UINT text_format = DT_LEFT | DT_TOP | DT_EDITCONTROL | DT_WORDBREAK | DT_WORD_ELLIPSIS;
	text_rect_.left = icon_margin_ + getwidth(dialog_icon_) + text_margin_;
	text_rect_.top = text_margin_;
	text_rect_.right = width_ - text_margin_;
	text_rect_.bottom = height_ - button_area_height_ - text_margin_;
	//rectangle(text_rect_.left, text_rect_.top, text_rect_.right, text_rect_.bottom, dialog_image_);
	//计算文本高度
	int text_height = DrawText(dialog_dc_, text_.c_str(), -1, &text_rect_, text_format | DT_CALCRECT);
	text_rect_.top = (height_ - button_area_height_ - text_height) / 2;
	text_rect_.bottom = height_ - button_area_height_ - text_margin_;
	DrawText(dialog_dc_, text_.c_str(), -1, &text_rect_, text_format);

	setfillcolor(EGERGB(230, 230, 230), dialog_image_);
	bar(0, height_ - button_area_height_, width_, height_, dialog_image_);

	ok_listener_ = OkButtonListener(dialog_handle_);
	ok_button_->set_on_click_listener(&ok_listener_);

}
Пример #9
0
void drawMouse(int x,int y,int color)
{
	setcolor(color);
	line(x+5,y,x+5,y+9);
	line(x,y+5,x+9,y+5);
	setfillcolor(color);
	if(isLButton())
		setfillcolor(RED);
	int pt[]={
		x,y,
		x+5,y,
		x+5,y+5,
		x,y+5
	};
	fillpoly(4,pt);
}
Пример #10
0
int
main()
{
	initgraph(640, 480);

	fps f;

	for(double r = 0; is_run(); delay_fps(100000))
	{
		r += 0.02;
		if(r > PI * 2)
			r -= PI * 2;
		cleardevice();
		setcolor(EGERGB(0xFF, 0xFF, 0xFF));
		setfillcolor(EGERGB(0, 0, 0xFF));
		[](double x, double y, double r, double a){
			int pt[10];

			for(int n = 0; n < 5; ++n)
			{
				pt[n * 2] = -std::cos(PI * 4 / 5 * n + a) * r + x,
				pt[n * 2 + 1] = std::sin(PI * 4 / 5 * n + a) * r + y;
			}
			fillpoly(5, pt);
		}(300, 200, 100, r);
	}
}
void mainloop() {
	
	for (; is_run(); delay_fps(5)) {
		setfillcolor(EGERGB(random(255),random(255), random(255)));
		
		cleardevice();
		fillellipse(200, 200, 50, 30);
	}
}
Пример #12
0
int main()
{
	//声明一个img图片对象
	PIMAGE img;

	initgraph(640, 480);

	//先随便画一些东西
	setcolor(EGERGB(0xFF, 0xFF, 0x0));
	setfillcolor(EGERGB(0xFF, 0x0, 0x80));
	fillellipse(50, 50, 50, 50);

	//用newimage在initgraph后创建这个对象。但记得要在不使用的时候delimage
	img = newimage();

	//从屏幕上截取(0, 0) - (80, 60)这部分作为img,这个img大小为80*60
	//img的尺寸会重设,大小由第三第四个参数决定
	//注意,(0,0)这点会被包含在img里,但(80, 60)不包含
	getimage(img, 0, 0, 80, 60);

	//对img设置填充色为绿色
	setfillcolor(EGERGB(0x0, 0x70, 0x0), img);

	//对img画实心矩形
	bar(40, 20, 70, 50, img);

	int x, y;
	//把img平铺在屏幕上,使用一个二重循环
	for (y = 0; y < 8; ++y)
	{
		for (x = 0; x < 8; ++x)
		{
			//把img整个,画在指定的坐标上,左上角对齐这个坐标
			putimage(x * 80, y * 60, img);
		}
	}

	getch();

	delimage(img);

	closegraph();
	return 0;
}
Пример #13
0
void print_score()
{ 
   setcolor(BLACK);
   setfillcolor(BLACK);
   bar(830,220,830+150,220+50);
   char str[10];
   setcolor(LIGHTCYAN);
   setfont(50,0,"华文行楷");
   sprintf(str,"%d",score);
   outtextxy(835,220,str); 
}
Пример #14
0
void cleancalendar(void)
{
	int i;
	setcolor(RGB(140,140,140));
	setfillcolor(RGB(0,0,0));
	fillrectangle(50,200,540,500);
	for(i=0;i<6;i++){
		line(50,200+i*HEIT,540,200+i*HEIT);
		line(120+i*WEIT,150,120+i*WEIT,500);
	}
}
Пример #15
0
void drawchoose(void)
{
	char str[50]={0};
	setcolor(RGB(140,140,140));
	setfillcolor(RGB(140,140,140));
	bar3d(130,100,510,140,5,1);
	setcolor(RGB(175,230,65));
	sprintf(str,"YOU CHOOSE DAY IS : %04d年%02d月%02d日",CO_day.year,CO_day.month,CO_day.day);
	setfont(20,10,"");
	outtextxy(150,110,str);
}
Пример #16
0
void main()
{
	initgraph(640, 480);
	
	int x = 320;
	
	// 画初始图形
	setlinecolor(YELLOW);
	setfillcolor(GREEN);
	fillcircle(x, 240, 20);
	
	char c;
	while(c != 27)
	{
		// 获取按键
		c = getch();
		
		// 先擦掉上次显示的旧图形
		setlinecolor(BLACK);
		setfillcolor(BLACK);
		fillcircle(x, 240, 20);
		
		// 根据输入,计算新的坐标
		switch(c)
		{
			case 'a': x-=2; break;
			case 'd': x+=2; break;
			case 27: break;
		}
		
		// 绘制新的图形
		setlinecolor(YELLOW);
		setfillcolor(GREEN);
		fillcircle(x, 240, 20);
		
		// 延时
		Sleep(10);
	}
	
	closegraph();
}
Пример #17
0
 void Rectangler::draw()
 {
	setlinecolor(WHITE);
	 setfillcolor(Incol);
	setlinestyle(style, width);
	line(pt[1].x,pt[1].y,pt[2].x,pt[2].y);
	line(pt[0].x,pt[0].y,pt[1].x,pt[1].y);
	line(pt[3].x,pt[3].y,pt[2].x,pt[2].y);
	line(pt[3].x,pt[3].y,pt[0].x,pt[0].y);
	floodfill(pt[0].x+1,(pt[1].y+pt[2].y)/2,WHITE);
	
}
Пример #18
0
 void Rectangler::erase()
 {
     setlinecolor(BLACK);
	 setfillcolor(BLACK);
	setlinestyle(style, width);
	line(pt[1].x,pt[1].y,pt[2].x,pt[2].y);
	line(pt[0].x,pt[0].y,pt[1].x,pt[1].y);
	line(pt[3].x,pt[3].y,pt[2].x,pt[2].y);
	line(pt[3].x,pt[3].y,pt[0].x,pt[0].y);

	floodfill(pt[0].x+1,(pt[1].y+pt[2].y)/2,BLACK);
}
Пример #19
0
void show_snake()
{
	setfillcolor(YELLOW);
    setcolor(YELLOW);
	p0=head;
	while(p0->next!=NULL)
	{
		bar(p0->x,p0->y,p0->x+20,p0->y+20);
		bar(p0->next->x,p0->next->y,p0->next->x+20,p0->next->y+20);
		p0=p0->next;
	}
	setfillcolor(BLACK);
	setcolor(BLACK);
	bar(head->x,head->y,head->x+20,head->y+20);
    setfillcolor(YELLOW);
	setcolor(YELLOW);
	fillcircle(head->x+20/2,head->y+20/2,20/2);
	if(cp==3)
      Sleep(0);
	else Sleep(30);
}
Пример #20
0
void Interface::draw(Tetris next)
{
	int j;
	next.set_offset(270, 110); 
	setfillcolor(EGERGB(next.getR(), next.getG(), next.getB()));
	for (j = 0; j < 4; j++)
	{
		bar(next.getXCoord(j) - 10, next.getYCoord(j) - 10, next.getXCoord(j) + 10, next.getYCoord(j) + 10);
		setcolor(WHITE);
		rectangle(next.getXCoord(j) - 10, next.getYCoord(j) - 10, next.getXCoord(j) + 10, next.getYCoord(j) + 10);
	}
}
Пример #21
0
void mainloop() {
  // is_run ¼ì²â³ÌÐòÊÇ·ñÊÕµ½¹Ø±ÕÏûÏ¢£¬ÊÕµ½µÄ»°»á·µ»Øfalse£¬¼´Ó¦¸ÃÍ˳ö³ÌÐò
  // delay_fps ¿ØÖÆÖ¡ÂÊ£¬60±íʾ¡°Æ½¾ùÑÓʱ¡±Îª1000/60ºÁÃë
  // ΪʲôʹÓÃ60£¿ÒòΪ60ÊÇÏÔʾÆ÷µÄĬÈÏË¢ÐÂÂÊ£¬99.9%µÄÏÔʾÆ÷¶¼ÊÇÕâ¸öÉèÖÃ
  for ( ; is_run(); delay_fps(5) )  {
    // todo: Âß¼­¸üÐÂ
    setfillcolor(EGERGB(random(255), random(255), random(255)));
    // todo: ͼÐθüÐÂ
    // ÇåÆÁ
    cleardevice();
    fillellipse(200, 200, 50, 30);
  }
}
Пример #22
0
void view()
{
	setbkcolor(inf.color_top);
	setcolor(inf.color_btm);
	setfillcolor(inf.color_btm);
	int pt[]={
		0,inf.box_y,
		inf.screen_x,inf.box_y,
		inf.screen_x,inf.screen_y,
		0,inf.screen_y
	};
	fillpoly(4,pt);
}
Пример #23
0
 void Triangle::erase()
 {
	 setfillcolor(BLACK);
	 setlinecolor(BLACK);
	setlinestyle(style, width);
	line(fir.x,fir.y,sec.x,sec.y);
	line(sec.x,sec.y,thi.x,thi.y);
	line(fir.x,fir.y,thi.x,thi.y);
	Point tem,tem1;
	tem.x=(fir.x+sec.x)/2;
	tem.y=(fir.y+sec.y)/2;
	tem1.x=(tem.x+thi.x)/2;
    tem1.y=(tem.y+thi.y)/2;
	floodfill(tem1.x,tem1.y,BLACK);
}
Пример #24
0
 void Triangle::draw()
 {
    setfillcolor(Incol);               //填充颜色
	setlinecolor(WHITE);
	setlinestyle(style, width);
	line(fir.x,fir.y,sec.x,sec.y);
	line(sec.x,sec.y,thi.x,thi.y);
	line(fir.x,fir.y,thi.x,thi.y);
	Point tem,tem1;
	tem.x=(fir.x+sec.x)/2;
	tem.y=(fir.y+sec.y)/2;
	tem1.x=(tem.x+thi.x)/2;
    tem1.y=(tem.y+thi.y)/2;
	floodfill(tem1.x,tem1.y,WHITE);                 //这个函数用于填充区域
}
Пример #25
0
void mainloop()
{
	// x,y记录当前位置,dx,dy记录速度的方向,r记录圆半径
	int x = 0, y = 0, dx = 1, dy = 1, r = 100;
	// alpha记录当前alpha值,da为alpha变化增量
	int alpha = 0, da = 1;

	// 需要借助img实现透明半透明
	PIMAGE img;

	// img 创建为 w=r*2, h=r*2大小
	img = newimage(r * 2, r * 2);

	setcolor(0x00FF00, img);
	setfillcolor(0xFF0000, img);
	
	// 画在img上
	fillellipse(r, r, r, r, img);

	setbkcolor(DARKGRAY);

	for ( ; is_run(); delay_fps(60) )
	{
		// todo: 逻辑更新
		// 当前位置 + 速度
		x += dx;
		y += dy;
		if (x < 0) dx = 1; //碰左
		if (y < 0) dy = 1; //碰上
		if (x >= ege::getwidth()  - r * 2) dx = -1; //碰右
		if (y >= ege::getheight() - r * 2) dy = -1; //碰下

		// 改变alpha值,参数范围为 0 ~ 0xFF(255)
		alpha += da;
		if (alpha <= 0) da = 1;
		if (alpha >= 0xFF) da = -1;

		// todo: 图形更新
		cleardevice();
		putimage_alphatransparent(NULL, img, x, y, BLACK, (unsigned char)alpha);
	}

	// 释放img
	delimage(img);
}
Пример #26
0
//初始化,设置坐标,速度方向,透明度,创建IMAGE等
void initobj(AniObj* obj)
{
	// random(n) 返回一个 0 到 n 之间的随机整数(unsigned)
	obj->x = (int)random(getwidth());
	obj->y = (int)random(getheight());
	obj->r = random(20) + 20;
	obj->dx = (int)random(2) * 2 - 1; // 生成-1或1
	obj->dy = (int)random(2) * 2 - 1;
	obj->alpha = random(250) + 2;
	obj->da = (int)random(2) * 2 - 1;

	obj->img = newimage(obj->r * 2, obj->r * 2);

	setcolor(0x00FF00, obj->img);
	setfillcolor(0xFF0000, obj->img);

	fillellipse(obj->r, obj->r, obj->r, obj->r, obj->img);
}
Пример #27
0
void set_poigrass1()
{
	setfillcolor(WHITE);
	fillcircle(poigrass.cor[0].x+20/2,poigrass.cor[0].y+20/2,20/2);
	fillcircle(poigrass.cor[1].x+20/2,poigrass.cor[1].y+20/2,20/2);
	fillcircle(poigrass.cor[2].x+20/2,poigrass.cor[2].y+20/2,20/2);
	if(cp==2)
	{
	fillcircle(poigrass.cor[3].x+20/2,poigrass.cor[3].y+20/2,20/2);
	fillcircle(poigrass.cor[4].x+20/2,poigrass.cor[4].y+20/2,20/2);
	}
	if(cp==3)
	{
	fillcircle(poigrass.cor[3].x+20/2,poigrass.cor[3].y+20/2,20/2);
	fillcircle(poigrass.cor[4].x+20/2,poigrass.cor[4].y+20/2,20/2);
	fillcircle(poigrass.cor[5].x+20/2,poigrass.cor[5].y+20/2,20/2);
	fillcircle(poigrass.cor[6].x+20/2,poigrass.cor[6].y+20/2,20/2);
	}
}
Пример #28
0
    inline void LifeGamev2::render() {
        static Grayscale scale;

        for (unsigned y = 0; y < ROW; ++y)
            for (unsigned x = 0; x < COL; ++x) {
                scale = (*puniverse)[y][x];
                setfillcolor(EGERGB(scale, scale, scale));
                bar(12 * x, 12 * y, 12 * x + 12, 12 * y + 12);
                //              (xl, yt, xr, yb);
            }

        setcolor(EGERGB(0x0, 0xFF, 0xFF));
        setfontbkcolor(EGERGB(0x00, 0x00, 0x00));
        setfont(FONT_SIZE, 0, "Consolas");
        std::string fps = "current fps: " + std::to_string(SPEED);
        fps += "  step: " + std::to_string(STEP);
        fps += "        powered by Chen Ji :)";
        outtextxy(0, 12 * ROW, fps.c_str());
    }
Пример #29
0
void snake_move()       
{
	node=1;
	setfillcolor(BLACK);
	setcolor(BLACK);
	bar(p0->x,p0->y,p0->x+20,p0->y+20);
    while(p0->previous!=NULL)
			{
				p0->x=p0->previous->x;
				p0->y=p0->previous->y;
				p0=p0->previous;
				node++;
			}
	switch(direct)
			{
			     case 1:head->y-=20;break;
				 case 2:head->y+=20;break;
				 case 3:head->x-=20;break;
				 case 4:head->x+=20;break;
			}
} 
Пример #30
0
int main()
{
	initgraph(640, 480);

	//第一次设置背景色
	setbkcolor(EGERGB(0x0, 0x40, 0x0)); //浅绿色

	setcolor(EGERGB(0xFF, 0xFF, 0x0));
	setfillcolor(EGERGB(0xFF, 0x0, 0x80));

	//画带填充的扇形
	sector(200, 200, 45, 135, 150, 100);

	getch();

	//按下一任意键后,再次改变背景色
	setbkcolor(EGERGB(0x0, 0x0, 0x40)); //浅蓝色

	getch();

	closegraph();
	return 0;
}