Sprung mit Java (GameGrid)

Sabine w

Mitglied
Hallo zusammen,
wir müssen ein 2Dspiel programieren, ich hab in mein spiel eine Katze und drei Steine (sehe Code unten) ich möchte gerne dass meine Katze springrn kann deswegen habe ich mein Code so programiert, das die Katze ersmal springt (also nach oben geht und dann nach unten aber gleich zeitig auch laufen kann) es wird immerwieder fehler meldung gezeigt und die Katze kann eben nicht springen
kann jemand bitte erkennen was ich da falsch gemacht habe 🙁

vielen Danke euch

Java:
import ch.aplu.jgamegrid.*;
import javax.swing.*;
import java.awt.Color;
import java.awt.event.KeyEvent;

public class Katze extends GameGrid {
    
 
    int figur_y = 235;
    

    public Katze()
    {
        super(20, 20, 30, null, "c\\Users\\aboud\\Downloads/Fluss1", false);
        show();
        doRun();
        
        int figur_y  = 235;
        figur_y  = Sprung.sprungposition;
    
        Katze1 Katze1 =  new Katze1();
        addActor(Katze1, new Location(2, 13));
        
        Stein stone = new Stein();
        addActor(stone, new Location(5, 14));
        
        Stein2 stone2 = new Stein2();
        addActor(stone2, new Location(9, 14));
        
        Stein3 stone3 = new Stein3();
        addActor(stone3, new Location(13, 14));
        
        Sprung sprung = new Sprung();
        
       addKeyListener(Katze1);
       figur_y  = Sprung.sprungposition; 
    }
      
    
    
public static void main(String [] args)
        {
    Katze Katze = new Katze("Menü");
    
    new Katze();
        }
} 


 package jadahb1.de.game;
public class Sprung extends Thread  {
    
    static boolean fertig = true; 
    static boolean hochpunkt = false;
    
    int sprunghöhe = 85;
     static int ursprungY = 235;
      static int sprungposition = ursprungY;
      
      public Sprung () {
    
      } 
   public void run () {
       fertig = false;
       int verzögerung = 3;
       while(fertig == false) {
           Sprung();
          
          
           try {
             Thread.sleep(verzögerung); 
           }catch(Exception e) {
          
           }
       }
      
       hochpunkt = false;
      
   }
  
   public void Sprung() {
       if( hochpunkt == false) {
           sprungposition--;
          
       }
       if(sprungposition ==(ursprungY-sprunghöhe)) {
           hochpunkt = true;
          
       }
       if(hochpunkt == true && sprungposition <= ursprungY ) {
           sprungposition++;
           if(sprungposition == ursprungY ) {
               fertig = true;
           }
       }
   }
}



import ch.aplu.jgamegrid.*;
import java.awt.Color;
import java.awt.event.KeyEvent;


class Katze1 extends Actor implements GGKeyListener
{
    public Katze1()
    {
        super("\\Users\\aboud\\Downloads/cat_0");
        
    }
    
     public boolean keyPressed(KeyEvent evt) {
    
        switch (evt.getKeyCode())
        {
        
          case KeyEvent.VK_RIGHT:
            setDirection(0);
            move();
            break;
          case KeyEvent.VK_UP:
              setDirection(270);
            move();
            break;
          case KeyEvent.VK_DOWN:
              setDirection(90); 
              move();
              break;
              
            
            }
        
             if(key == KeyEvent.VK_SPACE) {
                 Sprung();
             }
                
             }
              
            
        

      public boolean keyReleased(KeyEvent evt){
          key = e.getKeyCode();
          
        return true;
      }

public void Sprung () {
       Sprung SprungAnimation = new Sprung();
       SprungAnimation.start ();
              
}
}
 
Zuletzt bearbeitet:
Sorry, aber was erwartest Du? Ja, wenn Du willst, dass die Figur springen kann, dann musst Du das entwickeln. Ebenso das Menü: Musst Du einfach programmieren.

Ohne irgend welche Details ist da nicht mehr, was wir sagen können.
 
Es tut mir Leid wenn ich mein Problem nicht genau erklären kann. Also es wird ersmal das gezeigt "Failed to load background image from path c\Users\aboud\Downloads/Fluss1 Application will terminate." eben und dann weiß ich nicht was ich machen soll. und meine zweite frage ist ja ob ich "das Sprung" richtig programieret habe? (ich kann es nicht überprüfen da das Application nicht geöffnet werden kann)
 
Danke. Also ich habe das Doppelpunkt dazu hingeschrieben, es hat aber trotzdem nicht funktioniert!
und bei Zeile "
if(key == KeyEvent.VK_SPACE) {
Sprung();
} "
das "key" wird als fehler (key cannot be resolved to a variable) gezeigt
habe ich da was vergessen? ich kann mein fehler nicht finden (muss ich da was dazu hinfügen?)
 
Ich würde dir sehr stark dazu raten, noch nicht mit GUI und erst recht nicht mit grafischen Spielen zu arbeiten, sondern erstmal die Grundlagen sicher zu beherschen.
 

Zurück
Oben