[Java] Greenfoot Programm?!

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Silberhand, 4. Dezember 2008 .

Schlagworte:
  1. 4. Dezember 2008
    Greenfoot Programm?!

    hey

    ich soll für Info nen kleines spiel programmieren mit greenfoot..

    naja ich wollt einfach ein paar lvl von diesem Spiel hier programmieren

    The Worlds Hardest Game - Free Online Action Games from AddictingGames

    doch die Bewegung der blauen kugeln bereitet mir schwierigkeiten...

    ich bin noch nicht wirklich gut in Java..haben erst vor 3Wochen mit Greenfoot angefangen und ich habs halt bis her so programmiert, dass die Kugeln solange sie keine bestimmte yKord erreicht hat runter fallen und sobald sie diese erreicht haben sollen sie wieder nach oben gehen..un das halt inner schleife!...doch ich kriegs nur hin, dass die kugeln runter gehen weil danach die kord wiedersprechen un die kugel immer ein Pixel hochgeht und sofort wieder runter

    so halt:
    Code:
    if ( this.getY() != 350)
     setLocation(getX(), getY() + 2);
     else
     setLocation(getX(), getY() - 2); 
    wisst ihr wie ich es hinkrieg das das inner schleife läuft??

    nen paar tips würden mir schon reichen..aber der Quellcode wäre noch besser

    bw is klar

    BIG THX im Vorraus
     
  2. 4. Dezember 2008
    AW: Greenfoot Programm?!

    Is zwar C#-Code, sollte aber trotzdem kein Problem sein:

    Code:
    if (button1.Top <= 0)
    {
     bOben = false;
    }
    else if (button1.Top >= 300)
    {
     bOben = true;
    }
    
    if (bOben)
    {
     button1.Top -= 1;
    }
    else
    {
     button1.Top += 1;
    }
    Bei deiner Lösung is es ja klar, dass er immer hoch und runter geht:

    Sagen wir mal, Kugel.Top is 0.

    Deine Schleife besagt (ich nehm kleinere Zahlen, aber das Prinzip is ja das gleiche):

    Solange Kugel.Top ungleich 5, addiere 1 dazu.

    1. Durchlauf: Kugel1.Top = 1 // + 1, weil Kugel1.Top != 5
    2. Durchlauf: Kugel1.Top = 2 // ...
    3. Durchlauf: Kugel1.Top = 3 // ...
    4. Durchlauf: Kugel1.Top = 4 // ...
    5. Durchlauf: Kugel1.Top = 5 // von Schritt 5 auf Schritt 6 wird eins abgezogen, weil Kugel1.Top 5 ist
    6. Durchlauf: Kugel1.Top = 4 // + 1, weil Kugel1.Top != 5
    7. Durchlauf: Kugel1.Top = 5 // siehe oben
    7. Durchlauf: Kugel1.Top = 4 // ...
    ...
     
  3. 4. Dezember 2008
    AW: Greenfoot Programm?!

    was soll denn boben heißen sone art return?
    ...also ich glaub nicht das man den Quellcode in Greenfoot/java verwenden kann
     
  4. 4. Dezember 2008
    AW: Greenfoot Programm?!

    bOben is eine Variable vom Typ Boolean. Die speichert eben, ob die Kugel auf- oder abwärts geht.
    Ich denk, die legt man in Java mittels bool bOben = 0; oder bool bOben = false; an.

    Klar kann man den Code so nicht verwenden, ich dachte du schreibst ihn in Java um.

    Ich kann zwar kein Java, aber anhand deines Codes würde ichs mal so versuchen:

    Code:
    if ( this.getY() != 350)
     setLocation(getX(), getY() + 2);
     else
     setLocation(getX(), getY() - 2);
    wird zu


    Code:
    if (this.getY() <= 0)
    {
     bOben = false;
    }
    else if (this.getY() >= 300)
    {
     bOben = true;
    }
    
    if (bOben.equals(true)) // vergleicht man Bools in Java so?
    {
     this.setLocation(this.getX(), this.getY() - 1);
    }
    else
    {
     this.setLocation(this.getX(), this.getY() + 1);
    }
    Wie du an den Kommentaren (// ...) siehst, weiß ich nicht, wie man in Java Bools vergleicht. Vielleicht muss man auch == oder .equals(1) verwenden, aber das wirst du wissen.
     
  5. 4. Dezember 2008
    AW: Greenfoot Programm?!

    mhm als vergleich kenn ich bisher nur die parameter < , > ,<=,>=,!=, ==

    und bOben ist dann wahrscheinlich return für einen boolean wert...ich versuchs ma ebn

    kriegs irg wie nicht geabacken -.-
     
  6. 4. Dezember 2008
    AW: Greenfoot Programm?!

    Du hattest doch schon den Code, wo die Kugel dann immer nur einen Pixel hoch und runter gegangen is. Was passiert denn, wenn du meinen Code da statt deinem einfügst?
     
  7. 4. Dezember 2008
    AW: Greenfoot Programm?!

    dann heult der rum da deiner halt kein Java ist...und beim umschreiben mach ich immer irg welche fehler..ich versuchs morgen nochma...voll kb mehr das stresst mich-.-
     
  8. 4. Dezember 2008
    AW: Greenfoot Programm?!

    Code:
    if (this.getY() <= 0)
    {
     bOben = false;
    }
    else if (this.getY() >= 300)
    {
     bOben = true;
    }
    
    if (bOben.equals(true)) // vergleicht man Bools in Java so?
    {
     this.setLocation(this.getX(), this.getY() - 1);
    }
    else
    {
     this.setLocation(this.getX(), this.getY() + 1);
    }
    Das is doch Java. Hast du den schon mal versucht? Dass du keine Lust mehr hast, wird noch öfter vorkommen. Das schöne am Programmieren sind die Erfolgserlebnisse, die du auch immer wieder hast, wenn du net aufgibst.
     
  9. 5. Dezember 2008
    AW: Greenfoot Programm?!

    ja kenn ich^^


    der meckert nur noch bei dem boben..naja ich versuchs morgen ma
     
  10. 5. Dezember 2008
    AW: Greenfoot Programm?!

    Nein, boolean vergleicht man in java per == bzw !=, da boolean in java nur ein primitiver Datentyp ist und kein Objekt, wie C#.
     
  11. 5. Dezember 2008
    AW: Greenfoot Programm?!

    Jo, wahrscheinlich, weil du bOben nirgends definiert hast.
     
  12. 9. Dezember 2008
    AW: Greenfoot Programm?!

    stimmt...aber auch wenn ichs definiert habe kommts auf genau das gleiche raus was ich am anfang hatte...die Bälle gehen runter und sobald sie unten angekommen sind springen sie immer hin und her....
     
  13. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.