C++ 使用FLK库添加多个形状
我一直在尝试制作一个棋盘格图案。 我可以把所有的东西都打印出来,但是我想找到一种方法来复制不同颜色的形状,这样我就不用浪费时间来创建64个矩形了。我真的不知道该怎么办C++ 使用FLK库添加多个形状,c++,c,grid,shapes,C++,C,Grid,Shapes,我一直在尝试制作一个棋盘格图案。 我可以把所有的东西都打印出来,但是我想找到一种方法来复制不同颜色的形状,这样我就不用浪费时间来创建64个矩形了。我真的不知道该怎么办 下面是使用Simple_window结构创建的窗口 Point tl{ 100,100 }; Simple_window win{ tl,440,440,"Canvas" }; 找出窗口上可以给出的最大距离,并将值设置为整数(x和y维度)。x_栅格和y_栅格是单个栅格正方形的尺寸 int x_size
下面是使用Simple_window结构创建的窗口
Point tl{ 100,100 };
Simple_window win{ tl,440,440,"Canvas" };
找出窗口上可以给出的最大距离,并将值设置为整数(x和y维度)。x_栅格和y_栅格是单个栅格正方形的尺寸
int x_size = win.x_max();
int y_size = win.y_max();
int x_grid = 55;
int y_grid = 55;
使用Lines类构建网格。For循环用于确定线将放置在何处以形成网格
Lines grid;
for (int x = x_grid; x < x_size; x += x_grid) {
grid.add(Point{ x,0 }, Point{ x,y_size });
}
for (int y = y_grid; y < y_size; y += y_grid) {
grid.add(Point{ 0,y }, Point{ x_size,y });
}
win.attach(grid);
线网格;
对于(int x=x_网格;x
在这里,我使用矩形类创建了两种不同的颜色,但大小相同。
现在我只把平方放在一个点上。然而,就像我之前所说的,我需要它们遍布整个图像。除了制作64个形状,还有什么其他方法可以让他们复制正方形吗?我认为其中涉及到一些循环
Rectangle rx1(Point(55, 0), 55, 55);
Color moss_green(fl_rgb_color(173, 223, 173));
rx1.set_color(Color::invisible);
rx1.set_fill_color(moss_green);
win.attach(rx1);
Rectangle ry1(Point(0, 0), 55, 55);
Color cherry_blossom_pink(fl_rgb_color(255, 183, 197));
ry1.set_color(Color::invisible);
ry1.set_fill_color(cherry_blossom_pink);
win.attach(ry1);
win.wait_for_button();
}
catch (exception& e) {
cerr << "exception: " << e.what() << endl;
keep_window_open();
}
catch (...) {
cerr << "exception\n";
keep_window_open();
}
矩形rx1(点(55,0),55,55);
颜色苔藓绿(fl_rgb_颜色(173223173));
rx1.设置颜色(颜色:不可见);
rx1.设置填充颜色(苔藓绿);
连接(rx1);
矩形ry1(点(0,0),55,55);
彩色樱花粉红(fl_rgb_彩色(255183197));
ry1.设置颜色(颜色::不可见);
ry1.设置填充颜色(樱花粉色);
赢得。附加(ry1);
赢。等待按钮();
}
捕获(例外和e){
瑟尔
Rectangle rx1(Point(55, 0), 55, 55);
Color moss_green(fl_rgb_color(173, 223, 173));
rx1.set_color(Color::invisible);
rx1.set_fill_color(moss_green);
win.attach(rx1);
Rectangle ry1(Point(0, 0), 55, 55);
Color cherry_blossom_pink(fl_rgb_color(255, 183, 197));
ry1.set_color(Color::invisible);
ry1.set_fill_color(cherry_blossom_pink);
win.attach(ry1);
win.wait_for_button();
}
catch (exception& e) {
cerr << "exception: " << e.what() << endl;
keep_window_open();
}
catch (...) {
cerr << "exception\n";
keep_window_open();
}