1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > c语言写一个格子涂色的游戏 格子涂色游戏(VC绘图--10:用鼠标控制绘图作业)...

c语言写一个格子涂色的游戏 格子涂色游戏(VC绘图--10:用鼠标控制绘图作业)...

时间:2018-06-29 08:52:46

相关推荐

c语言写一个格子涂色的游戏 格子涂色游戏(VC绘图--10:用鼠标控制绘图作业)...

该楼层疑似违规已被系统折叠隐藏此楼查看此楼

二楼代码,用鼠标左键选色,填色。用鼠标右键退出。下面是代码及注释

#include

void gezi();//函数声明

int fill();//函数声明

int main(void)

{

initgraph(640, 480);

gezi();//调用画格子和调色板函数

fill();//调用鼠标控制填色函数

closegraph();

}

void gezi()//画格子及调色板函数

{

int color[9] = { BLACK, BLUE, GREEN, CYAN, RED, MAGENTA, BROWN, YELLOW, WHITE };//调色板拥有的颜色,可以自己增加

setlinecolor(LIGHTGRAY);//设置格子边框颜色

for (int i = 0; i <= 16; i++)//画格子

{

line(i * 30 + 80, 40, i * 30 + 80, 280);//画17条竖线

if (i <= 8)

line(80, i * 30 + 40, 560, i * 30 + 40);//画9条横线

}

for (int i = 0; i <= 9; i++)//画调色板的格子

{

line(i * 50 + 95, 350, i * 50 + 95, 400);//画10条竖线

if (i < 2)

{

line(95, i * 50 + 350, 545, i * 50 + 350);//画2条横线

}

}

for (int i = 0; i < 9; i++)//填充调色板格子

{

setfillcolor(color[i]);//设置填充颜色

floodfill(i * 50 + 100, 375, LIGHTGRAY);//填充颜色

}

}

int fill()

{

MOUSEMSG m;

int whichcolor=BLACK;//颜色值,默认黑色

while (true)

{

m = GetMouseMsg();

if (m.uMsg == WM_LBUTTONDOWN)//判断左键是否按下

{

if (m.y >= 350 && m.y <= 400)//判断鼠标是否位于调色板区域

{

whichcolor= getpixel(m.x,m.y);//返回该点的颜色

}

if (m.y >= 40 && m.y <=280)//判断鼠标是否位于待填色格子区域

{

setfillcolor(whichcolor);//设置填充颜色

floodfill(m.x, m.y, LIGHTGRAY);//填充颜色

}

}

if (m.uMsg == WM_RBUTTONDOWN)//判断是否按下右键

return(0);//结束函数

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。