求一个c++绘制一个风车的类,要求有不同颜色,要求使用graphics库
时间: 2024-02-21 14:01:11 浏览: 108
用Visual C++编写简单的风车
好的,以下是一个基于graphics库绘制风车的C++类:
```c++
#include <graphics.h>
class Windmill {
private:
int x, y; // 风车中心坐标
int size; // 风车大小
int color; // 风车颜色
public:
Windmill(int x, int y, int size, int color) {
this->x = x;
this->y = y;
this->size = size;
this->color = color;
}
void draw() {
setcolor(color);
// 绘制风车的四个叶子
int r = size / 2;
int x1 = x - r, y1 = y - r;
int x2 = x + r, y2 = y + r;
int x3 = x - r, y3 = y + r;
int x4 = x + r, y4 = y - r;
int points1[] = { x, y, x2, y2, x1, y1 };
int points2[] = { x, y, x4, y4, x3, y3 };
int points3[] = { x, y, x1, y1, x4, y4 };
int points4[] = { x, y, x3, y3, x2, y2 };
fillpoly(3, points1);
fillpoly(3, points2);
fillpoly(3, points3);
fillpoly(3, points4);
// 绘制风车的支架
line(x, y + r, x, y + r + size);
line(x - size / 2, y + r + size, x + size / 2, y + r + size);
}
};
```
使用示例:
```c++
#include <graphics.h>
int main() {
initwindow(800, 600);
Windmill windmill1(100, 100, 100, RED); // 红色风车
windmill1.draw();
Windmill windmill2(300, 200, 50, BLUE); // 蓝色风车
windmill2.draw();
getch();
closegraph();
}
```
注意,在使用graphics库之前,需要先安装BGI驱动程序,具体可以参考网上的教程。
阅读全文