[Java] bumpers java

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von bimmelboy, 19. Dezember 2008 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 19. Dezember 2008
    bumpers java

    hi leute.
    muss für die uni bumpers als java schreiben und komm nich weiter....
    ich häng mal den code ran.
    und zwar bei comments /TO DO muss ich halt alles ausfüllen.
    ich brauche ein zu steuenderndes auto mit der Maus , nämlich Drivencar.
    ich hab zwar schon alles versucht aber das Auto fährt bei einem Mausklick nicht?
    hoffe ihr könnt mir helfen
    thx

    Code:
    import java.awt.Dimension;
    import java.awt.Graphics;
    import java.awt.Image;
    import java.awt.Point;
    
    /**
     * @author F.Lesske
     *
     * Diese Klasse repräsentiert das eigene Auto, welches vom Spieler gesteuert wird.
     */
    public class DrivenCar {
     
     private Image theImage; // bitmap zur Darstellung des Autos
     private int theHeight = 30; // Höhe der Darstellung des Autos
     private int theWidth = 70; // Breite der Darstellung des Autos
     private int theX = 5, theY = 455; // aktuelle Koordinaten des Autos
     private float theDX = 0.0F, theDY = 0.0F; // Bewegungsvektor, dargestellt durch die Veränderung in x und y Richtung
     private boolean isCrunched = false; // ist das Auto bereits kaputt?
     private boolean jumped = false; // das Auto ist im letzten Schritt gesprungen 
     private static final float V = 7.0F; // aktuelle Geschwindigkeit
    
     /**
     * Konstruktor für DrivenCar. Das neue Auto steht an Position (5, 455).
     * @param drivenCarImage das bitmap, durch welches das Auto dargestellt wird.
     */
     public DrivenCar(Image drivenCarImage) {
     theImage = drivenCarImage;
     theX = 5; theY = 455;
     }
    
    
     /**
     * Die Methode mouseLeftClicked wird aufgerufen, wenn ein Spieler mit der linken Maustaste in das Spielfeld klickt.
     * @param x : x Koordinate der Position, wo der Mausklick stattgefunden hat
     * @param y : y Koordinate der Position, wo der Mausklick stattgefunden hat
     */
     public void mouseLeftClicked(int x, int y) {
     // TO DO ab jetzt fahre in Richtung (x,y) mit Geschwindigkeit V
     }
    
     /**
     * Die Methode mouseRightClicked wird aufgerufen, wenn ein Spieler mit der rechten Maustaste in das Spielfeld klickt.
     * @param x : x Koordinate der Position, wo der Mausklick stattgefunden hat
     * @param y : y Koordinate der Position, wo der Mausklick stattgefunden hat
     */
     public void mouseRightClicked(int x, int y) {
     // TO DO
     // Hinweis: mit der Variable jumped merken wir uns, dass gerade ein Sprung statt gefunden hat.
     } 
     
     
     /**
     * Die Methode update sorgt dafür, dass für das Auto eine neue Position berechnet wird.
     * Die neue Position ist abhängig von der aktuellen Position und dem Bewegungsvektor.
     * Das Auto soll nicht über den Rand des Spielfeldes hinaus fahren. Wenn es an einen Rand stößt,
     * so soll das Auto die entsprechende Richtung umkehren und sich in entgegengesetzter Richtung bewegen.
     * 
     * @param x : der rechte Rand, die maximale x-Koordinate des Spielfeldes
     * @param y : der untere Rand, die maximale y-Koordinate des Spielfeldes
     */
     public void update(int x, int y) {
     // Wenn das Auto kaputt ist, soll es sich nicht mehr bewegen.
     if (isCrunched) return;
     
     // im anderen Fall, soll die Position neu bestimmt werden
     // TO DO
    
     }
     
     /**
     * Methode die feststellt, ob das Auto bereits kaputt ist.
     * @return boolean true, wenn das Auto kaputt ist
     */
     public boolean isCrunched() {
     return isCrunched;
     }
     
     /**
     * Wenn es zu einer Kollision kommt, wird damit das Auto in den kaputten Zustand versetzt.
     *
     */
     public void setCrunched() {
     isCrunched = true;
     theDX = -theDX;
     theDY = -theDY;
     }
     
     /**
     * Bei einem Neustart muss das kaputte Auto wieder repariert werden.
     *
     */
     public void resetCrunched() {
     isCrunched = false;
     }
     
     /**
     * Liefert die aktuelle x-Koordinate des Autos.
     * @return aktuelle x-Koordinate 
     */
     public final synchronized int getX() {
     return theX;
     }
     
     /**
     * Liefert die aktuelle y-Koordinate des Autos.
     * @return aktuelle y-Koordinate 
     */
     public final synchronized int getY() {
     return theY;
     }
     
     /**
     * Liefert die aktuelle Breite des Autos.
     * @return aktuelle Breite
     */
     public final synchronized int getWidth() {
     return theWidth;
     }
     
     /**
     * Liefert die aktuelle Höhe des Autos.
     * @return aktuelle Höhe
     */
     public final synchronized int getHeight() {
     return theHeight;
     }
    
     /**
     * Liefert die Größe der Darstellung des Autos.
     * @return Dimension
     */
     public final synchronized Dimension getSize() {
     return new Dimension(theWidth, theHeight);
     }
     
     /**
     * Hier wird das Auto auf das Spielfeld gezeichnet. Dabei wird das zugehörige bitmap 
     * auf der aktuellen Position mit der vorgegebenen Höhe und Breite gezeichnet.
     * @param g : Die Grafik der Spielfläche.
     */
     public void paint(Graphics g) {
     g.drawImage(theImage, theX, theY, theWidth, theHeight, null);
     }
    
    
    }
    
     
  2. 25. Dezember 2008
    AW: bumpers java

    hi

    ne frage was ist eig bumpers genau?

    haben in der schule so was ähnliches auch mal gemacht.

    erklär mal bitte en bissel genauer dann kann ich dir wahrscheins helfen

    bzw. wo kommst du genau nicht weiter weißt du nicht wie du auf die x y koordinate des klicks kommst?
     
  3. 27. Dezember 2008
    AW: bumpers java

    habs mir nicht so genau angesehen, aber haste schoneinmal was von MouseListener/MouseMotionListener gehört? Isn Interface mit welchem du die mouseevents abfragen kannst. So is eig logisch dass nix passiert
     
  4. 28. Dezember 2008
    AW: bumpers java

    Das sieht wieder typisch nach 1. Semester aus ? wie gmbh schon sagte deine mouseevents

    Zitat meines Profs: "Ein guter quellcode erklärt sich selbst und hat höchsten ein fünfzehntel an kommentarzeilen zu quellcodezeilen, und immer so wenig wie möglich, aber so viel wie nötig!" oder so inner art

    Bei dir sieht man echt vor lauter kommentaren denn quellcode nichtmehr

    Hoffe das soll auch keine Klasse sein die man starten kann, dafür würde einiges fehlen. Und wenn du autos fahren lassen willst und per maus steuern, leg ich dir das Kaptiel Multithreading ans Herz

    1mp
     
  5. 29. Dezember 2008
    AW: bumpers java

    Ich weiß nicht, was du für Professoren hast, aber wir was abgeben müssen und das Verhältnis Comment:Code wäre 1:15 dann würde das ordentlich Abzug geben...^^
    Die Javadoc Comments oben passen schon von der Länge her, die sind ja auch dafür da, dass man daraus eine Doku generieren kann...

    btt: Es wurde ja eigenltich schon gesagt, du musst mit MouseListenern arbeiten, per google solltest du genug Beispiele/Erklärung finden, ansonsten kannst du ja nochmal hier fragen, wenn du wo nicht weiterkommst...

    MfG JMP
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.