填色小游戏

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


#include
#include

void display(); //绘制界面
void mouse(); //实现鼠标控制
void main()
{
display();
mouse();
closegraph();
}
void display()
{
initgraph(640,480);
//画骨架
setcolor(WHITE);
for(int i=0;i<=640;i+=40)
{
line(i,0,i,320);
}
for(i=0;i<=320;i+=40)
{
line(0,i,640,i);
}
//添色
int poly[8];
for(i=0;i<8;i++)
{
switch(i)
{
case 0:setfillcolor(LIGHTBLUE); break;
case 1:setfillcolor(LIGHTGREEN); break;
case 2:setfillcolor(CYAN); break;
case 3:setfillcolor(LIGHTRED); break;
case 4:setfillcolor(LIGHTMAGENTA); break;
case 5:setfillcolor(DARKGRAY); break;
case 6:setfillcolor(YELLOW); break;
case 7:setfillcolor(WHITE); break;
}
poly[0]=i*40;
poly[1]=440;
poly[2]=i*40+40;
poly[3]=440;
poly[4]=i*40+40;
poly[5]=480;
poly[6]=i*40;
poly[7]=480;
fillpoly(4,poly);
}
}

void mouse()
{
int poly[8],x,y;
// COLORREF a; 用于接受颜色

while(1)
{
MOUSEMSG m;
m = GetMouseMsg();
switch(m.uMsg)
{
case WM_LBUTTONDOWN:
if(m.y>440)
{
switch(m.x/40)
{
case 0:setfillcolor(LIGHTBLUE); break;
case 1:setfillcolor(LIGHTGREEN); break;
case 2:setfillcolor(CYAN); break;
case 3:setfillcolor(LIGHTRED); break;
case 4:setfillcolor(LIGHTMAGENTA); break;
case 5:setfillcolor(DARKGRAY); break;
case 6:setfillcolor(YELLOW); break;
case 7:setfillcolor(WHITE); break;
}
}
if(m.y<320)
{
x=m.x/40;
y=m.y/40;
poly[0]=x*40;
poly[1]=y*40;
poly[2]=x*40+40;
poly[3]=y*40;
poly[4]=x*40+40;
poly[5]=y*40+40;
poly[6]=x*40;
poly[7]=y*40+40;
fillpoly(4,poly);
}
break;
case WM_RBUTTONUP:
return ;
}
}
}


相关文档
最新文档