main() {
int x=8;
int y=13;
int end_x;
int end_y;
int x_laenge=1;
int y_laenge=6;
int richtung=1;
/* Erst mal in der Mitte raus nach oben, damit es symmetrisch wird */
while (y != 7) {
printf("x=%d, y=%d\n",x,y);
y--;
}
/* Jetzt unterschiedlich lange Strecken ablaufen, da es keine X*X sondern ein
e Y*X-Matrix ist, wobei X != Y (damit gewisse Erbsenzaehler zufrieden sind) */
while ((y > 0) && (x > 0)) {
if (richtung==1) { /* Rechts rum, in X-Richtung */
end_x=x+x_laenge;
while (x != end_x) {
printf("x=%d, y=%d\n",x,y);
x++;
}
richtung=2;
y_laenge++; /* Y-Laenge um 1 erhoehen, damit man nicht gegen gerade gez
ogene Linie stoesst */
}
if (richtung==2) { /* Abwaerts in Y-Richtung */
end_y=y+y_laenge;
while (y != end_y) {
printf("x=%d, y=%d\n",x,y);
y++;
}
richtung=3;
x_laenge++;
}
if (richtung==3) { /* Links rum, in X-Richtung */
end_x=x-x_laenge;
while (x != end_x) {
printf("x=%d, y=%d\n",x,y);
x--;
}
richtung=4;
y_laenge++; /* Y-Laenge um 1 erhoehen, damit man nicht gegen gerade gezogene Linie stoesst */
}
if (richtung==4) { /* Aufwaerts, in Y-Richtung */
end_y=y-y_laenge;
while (y != end_y) {
printf("x=%d, y=%d\n",x,y);
y--;
}
richtung=1;
x_laenge++; /* X-Laenge um 1 erhoehen, damit man nicht gegen gerade gez
ogene Linie stoesst */
}
}
}
So, sofern copy&paste nicht irgend einen Mist gemacht hat, muesste es so klappen. Statt printf dann entsprechend System.out.println() machen und die entsprechenden Klassen importieren.
Gruß
Hans