Wie erstelle ich eine random-Funktion?

Hallo,

ich hoffe hier sind auch einige Deutsche unter euch. Ich kenne mich in Processing leider gar nicht aus und muss ein Projekt darin machen. Verstehe so schon recht wenig, auf Englisch gleich gar nichts mehr.

Ich habe verschiedene Bilder, die nach einem Klick per Zufall erscheinen sollen. Es geht um einen Lebensweg, deswegen darf der Zufall nicht ganz wahllos sein. Der Betrachter entscheidet sich für Möglichkeit A oder B. Entscheidet er sich für B, kommt per Zufall ein Bild aus 2 Möglichkeiten. Je nachdem welches erscheint, kommt darauf das nächste Bild wieder aus 2 Möglichkeiten. Wie ein Baumdiagramm.

Benötige dringend Hilfe. Danke im voraus!

Tagged:

Answers

  • edited July 2015

    Hallo,

    am besten zeigst du hier (wenn möglich) schon etwas Code, den du geschrieben hast.

    Dann können die, die antworten, sich darauf beziehen.

    Die Referenz

    Ein guter Startpunkt ist immer die Referenz (Hilfe):

    https://www.processing.org/reference/

    für die random-Funktion:

    https://www.processing.org/reference/random_.html

    Ein Beispiel

    //
    void setup()
    {
      // init
      size(800, 600);
      noLoop();
    } // func 
    
    void draw() 
    { 
      background(255);
    
      int zufall = int (random(100));
    
      if (zufall<50)
        println ("Ja");
      else
        println ("Nein");
    
    } // func 
    //
    

    Du siehst, es wird eine Zufallszahl erzeugt (mit random zwischen 0 und 100) und diese mit int() zu integer gemacht und als Variable "zufall" gespeichert.

    Dann wird mit if geschaut, ob Variable "zufall" kleiner ist als 50; es wird dann unterschiedlich reagiert.

    In 50% der Fälle wird Ja geschrieben, sonst Nein.

    Viele Grüße,

    Chrisir ;-)

  • edited July 2015

    Deine Beschreibung verstehe ich nicht ganz.

    • Sieht der Betrachter am Anfang zwei Bilder und entscheidet sich für A oder B? Oder sieht er hier nur Text? (1)

    • Wenn er sich für A oder B entschieden hat, so wählt nun das Programm (und nicht der Mensch) zufällig aus, richtig? Weil du schreibst: "Entscheidet er sich für B, kommt per Zufall ein Bild aus 2 Möglichkeiten." (2)

    • Anschließend klickt er dann nur auf das eine Bild, richtig? (3)

    • Danach hat er aber wieder die Wahl zwischen zwei neuen Bildern? (4)

    • Wie oft wiederholt sich das Ganze? Bis hierhin oder theoretisch auch erneut (sechs Mal oder 60 Mal...) immer wieder ab Punkt 1 (bzw. 4)? (5)

    Ehrlich gesagt, finde ich das ganz schön kompliziert.

  • edited July 2015

    ich habe mir das mal angesehen.

    Hattet Ihr schon objektorientierte Programmierung?

    Da das Hausaufgabe ist, will ich hier nicht alles vorgeben, aber hier mein setup() & draw() (treedataEmpty).

    void setup()
    {
      // init screen
      size(800, 600);
    
      println ("Start of setup()");
    
      PImage birthCity = loadImage ("birth1.jpg");
      PImage birthCountrySide = loadImage ("birth2.jpg");
    
      // load images other images: 
      PImage school1=null;
      PImage school2=null;
    
      PImage schoolA1=null;
      PImage schoolA2=null;
    
      PImage job1=null, job2=null; 
    
      // ID 0:  start point: human aswers by selecting one image out of two 
      // (Parameter: Headline, Question, ID, ID linker Arm im Tree, ID rechter Arm, Bild1, Bild2, Ist es eine Menschfrage?)
      lifeEvents.add(new LifeEvent("Birth", "Where have you been born?", 0, 1, 2, birthCity, birthCountrySide, HumanDecides));
    
      // ID 1 (coming from 0): PC shows one image out of two (no decision here, so both children are the same.)
      lifeEvents.add(new LifeEvent("School", "", 1, 3, 3, school1, school2, ComputerDecides));
    
      // ID 2 (coming from 0): PC shows one image out of two (no decision here, so both children are the same.)   
      lifeEvents.add(new LifeEvent("1st day in school", "", 2, 4, 4, schoolA1, schoolA2, ComputerDecides));
    
      // ID 3 (coming from 1 (twice))    
      lifeEvents.add(new LifeEvent("1st Job", "What was your 1st job?", 3, 5, 6, job1, job2, HumanDecides));
    
      // ID 4 (coming from 2 (twice))    
      lifeEvents.add(new LifeEvent("1st Job", "What was your 1st job?", 4, 7, 8, job1, job2, HumanDecides));
    } // func 
    
    void draw() 
    { 
      background(255);
      LifeEvent event = lifeEvents.get(currentID); 
      event.display();
    } // func 
    
  • Vielen Dank für deine Mühen! Habe mittlerweile bei mir in der FH schon Hilfe gefunden. Es ist tatsächlich etwas kompliziert (für mich). Beim nächsten Mal komme ich auf dich zurück :)

    LG

Sign In or Register to comment.