Objekt bewegen lassen (bluej)

2 Antworten

du musst eine while schleife erstellen, z.B.

while(!hTastatur.istGedrueckt('a')) { .verschiebe(X,Y,Z) }

Bei X,Y,Z musst du Zahlen eintragen, ich empfehle es erst mal immer mit 1 zu versuchen, ausserdem kannst du noch etwas wie Sys.warte() einfügen, damit es sich nicht so schnell bewegt. Alles zusammen bedeutet also, dass das System ultraschnell überprüft ob "a" gedrückt wurde, wenn nicht verschiebt es das Objekt jedes mal um XYZ, die Abstände des Überprüfens kannst du mit Sys.warte() vergrößern. Allerdings musst du dann noch oben in der Deklaration GLTastatur hTastatur; machen, also die Tastatur deklarieren und auch später noch erzeugen, mit hTastatur = new GLTastatur(); und du musst GLOOP installiert haben. Hoffe ich konnte dir helfen...

Wie genau meinst du das mit dem Bewegen? Möchtest du, dass es graphisch angezeigt wird, z.B. ein Kreis oder ein Bild, was sich über den Bildschirm bewegt?

Und Methoden erstellen gehört zu den absoluten Grundlagen. Ich möchte nicht gemein klingen, aber wenn du nicht einmal wissen solltest wie man neue Methoden erstellt, wird das mit der graphischen Oberfläche nicht klappen. Denn die kommen meistens erst später, wenn man die Grundlagen verstanden hat und anwenden kann. Abgesehen davon, würde ich statt BlueJ eher eclipse oder ähnliche Programme für die graphische Umsetzung verwenden.

"Getränkeautomat" mit Java Programmieren

Hallo Leute ich möchte mit Java einen Getränkeautomaten Programmieren. Jetzt hab ich eine Methode Wasser_kaufen, in BlueJ sieht sie folgendermaßen aus:

public void WasserKaufen(){

    Wasser=Wasser-1;

}

Im Automaten ist aber nur Platz für 10 Flaschen Wasser. Wenn ich aber diese Methode verwende dann kann man ja mehr kaufen! Also mein versuch das Problem zu beheben: eine if-Bedingung. Sieht bei mir folgendermaßen aus:

public void WasserKaufen(){

    Wasser=Wasser-1;
    if (Wasser=0)// meine Idee: wenn bei Wasser bereits nichts mehr drin ist,
    {Wasser=0;// kann nichts mehr gekauft werden. Toll wäre auch                     noch eine Meldung wie Wasser leer 
    }
}

Dann kommt allerdings von BlueJ die Fehlermeldung: incompatible types

Wie kann ich diesen Fehler beheben so, dass nicht mehr als 10 Flaschen gekauft werden können. Danke schon mal für eure Antworten nummer100

...zur Frage

BlueJ - mehrere Schleifen gleichzeitig?

Hallo, wie kann ich in BlueJ mehrere while-Schleifen gleichzeitig laufen lassen? Ich möchte, dass man ein Objekt mit wasd steuern kann. Für jede Taste habe ich eine eigene while-Schleife erstellt, aber man kann die Tasten nur in der Reihenfolge der Schleifen anwenden. Deswegen möchte ich alle gleichzeitig laufen lassen, sodass man die Tasten in einer beliebigen Reihenfolge anwenden kann.

Bislang habe ich:

        while (!(tast.istGedrueckt('a')))
            {f.dreheDich(1,0,0,0,0,0);
            Sys.warte(100);
        }
        }
        
   {while (!(tast.istGedrueckt('w')))
            {f.dreheDich(0,-1,0,0,0,0);
            Sys.warte(100);
            
            }
            while (!(tast.istGedrueckt('w')))
            {f.dreheDich(0,-1,0,0,0,0);
            Sys.warte(100);
            }
    }
    {while (!(tast.istGedrueckt('d')))
            {f.dreheDich(-1,0,0,0,0,0);
            Sys.warte(100);
           }
           while (!(tast.istGedrueckt('d')))
            {f.dreheDich(-1,0,0,0,0,0);
            Sys.warte(100);
           }
    }
    {while (!(tast.istGedrueckt('s')))
            {f.dreheDich(0,1,0,0,0,0);
            Sys.warte(100);
        }
        while (!(tast.istGedrueckt('s')))
            {f.dreheDich(0,1,0,0,0,0);
            Sys.warte(100);
        }
     
    

Klammern etc. sind alle richtig. (Ich weiß, dass hier welche fehlen) Ich möcht keine Verbesserungen, sondern einfach nur Wissen wie man alles gleichzeitig laufen lassen kann.

Danke im Vorraus!

...zur Frage

Wie verbinde ich Klassen in BlueJ?

Hallo, im Unterricht arbeiten wir zurzeit mit BlueJ. Nun habe ich drei Klassen erstellt. Von der Klasse A führen auch schon gestrichelte Pfeile zu den anderen beiden Klassen. Nun möchte ich in der Klasse A eine Methode haben, die eine Methode von Klasse B (mit der Klasse A ja irgendwie schon verbunden ist) aufruft. Dies haben wir in der Schule schon gemacht , ich konnte es mir allerdings nicht merken. Ich meine es hatte etwas mit "new" zu tun?! Ich bin totaler Neuanfänger in diesem Bereich, deshalb bin ich sehr dankbar für jede Hilfe. PS. dies ist keine Hausaufgabe!

...zur Frage

Warum wird bei dem Bewegen der Pacman nicht radiert?

Hallo, wir müssen im Informatikunterricht mit blueJ ein Spiel programmieren. Ich möchte dabei versuchen Pacman zu programmieren. Allerdings wird bei dem Bewegen der Figur die vorherige Figur nicht gelöscht. Es sind also zwei Pacmans vorhanden wenn ich ihn einmal nach links laufen lasse :D

Ich habe nochmal im Heft nachgeschaut aber da wird es genauso gezeigt wie ich es gemacht habe :( Das letzte Bild zeigt dieses Problem ich habe ihn einmal nach links gehen lassen ... Hat einer von vielleicht eine Idee?

...zur Frage

Was möchtest Du wissen?