Wie mancht man aus einem kontinuierlichen Kreis einen stetigen?
int offset = 10;
void resetFont() {
if (isatty (fileno (stdout)))
std::cout << "\e[0m";
}
void setFontRed() {
if (isatty (fileno (stdout)))
std::cout << "\e[1;31m";
}
void setFontGreen() {
if (isatty (fileno (stdout)))
std::cout << "\e[32m";
}
void setFontYellow() {
if (isatty (fileno (stdout)))
std::cout << "\e[33m";
}
void setFontBlue() {
if (isatty (fileno (stdout)))
std::cout << "\e[34m";
}
void setFont() {
if (isatty (fileno (stdout)))
std::cout << "\e[35m";
}
void gotoxy(int x,int y)
{
printf("%c[%d;%df",0x1B,y,x);
}
void makeCircle(int radius, char c) {
if(radius == 0) {
gotoxy(offset, offset);
cout << c;
}
else {
int num = (radius+1) * 4;
for(int i=0; i < num; i++) {
int x = round(radius * cos(double(i) / num * 2 * M_PI));
int y = round(radius * sin(double(i) / num * 2 * M_PI));
gotoxy(x+offset, y+offset);
cout << c;
}
}
}
int main() {
char c = '0';
int radius = 0;
setFontRed();
makeCircle(radius, c + radius);
radius = 1;
setFontGreen();
makeCircle(radius, c + radius);
radius = 2;
setFontYellow();
makeCircle(radius, c + radius);
radius = 3;
setFontBlue();
makeCircle(radius, c + radius);
radius = 4;
setFont();
makeCircle(radius, c + radius);
resetFont();
for(int i = 0; i < 10; i++) cout << endl;
return 0;
}