Java / GLOOP: Kollision bei dem Billardtisch?

Hallo.

Ich habe ein Problem mit dem Billardtisch, den ich erstellen will. Ich habe es so weit geschafft, einen Tisch mit ein paar Bällen zu erstellen, aber ich weiß nicht, was man machen muss, damit der Ball stehen bleibt, wenn er den Rand vom Tisch berührt (oder die Bälle weiter rollen, wenn einer den anderen trifft).

Der ganze Quelltext:

import GLOOP.*;

public class Billiard {
  GLEntwicklerkamera meineKamera;
  GLLicht meinLicht;
  GLTastatur meineTastatur;
  GLQuader seite1, seite2, seite3, seite4, Tisch;
  GLKugel weiss, schwarz, blau, lila, gelb, grün, orange;

  public Billiard() {
    meineKamera = new GLEntwicklerkamera();
    meinLicht = new GLLicht();
    Tisch = new GLQuader(0, 0, -30, 670, 400, 4);
    seite1 = new GLQuader(350, 0, -20, 20, 450, 20);
    seite2 = new GLQuader(-350, 0, -20, 20, 450, 20);
    seite3 = new GLQuader(0, 212, -20, 700, 20, 20);
    seite4 = new GLQuader(0, -212, -20, 700, 20, 20);

    Tisch.setzeTextur("gfx/Grün.png");
    seite1.setzeTextur("gfx/HOLZ.png");
    seite2.setzeTextur("gfx/HOLZ.png");
    seite3.setzeTextur("gfx/HOLZ.png");
    seite4.setzeTextur("gfx/HOLZ.png");

    weiss = new GLKugel(0, 0, 0, 20);
    weiss.setzeTextur("gfx/weiss.png");
    schwarz = new GLKugel(175, -10, 0, 20);
    schwarz.setzeTextur("gfx/schwarz.png");
    blau = new GLKugel(250, -11, 0, 20);
    blau.setzeTextur("gfx/blau.png");
    lila = new GLKugel(250, -49, 0, 20);
    lila.setzeTextur("gfx/lila.png");
    gelb = new GLKugel(250, 26, 0, 20);
    gelb.setzeTextur("gfx/gelb.png");
    grün = new GLKugel(211, 7, 0, 20);
    grün.setzeTextur("gfx/grun.png");
    orange = new GLKugel(211, -30, 0, 20);
    orange.setzeTextur("gfx/orange.png");
    meineTastatur = new GLTastatur();
  }

  public void fuehreAus() {
    while (!meineTastatur.istGedrueckt(' ')) {
      if (meineTastatur.links()) {
        weiss.verschiebe(-2, 0, 0);
        Sys.warte(5);
      }

      if (meineTastatur.rechts()) {
        weiss.verschiebe(2, 0, 0);
        Sys.warte(5);
      }

      if (meineTastatur.oben()) {
        weiss.verschiebe(0, 2, 0);
        Sys.warte(5);
      }

      if (meineTastatur.unten()) {
        weiss.verschiebe(0, -2, 0);
        Sys.warte(5);
      }
    }
  }
}

Bild zum Beitrag
Ball, Java, Informatik, Kollision, GLOOP
Funktion von Multiplexer ablesen?

Grüße an alle.

Ich muss/darf/soll/habe die Ehre, die Funktionen f (c,d) und g(a,b,c,d) vom folgenden Multiplexer mittels einer Wertetabelle herzuleiten.

Ansatz:

Zunächst erstmal f(c,d): Das ist ja eine Verknüpfung von 2 Multiplexern. Einmal der erste ganz oben links. Der hat als Steuerwerk d, als Eingänge c negiert und 0, und als Ausgang den Weg zum anderen Multiplexer. Da das Steuerwerk d ist, müssen wir die Variable c betrachten. Die Wertetabelle von c unter Betrachtung der Ausgänge, wäre dann:

c_____d_______Ausgang

0_____0_______=>_ c negiert

0_____1_______=> c negiert

1_____0_______=> 0

1____1________ => 0

Also wäre die Wertetabelle für f (c,d)

c___d______f(c,d)

0___0______1

0___1______1

1____0_____0

1____1_____0

Jetzt den zweiten Multiplexer betrachten. Hier ist das Steuersignal c, also müssen wir das Verhalten von d betrachten

Die Wertetabelle wäre wieder nach dem Muster (0,0), (0,1), (1,0), (1,1).

Für (0,1) und (1,1) wäre der Ausgang 1, d.h. die Zeilen wären

c___d_____f (c,d)

1 0 1

1 0 1

Wie sieht es jetzt aber mit (0,0) und (0,1) aus? Da ist der Eingang ja der Multiplexer mit Steuersignal d und ich kann ja nicht sagen, welchen Wert der multiplexer bei (0,0) und (0,1) annimt.

Bild zum Beitrag
Computer, Schule, Mathematik, Technik, Elektronik, Funktion, Elektrotechnik, Informatik, Schaltung, Schaltungstechnik, Technologie, Boolesche Algebra, schaltplaene, technische informatik, Wertetabelle
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
C++ Programmcode nicht ausführbar "willkommen"?

Guten Abend zusammen,

ich habe mir heute das, Kindle eBook C++ Programmieren für Einsteiger geholt, da mich programmieren schon seit langer Zeit sehr interessiert, ich bisher aber zeitlich nicht dazu kam, mich da einzulesen.

Nun zu der Frage: Ich habe all das, was das Buch mir gesagt hat, durchgeführt:

  1. Einen Text-Editor zum Codes schreiben heruntergeladen: Geany (Schreibe jedoch über den normalen, bereits auf Windows 10 vorhandenen Texteditor).
  2. Einen Compiler für die Erstellung der Programme heruntergeladen: MinGW.

Anschließend kam auch schon die erste Aufgabe. Ich sollte mit einem Kommandozeileninterpreter (cmd / Eingabeaufforderung) die Version des MinGW abfragen. Dies musste ich erst in den erweiterten Systemeinstellungen einstellen, indem ich die Umgebungsvariablen anpasse (in PATH den Dateipfad meines MinGW\Bin-Ordner hinzufügen). Das hat auch funktioniert und ich konnte durch die Eingabeaufforderung die Version meines Compilers abfragen.

Nun geht es los, das erste Programm schreiben: Eine einfache Ausgabe auf dem Bildschirm. Ziel ist es, eine kurze Textnachricht auszugeben.

Nun sind die Schritte wie folgt beschrieben:

  1. Texteditor öffnen
  2. Programmcode eingeben
#include <iostream>

int main()
{
  std::cout << "Willkommen zum C++ Kurs!";
}

Nun soll ich die Datei unter dem Namen willkommen.cpp abspeichern, in meinem Fall auf dem Desktop.

Danach geht es um die Ausführung des Programms: Ich muss das Programm mithilfe des Kommandozeileninterpreters (cmd) kompilieren.

  1. cmd öffnen.
  2. Verzeichnis ändern, in dem Fall auf meinen Desktop

Befehl:

g++ -o willkommen willkommen.cpp

(Ich frage mich, warum ich doppelt willkommen eingeben muss, auch wenn meine Datei nur ein willkommen hat? Ich habe es mit nur einem willkommen probiert und es wurde mir ein Fehler angezeigt!)

Wenn ich das so eingebe, kommt eine oder zwei kurze Sekunden ein Ladevorgang und es passiert weiter nichts. Eigentlich steht in dem Buch geschrieben, dass unter meiner Eingabe in der cmd ein "Willkommen im C++ Kurs " erscheinen sollte. Dies ist leider nicht der Fall.

Also an jeden, der sich mein Problem angeschaut hat: Vielen Dank!

Ich habe auf YouTube und anderen Plattformen nach einer Lösung geschaut, jedoch nichts mit der gleichen Ähnlichkeit gefunden.

Computer, Buch, Technik, IT, programmieren, Informatik, Technologie, C (Programmiersprache)
Ternärer Baum als Pseudocode?

In dieser Aufgabe betrachten wir gewurzelte ternäre Bäume. Jeder Knoten v kann also ein linkes Kind v.L, ein mittleres Kind v.M und/oder ein rechtes Kind v.R haben. Wir möchten nun herausfinden, wie viele Knoten im Baum sind.Gebe jeweils einen rekursiven Algorithmus in Pseudocode an, der durch den Aufruf count(v0) die Anzahl n der Knoten im Baum mit Wurzel v0 bestimmt. Begründe die Korrektheit der Algorithmen.

a) Gehe für den Entwurf deines Algorithmus zuerst davon aus, dass der Baum vollständig ist, also jeder Knoten entweder genau drei Kinder oder gar kein Kind besitzt und für jedes Blatt der Weg von der Wurzel die gleiche Länge hat. Stelle eine Rekursionsgleichung für die Laufzeit auf und löse diese mithilfe des Master-Theorems. Der Algorithmus soll eine Laufzeit von o(n)haben.

b) Wie verändern sich Algorithmus und Laufzeit, wenn Sie allgemeine ternäre Bäume betrachten?

________________________________________________________

Es geht um Pseudo-Code. In der Vorlesung benutzen wir C (obwohl wir C eigentlich erst nächstes Semester lernen), also wir lassen immer Klammern auf und schließen diese erst in der nächsten oder ubernächsten Zeile und erhöhen Variablen durch i++.

Ich habe mir überlegt, weil das ganze ein ternärer Baum sein soll und die Länge gezählt wird:

var counter = 0
    for b = 0; b ≤ n; b++) {
        for (l = 1, l++) {
             l = l + 1
}
        for (m = m, m++) {
             m = m + 1
}
        for (r = r, r++) {
             r = r + 1
}
        counter = counter + 1
}

wobei b die, ich nenn's jetzt einfach mal "Oberschleife" ,für den Baum an sich ist und l, m und r jeweils Unterschleifen, wobei l = links, m = mitte, r = rechts. Glaube aber, dass ich's mir hiermit zu einfach mache.

Zudem muss das Ganze ja noch als rekursive Funktion geschrieben werden, also der Form T (n) = a * T (n/b) + f(n), wobei b in diesem Fall = 3 ist, weil es ja ein ternärer Baum ist. Aber was ist a? Man könnte ja theoretisch unendlich viele Kinderknoten haben? Oder versteh ich da was falsch?

Schule, Mathematik, Knoten, Baum, Informatik, Pseudocode, Algorithmen und Datenstrukturen
Nur eine Website lädt langsam/nicht?

Hey, gestern lief alles noch perfekt! Jede Website lädt zügig und korrekt. Aber heute lädt auch jede Website (wirklich jede andere Website ist zügig geladen und auch normale Suchanfragen sind super schnell da) nur eine einzige Website lädt extrem langsam (dauert ca. 50 Sekunden bis irgendwas da ist und nun lädt sie überhaupt nicht mehr). Brauche diese Website. Gester hat sie noch ganz normal geladen, wie heute jede andere auch. Sie lädt auch nicht, wenn ich sie über den Google Browser suche und dann anklicke. Hier der Link: https://nolimits4x4hire.com.au

Hab schon alles versucht: Browserdaten gelöscht, Lesezeichen gelöscht, mit Link versucht zu laden, über Google Sucher -> Ergebnisse versucht zu laden, neuer Tab, Chrome beenden und neu starten. Nichts hat funktioniert.

Vielleicht liegt es daran, dass es eine australische Website ist (resp. ein australischer Server) und ich die Suchanfrage von der Schweiz aus stelle. Aber andere australische Website funktionieren einwandfrei und gester ging diese Seite auch noch.

Könnt ihr mal schauen, ob die Website bei euch auch nicht lädt?

Und kann mir bitte jemand sagen, an was dass das liegen kann? Alles andere läuft nämlich normal.

Und wie kann ich das Problem beheben?

Liebe Grüsse

Server, Computer, Handy, Auto, Internet, Europa, online, Google, Internetverbindung, Online-Shop, IT, Webseite, Deutschland, Schweiz, Daten, 4x4, Australien, Datenübertragung, Informatik, mieten, Offroad, Technologie, Verbindung, World Wide Web, WWW, Gigabyte, Laptop
JavaScript - Erste Schritte, CSS wird blockiert?

Ich bekomme folgenden Error, wenn ich versuche meine ersten Versuche einer Webseite in Firefox zu laden.

Die Ressource von "http://localhost:63342/FirstTest/style.css" wurde wegen eines MIME-Typ-Konfliktes ("text/html") blockiert (X-Content-Type-Options: nosniff)

Das ist der Code von den Datein.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8"/>
    <title>Title</title>
    <link rel="stylesheet"href="style.css">
</head>
<body>
    <div class="placeholder">
        I'm in a div!
    </div>
    <div class="anotherClass">
        I'm in another class!
    </div>
</body>
</html>

CSS

.placeholder{
    background-color: red;
}

.anotherClass{
    background-color: lightseagreen;
}

Leider werden nur die div Elemente ausgeben, woran kann es legen? Ich werde aus der Fehlermeldung nicht schlau.

Schöne Grüße

Computer, Technik, HTML, CSS, Informatik, Technologie, Webentwicklung

Meistgelesene Beiträge zum Thema Informatik