BlueJ – die besten Beiträge

BlueJ/ Java/ GLOOP Hilfe?

Hallo,

ich muss für die Schule ein Würfelspiel programmieren dazu habe ich mit BlueJ und GLOOP 2 Würfel die mit jeweils 6 Quadern zusammengebaut sind modelliert.

Meine Frage ist jetzt: Wie kann ich wenn eine bestimmte Taste gedrückt wird, die Objekte auf eine zufällige Seite drehen (wie beim würfeln) sodass die 6 Quader immer noch ein Würfel ergeben?

Den Code den ich bisher habe:

import GLOOP.*;

class Würfelspiel{
    GLTastatur tastatur;
    GLSchwenkkamera cam;
    GLLicht spot , spotoben;
    
    GLQuader links, rechts, vorne, hinten, oben, unten;
    GLQuader left, right, front, back, up, down;
    
    GLQuader tisch;
    GLQuader eins, zwei, drei, vier;
    
    Würfelspiel(){
        cam = new GLSchwenkkamera(500, 500);
        spot = new GLLicht();
        spotoben = new GLLicht(0,0,-500);
        tastatur = new GLTastatur();
    
        tisch = new GLQuader(0,0,0,900,10,900);
        
        eins = new GLQuader(430,-250,430,40,500,40);
        zwei = new GLQuader(-430,-250,430,40,500,40);
        drei = new GLQuader(-430,-250,-430,40,500,40);
        vier = new GLQuader(430,-250,-430,40,500,40);
        
        links = new GLQuader(-50, 50, 0, 10, 100, 100);
        vorne = new GLQuader(0, 50, 50, 100, 100, 10);
        rechts = new GLQuader(50, 50, 0, 10, 100, 100);
        hinten = new GLQuader(0, 50, -50, 100, 100, 10);
        oben = new GLQuader(0, 100, 0, 100, 10, 100);
        unten = new GLQuader(0, 0, 0, 100, 10, 100);
        
        left = new GLQuader(150, 50, 150, 10, 100, 100);
        front = new GLQuader(200, 50, 200, 100, 100, 10);
        right = new GLQuader(250, 50, 150, 10, 100, 100);
        back = new GLQuader(200, 50, 100, 100, 100, 10);
        up = new GLQuader(200, 100, 150, 100, 10, 100);
        down = new GLQuader(200, 0, 150, 100, 10, 100);
        
        
        links.setzeTextur("drei.jpg");
        vorne.setzeTextur("fünf.jpg");
        rechts.setzeTextur("vier.png");
        hinten.setzeTextur("zwei.jpg");
        oben.setzeTextur("sechs.jpg");
        unten.setzeTextur("eins.png");
        
        left.setzeTextur("drei.jpg");
        front.setzeTextur("fünf.jpg");
        right.setzeTextur("vier.png");
        back.setzeTextur("zwei.jpg");
        up.setzeTextur("sechs.jpg");
        down.setzeTextur("eins.png");
        
        if(tastatur.istGedrueckt('f')){
            
        }
    }
}

Computer, Schule, programmieren, Java, Würfelspiel, BlueJ, Informatik, GLOOP

Java / BlueJ: Wo ist hier der Fehler?

Ich habe folgendes Programm geschrieben:

public class Formel {
  private int c;

  private int p;

  private int k;

  private boolean ergebnis;

  public Formel() {
    double formel = Math.pow(c, 3) - 3 * Math.pow(c, 2) * (p -k) + 3 * c * (Math.pow(p, 2) - Math.pow(k, 2)) - (Math.pow(p, 3) + Math.pow(k, 3));
    p = 2;
    k = 1;
    boolean ergbnis = false;

    for (formel = 0;;) {
      do {
        Math.pow(-4 * Math.pow(k, 3) + 9 * Math.pow(k, 2) * p + Math.pow(-16 * Math.pow(k, 6) + 24 * Math.pow(k, 5) * p + 9 * Math.pow(k, 4) * Math.pow(p, 2) - 22 * Math.pow(k, 3) * Math.pow(p, 3) + 9 * Math.pow(k, 2) * Math.pow(p, 4), 0.5) - 3* k * Math.pow(p, 2), 1 / 3); // divided by Math.pow(2, 1/3);
        p++;
        k++;
      }
      while (ergebnis = false);
  
      if (ergebnis = true) {
        System.out.println(c);
        System.out.println(p);
        System.out.println(k);
        break;
      }
    }
  }
}

Hier:

3 * k* Math.pow(p, 2), 1 / 3); // divided by Math.pow(2, 1 / 3)

will ich, dass die linke Seite (also den ganzen linken Term beginnend mit Math.pow(-4Math.pow(k,3)...) durch die rechte geteilt wird. Also soll da stehen:

Math.pow(-4 * Math.pow(k, 3) + 9 * Math.pow(k, 2) * p + Math.pow(-16 * Math.pow(k, 6) + 24 * Math.pow(k, 5) * p + 9 * Math.pow(k, 4) * Math.pow(p, 2) - 22 * Math.pow(k, 3) * Math.pow(p, 3) + 9 * Math.pow(k, 2) * Math.pow(p, 4), 0.5) - 3 * k * Math.pow(p, 2), 1 / 3) / Math.pow(2, 1 / 3);

Jedoch ist das Problem dass er das geteilt Zeichen nicht als Statement sieht? Was ist hier falsch bzw. wie kann ich das korrigieren?

Java, BlueJ, Informatiker

Meistgelesene Beiträge zum Thema BlueJ