Commit 3a484773 authored by nextime's avatar nextime

Improve flag rendering accuracy and visual consistency

parent 755c2be1
......@@ -119,17 +119,33 @@ void print_palestinian_flag(void) {
const char *white = "\033[47m";
const char *green = "\033[42m";
int height = 12;
int width = 40;
int triangle_widths[6] = {2, 4, 6, 8, 10, 12};
const char *stripe_colors[6] = {black, black, white, white, green, green};
int max_triangle = 12;
for (int i = 0; i < height; i++) {
int triangle_width;
if (i <= 5) {
triangle_width = (i + 1) * 2;
} else {
triangle_width = (height - i) * 2;
}
const char *stripe_color;
if (i < 4) {
stripe_color = black;
} else if (i < 8) {
stripe_color = white;
} else {
stripe_color = green;
}
for (int i = 0; i < 6; i++) {
printf("%s", red);
for (int j = 0; j < triangle_widths[i]; j++) {
for (int j = 0; j < triangle_width; j++) {
printf(" ");
}
printf("%s", stripe_colors[i]);
for (int j = triangle_widths[i]; j < width; j++) {
printf("%s", stripe_color);
for (int j = triangle_width; j < width; j++) {
printf(" ");
}
printf("%s\n", reset);
......
......@@ -153,17 +153,33 @@ void print_palestinian_flag(void) {
const char *white = "\033[47m";
const char *green = "\033[42m";
int height = 12;
int width = 40;
int triangle_widths[6] = {2, 4, 6, 8, 10, 12};
const char *stripe_colors[6] = {black, black, white, white, green, green};
int max_triangle = 12;
for (int i = 0; i < height; i++) {
int triangle_width;
if (i <= 5) {
triangle_width = (i + 1) * 2;
} else {
triangle_width = (height - i) * 2;
}
const char *stripe_color;
if (i < 4) {
stripe_color = black;
} else if (i < 8) {
stripe_color = white;
} else {
stripe_color = green;
}
for (int i = 0; i < 6; i++) {
printf("%s", red);
for (int j = 0; j < triangle_widths[i]; j++) {
for (int j = 0; j < triangle_width; j++) {
printf(" ");
}
printf("%s", stripe_colors[i]);
for (int j = triangle_widths[i]; j < width; j++) {
printf("%s", stripe_color);
for (int j = triangle_width; j < width; j++) {
printf(" ");
}
printf("%s\n", reset);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment