#include <iostream>
using namespace std;
int main() {
int n, k, t;
char c = ' ';
char s = '*';
cout << "Geef n in: " << endl;
cin >> n;
cout << "Geef k in: " << endl;
cin >> k;
k *= k;
t = k;
/*
* 1. Bij oneven rij beginnen met zwarte blokjes op oneven kolommen.
* 2. Bij even rij beginnen met zwarte blokjes op even kolommen.
*/
// Rijen verticaal...
for(int i=1; i <= n;) {
// Rijen horizontaal...
for(int y=1; y <= n;y++) {
if ( (i % 2) != 0 ) { // Oneven rij
if ( (y % 2) != 0 ) { // Oneven kolom!
for(int z=0; z<k;z++) {
if (! (z >= 2) ) { // Als z niet groter is dan 2
cout << s; // Dan s afdrukken
}
}
} else { // Even kolom!
for(int z=0; z<k;z++) {
if (! (z >= 2) ) { // Als z niet groter is dan 2
cout << c; // Dan c afdrukken
}
}
}
} else { // Even rij
if ( (y %2) == 0 ) { // Even kolom.
for(int z=0; z<k;z++) {
if (! (z >= 2) ) { // Als z niet groter is dan 2
cout << s; // Dan s afdrukken
}
}
} else { // Oneven kolom!
for(int z=0; z<k;z++) {
if (! (z >= 2) ) {
cout << c;
}
}
}
}
}
// Als k groter is dan 2, dan moet de bovenstaande loop opnieuw
// uitgevoerd worden. Een manier: ik verhoog variable i *alleen*
// als k NIET groter is dan 2
k -= 2;
if (! (k >= 2) ) {
k = t; // k herstellen en
i++; // i verhogen...
}
cout << endl; // Standaard nieuwe lijn!
}
return 0;
}