满足各态历经性的XC 的学生作业:
#include
class Mizi
{
private:
int x;
int y;
int width;
void drowPoint(int x, int y, int backgroundColor, int frontgroundColor) const
{
fprintf(stderr, "\033[%d;%dH", y, x);//+
fprintf(stderr, "\033[%d;%dm*\033[0m", backgroundColor, frontgroundColor);
}
void drowHorizontal() const
{
for(int i = 0; i < width; i++)
{
//right
drowPoint(x + i, y, 40, 37);
//left
drowPoint(x - i, y, 40, 37);
}
}
void drowVertical() const
{
for(int i = 0; i < width; i++)
{
//up
drowPoint(x, y + i, 41, 36);
//down
drowPoint(x, y - i, 41, 36);
}
}
void drowHypotenuseRight() const
{
for(int i = 0; i < width; i++)
{
//up
drowPoint(x + i, y - i, 42, 35);
//down
drowPoint(x - i, y + i, 42, 35);
}
}
void drowHypotenuseLeft() const
{
for(int i = 0; i < width; i++)
{
//up
drowPoint(x - i, y - i, 43, 34);
//down
drowPoint(x + i, y + i, 43, 34);
}
}
public:
Mizi(int x, int y, int width):x(x), y(y), width(width){}
void drowMizi()
{
drowHorizontal();
drowVertical();
drowHypotenuseRight();
drowHypotenuseLeft();
fprintf(stderr, “\033[%d;%dH”, y * 2, 1);
}
};
int main()
{
Mizi mizi(20, 20, 10);
mizi.drowMizi();
return 0;
}