# Grafik zufällig und Text zufällig erstellen



## Cosma (19. Okt 2011)

Hallo,
als Hausübung muss ich ein Programm schreiben, dass 3 zufällige Grafiken erstellt, in zufälligen Farben.
Generell wie man Grafiken erstellt it klar aber ich habe keinen Ansatz wie ich dass per Zufall lösen kann...

Einen zufälligen String kann ich auch erstellen, aber da habe ich noch ein paar Probleme wie ich den platziere und in verschiedenen Schriftgrößen ausgeben kann..
Für ein paar Tipps wäre ich echt dankbar

Bisher:


```
String text="abcdefghijklmnopqrstuvwxyz"; //zufälliger string
    int grenze=5;
    int zaehler=0;
    int hilfe=(int)(Math.random()*5);
    String neu=new String();
    while(grenze<5)
    {neu.charAt(hilfe);
    grenze++;}
    
    for(int i=0;i<3;i++)
    {Color farbe=new Color(
            
            ((int)(Math.random()*255)),
            ((int)(Math.random()*255)),
            ((int)(Math.random()*255))
            );
            
            
            
    g.setColor(farbe);
    int x=(int)(Math.random()*100);
    int y=(int)(Math.random()*100);
    g.fillRect(x, y, 100, 100);
    g.fillOval(x, y, 100, 100);
```


----------



## SlaterB (19. Okt 2011)

wie erstellst du denn eine Grafik? was daran zufällig sein soll musst du schon selber entscheiden,
da kann man höchstens Vorschläge machen, z.B. initial zufällig entscheiden ob Rechteck, Kreis, ..,
dann zufälligen Radius in einem bestimmten Bereich und andere Eigenschaften generieren
usw.

Platzieren von String erfordert doch nur zufällige Kooridinaten,

bei 'verschiedenen Schriftgrößen' hast du vielleicht an sich schon das Problem, eine Größe X einzustellen,
ganz ohne Zufall? das ist ein Unterschied, ruhig genau sein,

```
Font oldFont = g.getFont();
        g.setFont(new Font(oldFont.getName(), oldFont.getStyle(), 12));
```


----------



## play4fail (23. Okt 2011)

```
for(int n = 0; n<3; n++){

   g.setColor(new Color(
            
            (int)(Math.random()*255),
            (int)(Math.random()*255),
            (int)(Math.random()*255)
            ));
   
   int x = Math.random()*maxBreite+1;
   int y = Math.random()*maxHoehe+1;
   int breite = Math.random()*maxBreite+1;
   
   if(Math.random()*2==0){ //Zufall, ob Quadrat oder Kreis
      g.fillRect(x, y, breite, breite);
   }else{
      g.fillOval(x, y, breite, breite);
   }

}//for ende

int x = Math.random()*maxBreite+1;
int y = Math.random()*maxHöhe+1;

g.drawString(zufaelligerString, x, y); //eventuell noch mit zufälliger schriftart (siehe den Poster über mir ;) )
```

Das ist meiner Meinung nach eine Lösung für 3 zufällige Grafiken (du könntest auch zufällige Bilder machen mit g.drawImage ,aber mit Grafiken meinst du glaube ich Kreise etc.) und einem zufälligen String.

Habe das nicht getestet und es stammt nur aus Gehirnschmalz, aber es sollte funktionieren


----------



## Cosma (25. Okt 2011)

Danke schön für eure Ansätze sie haben mir sehr geholfen


----------

