Ufospiel programmieren

N

noah_1492

Mitglied
Guten Abend,
ich bin gerade dabei ein Ufospiel zu programmieren. Das Ziel ist es den Asteroiden(3 Stück) zu entweichen. Bei einer Berührung soll das Ufo explodieren. Das Ufo soll man nach links und rechts bewegen können. Genau da ist mein Problem. Ich bekomme es nicht hin mein Ufo zu bewegen, das aus mehreren Objekten. Ich habe bereits über ein Sprite nachgedacht, aber ich glaube, dass ist der falsche Weg. Danke im Vorraus
Hier meine Programmierung:
Ufospiel:
/**
* Die Klasse managed das Programm
*
* @author ()
* @version (12.01.21)
*/
import sas.*;
import java.awt.Color;
public class Ufospiel
{
    public View view;
    Picture picture;
    Ufo ufo1;
    Asteorid asteorid1;
    Asteorid asteorid2;
    Asteorid asteorid3;

    /*
     * Hier erscheint das Spielfeld
     */
    public void main()
    {
        view = new View(600,500, "Ufospiel");
        picture = new Picture(0, 0, 600, 500, "sternenhimmel1.jpg");
        ufo1 = new Ufo(275,400);
        asteorid1 = new Asteorid(100,100, 180);
        asteorid2 = new Asteorid(400,200,180);
        asteorid3 = new Asteorid(350,300,180);
    }

    public static void main(String[] args) {
        Ufospiel ufospiel = new Ufospiel();
        ufospiel.main();
    }
}
Ufo:
/**
* Hier wird das Ufo programmiert und erschienen
*
* @author ()
* @version (12.01.21)
*/
import sas.*;
import java.awt.Color;
public class Ufo
{
    Rectangle rectangle;
    Ellipse ellipse;
    Polygon triangle1;
    Polygon triangle2;
    Sprite ufo;
    /*
     * Hier wird das Ufo "gebaut"
     */
    public Ufo(int startX, int startY){
        rectangle = new Rectangle(startX, startY, 50, 20, Color.RED);
        triangle1 = new Polygon(startX, startY, Color.GREEN);
        triangle1.add(-20,10);
        triangle1.add(0, 20);
        triangle2 = new Polygon(startX + 50, startY, Color.GREEN);
        triangle2.add(20,10);
        triangle2.add(0, 20);
        ellipse = new Ellipse(startX + 5, startY - 13, 40, 26, Color.BLUE);
    }

    /*
     * Ufo wird nach links gelenkt
     */
    public void links() {
        this.move(-12, 0);
    }

    /*
     * Ufo wird nach rechts gelenkt
     */
    public void rechts() {

    }

    /*
     * Ufo soll explodieren
     */
    public void explode () {

    }
}
Asteorid:
/**
* Diese Klasse steurt die Asteoriden
*
* @author (Noah)
* @version (12.01.21)
*/
import sas.*;
import java.awt.Color;
public class Asteorid
{
    Circle circle;
    /*
     * Asteoride werden erstellt
     */
    public Asteorid(int startX, int startY, int flugrichtung){
        circle = new Circle (startX, startY, 10, "Asteorid.jpg");
    }

    /*
     * Hier werden die Asteoriden zufällig bewegt
     */
    public void move(){

    }

}
 
H

httpdigest

Top Contributor
Okay, du hast also eine Art "Framework"/Rahmenwerk mit Klassen aus einem unbekannten Package "sas" vorgegeben, die wir natürlich nicht kennen, hast Code gezeigt, der ja auch überhaupt nicht das macht, was du willst (irgendetwas bewegen) und deine Frage ist jetzt genau welche?
 
N

noah_1492

Mitglied
Sas Dokumentation:
http://www.dingemann.de/sas/DokumentationSaS.5.7.pdf
Bisher habe ich nur die umgebung gemacht, also alle Objekte, Hintergrund etc.
Nun möchte ich anfangen, die verschiedenen Objekte zu bewegen. Deswegen fehlen noch viele Methoden.
Meine aktuelle Frage ist, wie ich die Methode links() (Klasse Ufo, Zeile 33) programmieren kann und sie in der Main Methode(Klasse Ufospiel) integrieren kann.
1610480426314.png

1610480465082.png

So soll es nach der Explosion aussehen. Das Bild vorher zeigt wie es vorher aussehen soll. Meine Programmierung zeigt aktuell ebenfalls das erste Bild
 
N

noah_1492

Mitglied
Ich bin dabei, die Asteoriden zu programmieren, die sollen wenn einer von den dreien die View berührt, der jeweilige eine 90 Grad drehung machen. Aber bei mir funktioniert aber die Methode intersects nicht. Ebenfalls findet die Klasse asteorid dieses Rechteck aus der main Methode nicht.
Zusammenfassend bräuchte ich hilfe wie ich prüfen kann, wann ein Asteorid die Wand berührt und schließlich sich drehen soll.
Hier mein Programm:

Ufospiel:
/**
 * Die Klasse managed das Programm
 *
 * @author ()
 * @version (12.01.21)
 */
import sas.*;
import java.awt.Color;
public class Ufospiel
{
    public View view;
    Picture picture;
    Ufo ufo1;
    Asteorid asteorid1;
    Asteorid asteorid2;
    Asteorid asteorid3;
    private Rectangle rectangle1;
    /*
     * Hier erscheint das Spielfeld
     */
    public void main()
    {
        view = new View(600,500, "Ufospiel");
        rectangle1 = new Rectangle(0, 0, 600, 500);
        rectangle1.setTransparency(0);
        picture = new Picture(0, 0, 600, 500, "sternenhimmel1.jpg");
        ufo1 = new Ufo(275,400);
        asteorid1 = new Asteorid(100,100, 180);
        asteorid2 = new Asteorid(400,200,180);
        asteorid3 = new Asteorid(350,300,180);
        while(ufo1.intersects(rectangle1)) {
        
        }
    }

    public static void main(String[] args) {
        Ufospiel ufospiel = new Ufospiel();
        ufospiel.main();
    }
}
Ufo:
/**
 * Hier wird das Ufo programmiert und erschienen
 *
 * @author ()
 * @version (12.01.21)
 */
import sas.*;
import java.awt.Color;
public class Ufo
{
    Rectangle rectangle;
    Ellipse ellipse;
    Polygon triangle1;
    Polygon triangle2;
    private Sprite ufo;
    /*
     * Hier wird das Ufo "gebaut"
     */
    public Ufo(int startX, int startY){
        rectangle = new Rectangle(startX, startY, 50, 20, Color.RED);
        ufo.add(rectangle);
        triangle1 = new Polygon(startX, startY, Color.GREEN);
        triangle1.add(-20,10);
        triangle1.add(0, 20);
        ufo.add(triangle1);
        triangle2 = new Polygon(startX + 50, startY, Color.GREEN);
        triangle2.add(20,10);
        triangle2.add(0, 20);
        ufo.add(triangle2);
        ellipse = new Ellipse(startX + 5, startY - 13, 40, 26, Color.BLUE);
        ufo.add(ellipse);
    }

    /*
     * Ufo wird nach links gelenkt
     */
    public void links() {
        ufo.move(-12, 0);
    }

    /*
     * Ufo wird nach rechts gelenkt
     */
    public void rechts() {
        ufo.move(12,0);
    }

    /*
     * Ufo soll explodieren
     */
    public void explode () {

    }
}
Asteorid:
/**
 * Diese Klasse steurt die Asteoriden
 *
 * @author (Noah)
 * @version (12.01.21)
 */
import sas.*;
import java.awt.Color;
public class Asteorid
{
    Circle circle;
    /*
     * Asteoride werden erstellt
     */
    public Asteorid(int startX, int startY, int flugrichtung){
        circle = new Circle (startX, startY, 10, "Asteorid.jpg");
        circle.turn(flugrichtung);
    }

    /*
     * Hier werden die Asteoriden zufällig bewegt
     */
    public void move(){
        if (Asteorid.intersects(rectangle1)) {
            ufo.turn(90);
        }
    }

}
 
N

noah_1492

Mitglied
So wie das folgende Programm sollte es eigentlich funktionieren. Aber das Programm findet paar Methoden und OBjekte nicht. Die Fehlerzeilen werde ich markieren:
Asteorid:
/**
* Diese Klasse steurt die Asteoriden
*
* @author (Noah)
* @version (12.01.21)
*/
import sas.*;
import java.awt.Color;
public class Asteorid
{
    Circle circle;
    /*
     * Asteoride werden erstellt
     */
    public Asteorid(int startX, int startY, int flugrichtung){
        circle = new Circle (startX, startY, 10, "Asteorid.jpg");
        circle.turn(flugrichtung);
    }

    /*
     * Hier werden die Asteoriden zufällig bewegt
     */
    public void move(){
        if (Asteorid.intersects(rectangle1)) {   //rectangle1 wird nicht gefunden
            ufo.turn(90);                                   //ufo wird nicht gefunden
        }
        else {
            ufo.move(10);                              // ufo wird nicht gefunden
        }
    }

}
Ufo:
/**
* Hier wird das Ufo programmiert und erschienen
*
* @author ()
* @version (12.01.21)
*/
import sas.*;
import java.awt.Color;
public class Ufo
{
    Rectangle rectangle;
    Ellipse ellipse;
    Polygon triangle1;
    Polygon triangle2;
    private Sprite ufo;
    /*
     * Hier wird das Ufo "gebaut"
     */
    public Ufo(int startX, int startY){
        rectangle = new Rectangle(startX, startY, 50, 20, Color.RED);
        ufo.add(rectangle);
        triangle1 = new Polygon(startX, startY, Color.GREEN);
        triangle1.add(-20,10);
        triangle1.add(0, 20);
        ufo.add(triangle1);
        triangle2 = new Polygon(startX + 50, startY, Color.GREEN);
        triangle2.add(20,10);
        triangle2.add(0, 20);
        ufo.add(triangle2);
        ellipse = new Ellipse(startX + 5, startY - 13, 40, 26, Color.BLUE);
        ufo.add(ellipse);
    }

    /*
     * Ufo wird nach links gelenkt
     */
    public void links() {
        ufo.move(-12, 0);
    }

    /*
     * Ufo wird nach rechts gelenkt
     */
    public void rechts() {
        ufo.move(12,0);
    }

    /*
     * Ufo soll explodieren
     */
    public void explode () {

    }
}
Ufospiel:
/**
* Die Klasse managed das Programm
*
* @author ()
* @version (12.01.21)
*/
import sas.*;
import java.awt.Color;
public class Ufospiel
{
    public View view;
    Picture picture;
    Ufo ufo1;
    Asteorid asteorid1;
    Asteorid asteorid2;
    Asteorid asteorid3;
    public Rectangle rectangle1;
    /*
     * Hier erscheint das Spielfeld
     */
    public void main()
    {
        view = new View(600,500, "Ufospiel");
        rectangle1 = new Rectangle(0, 0, 600, 500);
        rectangle1.setTransparency(0);
        picture = new Picture(0, 0, 600, 500, "sternenhimmel1.jpg");
        ufo1 = new Ufo(275,400);
        asteorid1 = new Asteorid(100,100, 180);
        asteorid2 = new Asteorid(400,200,180);
        asteorid3 = new Asteorid(350,300,180);
        while(ufo1.intersects(Asteorid)) {  // Asteorid wird nicht gefunden
            move(); //move wird nicht gefunden
            if(view.keyPressed('a')){
                links();    //links wird nicht gefunden
            }
            if(view.keyPressed('d')){
                rechts(); //rechts wird nicht gefunden
            }
        }
    }

    public static void main(String[] args) {
        Ufospiel ufospiel = new Ufospiel();
        ufospiel.main();
    }
}
 
temi

temi

Top Contributor
Java:
    public void move(){
        if (Asteorid.intersects(rectangle1)) {   //rectangle1 wird nicht gefunden
            ufo.turn(90);                                   //ufo wird nicht gefunden
        }
        else {
            ufo.move(10);                              // ufo wird nicht gefunden
        }
    }

Die beiden Variablen "rectangle1" und "ufo" im gezeigten Code sind für die Methode move() lokale Variablen, die allerdings innerhalb der Methode nicht deklariert sind, darum können sie auch nicht gefunden werden.

Irgendwie frage ich mich auch, warum sich, wenn eigentlich der Asteroid zufällig bewegt werden soll, sich das Ufo bewegen muss. Ich sehe auch keinen Zufall in der zufälligen Bewegung.
 
N

noah_1492

Mitglied
Ok, danke. Das Ufo soll sich bewegen, weil sozusagen der Spieler das Ufo steuern muss. Das Ziel ist es den Asteoriden zu entweichen. Die Asteoriden wollte ich jetzt erstmal so programmieren, dass sie an der Wand zunächst im neunzig Grad Winkel abprallen
Wie genau kann ich das Problem mit den lokalen variablen lösen
 
temi

temi

Top Contributor
Ok, danke. Das Ufo soll sich bewegen, weil sozusagen der Spieler das Ufo steuern muss. Das Ziel ist es den Asteoriden zu entweichen. Die Asteoriden wollte ich jetzt erstmal so programmieren, dass sie an der Wand zunächst im neunzig Grad Winkel abprallen
Aber warum möchtest du dann das Ufo aus dem Asteroiden heraus bewegen?
Wie genau kann ich das Problem mit den lokalen variablen lösen
Die böse Antwort: Indem du erst mal die Java-Grundlagen lernst.

In der objekorientieren Programmierung ist eine Möglichkeit Abhängigkeiten zwischen einzelnen Klassen zu lösen, indem man diese Abhängigkeiten z. B. im Konstruktor erfüllt, also indem du dem Asteroiden eine Referenz auf das Ufo gibst. Vermutlich wirst du das aber gar nicht brauchen, denn genau genommen muss ein Asteroid kein Ufo kennen. Stell dir das unendliche Weltall vor und eine Menge Asteroiden darin. Denkst du irgendein Asteroid "kennt" ein imaginäres Ufo, das ebenfalls durch das All schwebt?

Ich würde mich an deiner Stelle erst mal auf eine Sache konzentrieren, wie z. B. den Asteroiden.

Schreibe die Klasse Asteroid und sorge dafür das ein erzeugte Asteroid einen bestimmten Richtungsimpuls erhält, sobald er erzeugt wird. Ein Asteroid sollte also wissen, wie schnell er sich bewegt und in welche Richtung. Das geschieht z. B. auf zufälliger Basis (mit gewissen Grenzen) im Konstruktor. Dann kommt die Methode move() dazu, die dafür sorgt, dass er sich mit der (einmalig) zufälligen Geschwindigkeit in eine (einmalig) gewählt Richtung fortbewegt. Die Methode benötigt dazu nur Variablen, die die Klasse Asteroid auch kennt.

Du kannst natürlich auch, wie in deinem Code, die Richtung und Geschindigkeit über den Konstruktor von außen übergeben. Dann werden die zufälligen Werte dafür eben außerhalb von Asteroid erzeugt (z. B. in einer Factory-Klasse).

Damit kannst du jetzt erst mal testen. Erzeuge eine Anzahl von Asteroiden und schau zu, wie sie über den Bildschirm fliegen und dann verschwinden.

Jetzt kannst du als nächstes, so erforderlich, in der move() Routine prüfen, ob der Asteroid am Rand angekommen ist und entsprechend die Richtung ändern. Wobei das meiner Ansicht nach nicht ganz "natürlich" ist.

So programmierst du Stück für Stück weiter.

Java:
public class Asteorid
{
    private Circle circle;
    private int flugrichtung;
    private int speed;
    
    /*
     * Asteoride werden erstellt
     */
    public Asteorid(int startX, int startY, int flugrichtung, int speed){
        circle = new Circle (startX, startY, 10, "Asteorid.jpg");
        circle.turn(flugrichtung);
        this.flugrichtung = flugrichtung;
        this.speed = speed;
    }

    /*
     * Hier werden die Asteoriden bewegt
     */
    public void move(){
        // verwende flugrichtung und speed, um den Asteroiden zu bewegen
    }

}
 
Zuletzt bearbeitet:
N

noah_1492

Mitglied
Danke erstmal.
Nun bin ich schon sehr viel weiter gekommen. Die Asteroiden funktionieren alle. Das Ufo kann man bewegen. Nun fehlt die Explosion und die bereits vorhandene while schleife zu korrigieren.
Ich fang an mit der Explosion. Ich möchte, dass nach einer Berührung, das Spiel nach 10s schließt. Soweit bekomme ich dies hin. Jedoch soll dazu eben das Ufo zerstört werden. Die Methode explode soll dabei, jeden Gegenstand pro Sekunde 5 Felder weiter weg bringen(die Dreiecke nach links und rechts, Rechteck nach unten, Ellipse nach oben). Ich weiß nicht genau wie ich das machen soll. Vor allem mit dem Rechteck und der Ellipse, weil die Objekte immer nach rechts zeigen, müsste ich sie ja rein theoretisch drehen. Aber das sähe ja doof aus. Von daher ist da ein Problem.
Und wie vorhin gesagt die while Schleife. Die While schleife soll so lange gehen bis das Ufo ein Asteroid berührt. Ic hhabe es oft versucht mit contains, wie man auch im Code sieht, aber es kommen immer Fehlermeldungen, wie die Methode kenne ich nicht.
Hier mein Code:
Ufospiel:
/**
 * Die Klasse managed das Programm
 *
 * @author ()
 * @version (12.01.21)
 */
import sas.*;
import java.awt.Color;
public class Ufospiel
{
    public View view;
    Picture picture;
    Ufo ufo1;
    Asteroid asteroid1;
    Asteroid asteroid2;
    Asteroid asteroid3;
    public Rectangle rectangle1;
    /*
     * Hier erscheint das Spielfeld
     */
    public void main()
    {
        view = new View(600,500, "Ufospiel");
        rectangle1 = new Rectangle(0, 0, 600, 500);
        rectangle1.setTransparency(0);
        picture = new Picture(0, 0, 600, 500, "sternenhimmel1.jpg");
        ufo1 = new Ufo(275,400);
        asteroid1 = new Asteroid(100,100, Tools.randomNumber(0,360), Tools.randomNumber(5,10));
        asteroid2 = new Asteroid(400,200,Tools.randomNumber(0,360), Tools.randomNumber(5,10));
        asteroid3 = new Asteroid(350,300,Tools.randomNumber(0,360), Tools.randomNumber(5,10));
        while(ufo1.contains(asteroid1)) {  //Hier ist eine Fehlermeldung
            asteroid1.move();
            asteroid2.move();
            asteroid3.move();
            if(view.keyPressed('a')){
                ufo1.links();
            }
            if(view.keyPressed('d')){
                ufo1.rechts();
            }
            view.wait(100);
        }
        for(int i = 0; i == 9; i++){
            ufo1.explode();
            asteroid1.move();
            asteroid2.move();
            asteroid3.move();
            view.wait(1000);
        }
    }

    public static void main(String[] args) {
        Ufospiel ufospiel = new Ufospiel();
        ufospiel.main();
    }
}

Ufo:
/**
 * Hier wird das Ufo programmiert und erschienen
 *
 * @author ()
 * @version (12.01.21)
 */
import sas.*;
import java.awt.Color;
public class Ufo
{
    Rectangle rectangle;
    Ellipse ellipse;
    Polygon triangle1;
    Polygon triangle2;
    private Sprite ufo;
    /*
     * Hier wird das Ufo "gebaut"
     */
    public Ufo(int startX, int startY){
        ufo = new Sprite();
        rectangle = new Rectangle(startX, startY, 50, 20, Color.RED);
        ufo.add(rectangle);
        triangle1 = new Polygon(startX, startY, Color.GREEN);
        triangle1.add(-20,10);
        triangle1.add(0, 20);
        ufo.add(triangle1);
        triangle2 = new Polygon(startX + 50, startY, Color.GREEN);
        triangle2.add(20,10);
        triangle2.add(0, 20);
        ufo.add(triangle2);
        ellipse = new Ellipse(startX + 5, startY - 13, 40, 26, Color.BLUE);
        ufo.add(ellipse);
    }

    /*
     * Ufo wird nach links gelenkt
     */
    public void links() {
        ufo.move(-12, 0);
    }

    /*
     * Ufo wird nach rechts gelenkt
     */
    public void rechts() {
        ufo.move(12,0);
    }

    /*
     * Ufo soll explodieren
     */
    public void explode() {
        triangle1.move(-5);
        triangle2.move(5);       
    }
}
Asteroid:
/**
 * Diese Klasse steurt die Asteroiden
 *
 * @author (Noah)
 * @version (12.01.21)
 */
import sas.*;
import java.awt.Color;
public class Asteroid
{
    private Circle circle;
    private int flugrichtung;
    private int speed;
    private Rectangle rectangle;
    /*
     * Asteroide werden erstellt
     */
    public Asteroid(int startX, int startY, int flugrichtung, int speed){
        rectangle = new Rectangle(0, 0, 600, 500);
        rectangle.setTransparency(0);
        circle = new Circle (startX, startY, 10, "Asteorid.jpg");
        circle.turn(flugrichtung);
        this.flugrichtung = flugrichtung;
        this.speed = speed;
    }

    /*
     * Hier werden die Asteroiden zufällig bewegt
     */
    public void move(){
        circle.move(speed);
        if(!rectangle.contains(circle)){
            circle.turn(Tools.randomNumber(90,270));
        }
    }

}
 
temi

temi

Top Contributor
Java:
while(ufo1.contains(asteroid1))

Ich kann nicht erkennen, dass die Klasse Ufo über eine Methode contains() verfügt. Es stellt sich auch die Frage: Warum sollte ein Ufo Asteroiden enthalten?
 
N

noah_1492

Mitglied
Ich habe bereits erkannt, dass ich die beiden Teile vertauscht sind. Ich meine aber, dass contains bei jedem Objekt angewandt werden kann. Ich habe bisher schon weiter versucht. Was immer noch fehlt ist die Methode explode(siehe vorherige Antwort von mir, was diese machen soll) und die while Bedingung funktioniert irgendwie nicht. Das Programm geht halt nicht in die for Schleife. Hier mein Code:
Ufospiel:
/**
* Die Klasse managed das Programm
*
* @author ()
* @version (12.01.21)
*/
import sas.*;
import java.awt.Color;
public class Ufospiel
{
    public View view;
    Picture picture;
    Ufo ufo1;
    Asteroid asteroid1;
    Asteroid asteroid2;
    Asteroid asteroid3;
    public Rectangle rectangle1;
    /*
     * Hier erscheint das Spielfeld
     */
    public void main()
    {
        view = new View(600,500, "Ufospiel");
        rectangle1 = new Rectangle(0, 0, 600, 500);
        rectangle1.setTransparency(0);
        picture = new Picture(0, 0, 600, 500, "sternenhimmel1.jpg");
        ufo1 = new Ufo(275,400);
        asteroid1 = new Asteroid(100,100, Tools.randomNumber(0,360), Tools.randomNumber(5,10));
        asteroid2 = new Asteroid(400,200,Tools.randomNumber(0,360), Tools.randomNumber(5,10));
        asteroid3 = new Asteroid(350,300,Tools.randomNumber(0,360), Tools.randomNumber(5,10));
        while(!(ufo1.getShape().contains(asteroid1.getShape()) &&
            ufo1.getShape().contains(asteroid2.getShape()) &&
            ufo1.getShape().contains(asteroid3.getShape()))) {
            asteroid1.move();
            asteroid2.move();
            asteroid3.move();
            if(view.keyPressed('a')){
                ufo1.links();
            }
            if(view.keyPressed('d')){
                ufo1.rechts();
            }
            view.wait(100);
        }
        for(int i = 0; i == 9; i++){
            ufo1.explode();
            asteroid1.move();
            asteroid2.move();
            asteroid3.move();
            view.wait(1000);
        }
    }

    public static void main(String[] args) {
        Ufospiel ufospiel = new Ufospiel();
        ufospiel.main();
    }
}
Asteroid:
/**
* Diese Klasse steurt die Asteroiden
*
* @author (Noah)
* @version (12.01.21)
*/
import sas.*;
import java.awt.Color;
public class Asteroid
{
    private Circle circle;
    private int flugrichtung;
    private int speed;
    private Rectangle rectangle;
    /*
     * Asteroide werden erstellt
     */
    public Asteroid(int startX, int startY, int flugrichtung, int speed){
        rectangle = new Rectangle(0, 0, 600, 500);
        rectangle.setTransparency(0);
        circle = new Circle (startX, startY, 10, "Asteorid.jpg");
        circle.turn(flugrichtung);
        this.flugrichtung = flugrichtung;
        this.speed = speed;
    }

    /*
     * Hier werden die Asteroiden zufällig bewegt
     */
    public void move(){
        circle.move(speed);
        if(!rectangle.contains(circle)){
            circle.turn(Tools.randomNumber(90,180));
        }
    }

    public Shapes getShape(){
        return circle;
    }
}
Ufo:
/**
* Hier wird das Ufo programmiert und erschienen
*
* @author ()
* @version (12.01.21)
*/
import sas.*;
import java.awt.Color;
public class Ufo
{
    Rectangle rectangle;
    Ellipse ellipse;
    Polygon triangle1;
    Polygon triangle2;
    private Sprite ufo;
    /*
     * Hier wird das Ufo "gebaut"
     */
    public Ufo(int startX, int startY){
        ufo = new Sprite();
        rectangle = new Rectangle(startX, startY, 50, 20, Color.RED);
        ufo.add(rectangle);
        triangle1 = new Polygon(startX, startY, Color.GREEN);
        triangle1.add(-20,10);
        triangle1.add(0, 20);
        ufo.add(triangle1);
        triangle2 = new Polygon(startX + 50, startY, Color.GREEN);
        triangle2.add(20,10);
        triangle2.add(0, 20);
        ufo.add(triangle2);
        ellipse = new Ellipse(startX + 5, startY - 13, 40, 26, Color.BLUE);
        ufo.add(ellipse);
    }

    /*
     * Ufo wird nach links gelenkt
     */
    public void links() {
        ufo.move(-12, 0);
    }

    /*
     * Ufo wird nach rechts gelenkt
     */
    public void rechts() {
        ufo.move(12,0);
    }

    /*
     * Ufo soll explodieren
     */
    public void explode() {
        triangle1.move(-5);
        triangle2.move(5);      
    }

    public Shapes getShape() {
        return ufo;
    }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
ehmo würfelspiel programmieren anfänger Java Basics - Anfänger-Themen 1
KogoroMori21 Vorbereitung auf die Programmieren Klausur vom ersten Semester Java Basics - Anfänger-Themen 4
Drinkerbell Erste Schritte Zu blöd zum Programmieren? Java Basics - Anfänger-Themen 9
G Stack programmieren Java Basics - Anfänger-Themen 6
I Brauche Hilfe bei Objektorientiertem programmieren Java Basics - Anfänger-Themen 23
T Auf einem Schachbrett bewegen programmieren Java Basics - Anfänger-Themen 2
G Bruchrechner programmieren Java Basics - Anfänger-Themen 6
G Ufo Spiel programmieren Java Basics - Anfänger-Themen 13
D Schachbrett (8x8) programmieren Java Basics - Anfänger-Themen 3
J Spiel programmieren Java Basics - Anfänger-Themen 16
J Hilfe beim Programmieren Java Basics - Anfänger-Themen 5
S Kreisberechnung3 Buch: Programmieren lernen mit Java von Hans-Peter Habelitz Java Basics - Anfänger-Themen 39
M Quiz in Java programmieren mit Array Java Basics - Anfänger-Themen 8
S Spiel-Programmieren. Wenn ein Objekt den anderen berührt. Java Basics - Anfänger-Themen 6
K Java programmieren Java Basics - Anfänger-Themen 6
V_Fynn03 Kontrolle des Quelltextes (Bank programmieren)(GUI) Java Basics - Anfänger-Themen 6
D Was tun gegen zu komplzierten Denken beim Programmieren Java Basics - Anfänger-Themen 27
V_Fynn03 Bruchrechner programmieren (2 Klassen) Java Basics - Anfänger-Themen 9
N Ticketautomat programmieren Java Basics - Anfänger-Themen 63
M Rechner programmieren Java Basics - Anfänger-Themen 3
V_Fynn03 Java Bruchrechner programmieren Java Basics - Anfänger-Themen 13
J Java Suchfunktion Programmieren Java Basics - Anfänger-Themen 1
L Erste Schritte Bin ich "zu dumm" oder nicht geeignet zum Programmieren? Java Basics - Anfänger-Themen 3
U Ist jemad gut in programmieren (JAVA) und kann mir helfen? Java Basics - Anfänger-Themen 1
H Uhr programmieren Java Basics - Anfänger-Themen 10
T Schalter programmieren Java Basics - Anfänger-Themen 17
S Ampel Programmieren Java Basics - Anfänger-Themen 5
P Erste Schritte Probleme mit dem Programmieren Java Basics - Anfänger-Themen 12
D Richtig für Programmieren an der UNI lernen Java Basics - Anfänger-Themen 8
B Folgende Abfrage dynamisch programmieren? Java Basics - Anfänger-Themen 8
D Beim Programmieren auf die Logisch einfache Lösung kommen. Java Basics - Anfänger-Themen 17
B UML Klassen Diagramm zu Java Code Programmieren und ausführen Java Basics - Anfänger-Themen 21
steven789hjk543 Kann man mit Java und Eclipse einen Virus programmieren? Java Basics - Anfänger-Themen 13
S Spiel programmieren mit Java Java Basics - Anfänger-Themen 11
A Kalender programmieren, ich finde meinen Fehler nicht. Java Basics - Anfänger-Themen 9
S Erste Schritte Hilfe beim lernen von Programmieren Java Basics - Anfänger-Themen 2
V Zeichenkette programmieren Java Basics - Anfänger-Themen 20
O Fenster programmieren Java Basics - Anfänger-Themen 2
R Uebersichtlicher bzw. besser Programmieren Java Basics - Anfänger-Themen 13
N Dynamisches Programmieren/Fibonacci Java Basics - Anfänger-Themen 1
B Spielfiguren für ein Beute-Jägerspiel programmieren Java Basics - Anfänger-Themen 12
A Programmieren lernen Java Basics - Anfänger-Themen 28
F ArrayListe manuell programmieren? Java Basics - Anfänger-Themen 24
X Erste Schritte Einstieg ins Programmieren Java Java Basics - Anfänger-Themen 2
O Erste Schritte ln(1+x) Reihe Programmieren Java Basics - Anfänger-Themen 6
Ellachen55 Weihnachtsbaum in Eclipse programmieren Java Basics - Anfänger-Themen 6
L Klassen Geldrückgabe - Aufgabe Programmieren Java Basics - Anfänger-Themen 23
H Stern Dreieck (Buch: Grundkurs Programmieren) Java Basics - Anfänger-Themen 2
V Variablen Vorkommen programmieren Java Basics - Anfänger-Themen 18
S Dreieckssignal programmieren Java Basics - Anfänger-Themen 5
K Fehler beim Programmieren von TicTacToe Java Basics - Anfänger-Themen 12
M Spiel programmieren Java Basics - Anfänger-Themen 16
A Fenster programmieren Java Basics - Anfänger-Themen 1
V OOP Kassensystem objektorientiert programmieren Java Basics - Anfänger-Themen 15
A Erste Schritte DoodleJump programmieren: Kollisionsabfrage Java Basics - Anfänger-Themen 4
CT9288 Kleine Simulation programmieren, denkanstöße erbeten Java Basics - Anfänger-Themen 19
H Welche IDE zum Buch "Programmieren mit Java" von Reinhard Schiedermeier des Verlags Pearson Studium Java Basics - Anfänger-Themen 19
D Könnt ihr mir helfen beim Programmieren eines Ping Pong Spieles? Java Basics - Anfänger-Themen 8
M Rekursive Methode Programmieren Java Basics - Anfänger-Themen 3
I Spielbrett programmieren: Datenstruktur Java Basics - Anfänger-Themen 3
G Rekursives Programmieren --> harmonische Reihe Java Basics - Anfänger-Themen 3
A Endlich anfangen mit Programmieren ! Java Basics - Anfänger-Themen 8
L Karawane programmieren Java Basics - Anfänger-Themen 0
kokojamboo92 Spiel programmieren Java Basics - Anfänger-Themen 1
E Mastermind programmieren, wie den falschen Platz aber richtige Farbe schecken? Java Basics - Anfänger-Themen 23
steven789hjk543 Erste Schritte java programmieren/ Schritt für Schritt Java Basics - Anfänger-Themen 14
I Spiel programmieren. Java Basics - Anfänger-Themen 16
H [Studium] Mäxchenspiel programmieren Java Basics - Anfänger-Themen 10
C BlueJ Zahlenschloss programmieren Java Basics - Anfänger-Themen 5
steven789hjk543 mit dem Smartphone java programmieren Java Basics - Anfänger-Themen 44
F Okjektorientiert programmieren Java Basics - Anfänger-Themen 2
S OOP Ticketsystem programmieren Java Basics - Anfänger-Themen 6
P Selber Programmieren lernen oder Uni? Java Basics - Anfänger-Themen 12
P Kasse programmieren Java Basics - Anfänger-Themen 12
D Timer programmieren Java Basics - Anfänger-Themen 13
M Erste Schritte Einfache Aufzugssteuerung programmieren - Anfänger Java Basics - Anfänger-Themen 2
kilopack15 Entwicklungsumgebung für Haskell programmieren Java Basics - Anfänger-Themen 3
D For Schleife Programmieren Java Basics - Anfänger-Themen 31
M Java Taschenrechner Programmieren Java Basics - Anfänger-Themen 12
K Kreuzworträtsel programmieren Java Basics - Anfänger-Themen 1
H Weihnachtslieder programmieren Java Basics - Anfänger-Themen 3
S Schach Frontend programmieren Java Basics - Anfänger-Themen 2
V Zahlenrätsel programmieren Java Basics - Anfänger-Themen 16
S Hinweis zu Fehler im Kalender-Code - Aufgabe 5.3 aus Grundkurs Programmieren in Java 7. Auflage Java Basics - Anfänger-Themen 4
A Taschenrechner programmieren Java Basics - Anfänger-Themen 21
K Kleines Spiel auf Java programmieren Java Basics - Anfänger-Themen 2
C ZahlenMuster programmieren Java Basics - Anfänger-Themen 7
C Muster programmieren Java Basics - Anfänger-Themen 4
C Muster programmieren Java Basics - Anfänger-Themen 4
S Operatoren Modulo programmieren Java Basics - Anfänger-Themen 10
K Motivation fürs Programmieren Java Basics - Anfänger-Themen 10
C Buchstabe "K" im zweidimensionalen Array programmieren Java Basics - Anfänger-Themen 1
C Umgekehrtes "A" im zweidimensionalen Array programmieren Java Basics - Anfänger-Themen 9
Anfänger2011 Bild programmieren?! Java Basics - Anfänger-Themen 3
Matze 12 häufige Fehler beim Programmieren lernen Java Basics - Anfänger-Themen 2
C Buchstabe programmieren Java Basics - Anfänger-Themen 4
A Stack programmieren -> Unklarheiten Java Basics - Anfänger-Themen 1
J Timer oder Thread programmieren ? Java Basics - Anfänger-Themen 10
Ruvok Programmieren eines Einheiten Konverters Java Basics - Anfänger-Themen 1
M schönes Programmieren: Validierungen Java Basics - Anfänger-Themen 13

Ähnliche Java Themen

Anzeige

Neue Themen


Oben