Aaah, dass ich darauf nicht gekommen bin... Jetzt ist die 1 doch gesichert
Danke dir, jedoch sage ich noch dazu (falls jemand anders das selbe Problem hat), dass man zuerst schauen sollte ob y mod 2 = 1 ist und nicht 0, sonst sind die Sternchen anders herum verschoben (erst die kleine Reihe und dann die große), dennoch vielen dank!
Edit:
Okay, ein Problem gelöst und nun kommt ein weiteres... Jetzt muss ich den blauen Hintergrund (der dynamisch erzeugten Sternchen) zeichnen, jedoch komme ich dort nicht ganz hin.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
| procedure TForm1.AmerikanischeFlg(menge : integer); var x, y : integer; begin Canvas.Pen.Color := clblue; Canvas.Brush.Color := clblue; Canvas.Rectangle(abstand, abstandflg, menge*abstand, menge*abstand- menge*abstandflg );
canvas.Font.Color := clwhite; for y := 1 to menge+4 do begin if y mod 2 = 0 then begin for x := 1 to menge do begin Canvas.TextOut((x*abstand) + (abstand div 2), y*abstandflg, '*'); end; end else begin for x := 1 to menge+1 do begin Canvas.TextOut(x*abstand, y*abstandflg, '*'); end; end; end; end; |
Wenn ich das nun ausführe sieht das ganze so aus:
Moderiert von
Narses: siehe Anhang
Es fehlen 2 Zeilen auf der X-Achse, eine auf der Y-Achse und die letzte Sternenreihe wird unsauber dargestellt.
Und mir ist gerade aufgefallen, dass beim Wechseln der Figur der Hintergrund weiterhin so seltsam gezeichnet wird, trotz repaint Anweisung.
Bin für jeden Lösungsansatz überaus dankbar!
Mfg,
Night
Moderiert von
Narses: Code- durch Delphi-Tags ersetzt