Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - dreieck mit sternen auf canvas zeichnen


Flepe - Di 15.12.09 16:44
Titel: dreieck mit sternen auf canvas zeichnen
hi sollen für die schule verchiedene formen mit sternen auf canvas schreiben die größe hängt von der eingabe ab z.B.
*
* *
* * *
* * * * bei eingabe 4
und
*
* *
* * * bei eingabe 3
das funktioniert mit diesem code
x,y sind interger und groesse ist 30 und menge ist die eingabe

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
for  y:= Menge downto 1 do begin
    for  x:= 1 to Menge do begin

        canvas.textout(x*groesse,y*groesse,'*');
        canvas.Font.Color:=Farbe[random(fmax)];
        end;
        menge:=menge-1
    end;

nun ist die frage wie mach ich ein solches dreieck mit einem solchen code

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
      
      *
    * *
  * * *
* * * * 
oder auch    
    *
  * *
* * *

wist ihr wie das geht???


jakobwenzel - Di 15.12.09 17:32

Die ersten beiden Parameter bei Canvas.TextOut stehen für die Position - die musst du anpassen (1 bzw 2 mal groesse) addieren um nach rechts zu kommen.


DHE - Di 15.12.09 17:39

Schau dir das dreieck mal genau an.
in der n-ten zeile hast du 4-n leerzeichen plus n sterne


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
  groesse := 30;
  menge := 4;
  count := menge;
  for y := 0 to menge-1 do begin
      for x := count to menge do begin
        Canvas.TextOut(x*groesse,y*groesse,'*');
      end;
      count := count -1;
  end;


Flepe - Di 15.12.09 18:59

danke funktioniert hab zwar jetzt ein anderes problem versuch es aber erst mal selbst zu lösen ansonsten schreib ich morgen abend noch mal ein threat