Kleines Java Spiel funktioniert nicht.

Robinbux

Neues Mitglied
Hey, ich versuche gerade mir Java beizubringen und möchte dabei ein kleines Spiel, dass ich online als Aufgabe gefunden habe programmieren.

Es ist generell ganz simpel, es gibt ein kleines "Spielfeld" aus Hashtags, und man wandert mit einem Pfeil darin umher.

Ich habe insgesamt 3 Klassen erstellt, Main, Field und Player.
Hier ist der jeweilige Code den ich geschrieben habe:

Main:
Java:
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Field spielfeld = new Field();
        Player spieler = new Player();
        Scanner sc = new Scanner(System.in);
        String action;

        System.out.println("Willkommen zu meinem Spiel");

        do {
            spielfeld.playField();

            System.out.println("Führen Sie eine Aktion aus (g = vorwärts gehen, l = links drehen, r = rechts drehen, q = beenden)");
            action = sc.next();

            switch(action){
                case "g": spieler.vorwärts(); break;
                case "l": spieler.links(); break;
                case "r": spieler.rechts(); break;
                case "q": break;
            }
        }
        while(!action.equals("q"));

    }
}

Field:
Java:
public class Field {

    Player playerInfo = new Player();
    int x, y;

    private String[][] spielfeld = {{" "," " ," " ," " ," " ," " ," " ," "},
                                    {" "," " ," " ," " ," " ," " ," " ," "},
                                    {" "," " ," " ," " ," " ," " ," " ," "},
                                    {" "," " ," " ," " ," " ," " ," " ," "},
                                    {" "," " ," " ," " ," " ," " ," " ," "},
                                    {" "," " ," " ," " ," " ," " ," " ," "},
                                    {" "," " ," " ," " ," " ," " ," " ," "},
                                    {" "," " ," " ," " ," " ," " ," " ," "}};

    public void playField(){

        x = playerInfo.getxPosition();
        y = playerInfo.getyPosition();

        spielfeld[x][y] = playerInfo.getDirection();

        System.out.println("##########");

        for(int i = 0; i < 8; i++) {

            System.out.print("#");
            for(int j=0; j < 8; j++){

                System.out.print(spielfeld[i][j]);

            }
            System.out.print("#");
            System.out.println();


        }

        System.out.println("##########");

    }

}

Player:
Java:
public class Player {

    private int xPosition = 2;
    private int yPosition = 3;
    private String direction = ">";



    public void vorwärts(){

        if(direction == "^"){
            if(yPosition > 0){
                yPosition --;
            }
            else {
                System.out.println("Dieser Zug ist nicht möglich");
            }
        }
        else if(direction == ">"){
            if(xPosition < 7){
                xPosition ++;
            }
            else {
                System.out.println("Dieser Zug ist nicht möglich");
            }
        }
        else if(direction == "⌄"){
            if(yPosition < 7){
                yPosition++;
            }
            else {
                System.out.println("Dieser Zug ist nicht möglich");
            }
        }
        else if(direction == "<"){
            if(xPosition > 0){
                xPosition--;
            }
            else {
                System.out.println("Dieser Zug ist nicht möglich");
            }
        }

    }

    public void links(){

        switch(direction){
            case "^": direction = "<"; break;
            case "<": direction = "⌄"; break;
            case "⌄": direction = ">"; break;
            case ">": direction = "<"; break;
        }

    }

    public void rechts(){

        switch(direction){
            case "^": direction = ">"; break;
            case ">": direction = "⌄"; break;
            case "⌄": direction = "<"; break;
            case "<": direction = "^"; break;
        }

    }

    public int getxPosition(){
        return xPosition;
    }

    public int getyPosition(){
        return yPosition;
    }

    public String getDirection(){
        return direction;
    }
}

Ich hoffe mein Code ist soweit verständlich.
Wenn man das Spiel so startet sieht man zwar den Pfeil auf der Startposition, aber er bewegt sich nicht wenn man ihn theoretisch laufen lässt, obwohl die jeweilige x und y Position schon verändert wird (Ich hatte mir da mal ein Zähler dazugeschrieben).

Wenn jemand sieht woran es liegt, währe ich sehr dankbar. Und auch über jegliche sonstige Kritik über meinen Code würde ich mich sehr freuen :)

PS: Wenn dieses Thema eher in die Kategorie "Spiele" gehört tut es mir leid.
Ich dachte bei so einem einfachem Spiel passt das hier besser hin.
 

Robat

Top Contributor
Den Spieler den du in deiner Main-Klasse anlegst hat nichts mit dem Spieler aus deiner Field-Klasse zu tun.
Nur weil der Spieler aus der Main-Klasse bewegt wird, bewegt sich nicht der Spieler aus der Field-Klasse.
Du könntest bspw. den Field-Konstruktor so abändern, dass er ein Player-Objekt bekommt.

Java:
public class Field {
    private Player player;
  
    public Field(Player player) {
         this.player = player;
          // ...
    }
}

Java:
Player player = new Player();
Field field = new Field(player);
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Kleines Spiel auf Java programmieren Java Basics - Anfänger-Themen 2
S Kleines Java-Projekt; Kassenprogramm Java Basics - Anfänger-Themen 7
E Kleines Java-Projekt für Anfänger Java Basics - Anfänger-Themen 10
K Erstes kleines Spieleprojekt - Java GUI in HTML einbinden Java Basics - Anfänger-Themen 3
G Erste Schritte Suche Java Programmierer für kleines Projekt Java Basics - Anfänger-Themen 1
B Suche kleines Java-Applet Java Basics - Anfänger-Themen 6
S Kleines Kartenspiel mit Java Java Basics - Anfänger-Themen 2
J Java, kleines denkproblem. :) Java Basics - Anfänger-Themen 4
G ein kleines java prog - hat aber einen fehler-bitte um hilfe Java Basics - Anfänger-Themen 5
M kleines Java Programm (Verwaltung) Java Basics - Anfänger-Themen 16
C kleines Java script mit Frage Java Basics - Anfänger-Themen 2
Kotelettklopfer Kleines Testprogramm mit Interface und einer Usereingabe Java Basics - Anfänger-Themen 16
Koookie Kleines Frage - Antwort Programm (Anfänger) Java Basics - Anfänger-Themen 5
J Kleines Rechenprogramm Java Basics - Anfänger-Themen 13
Z Erste Schritte Kleines 2D. Spiel Objekt Bewegung funktioniert nicht Java Basics - Anfänger-Themen 2
B Input/Output Kleines Netzwerkproblem Java Basics - Anfänger-Themen 2
J OOP Kleines Schülerverwaltungsprogramm Java Basics - Anfänger-Themen 9
F Methoden Kleines Problem mit meinem Glücksrad... Java Basics - Anfänger-Themen 9
N ein kleines GUI mit einem hauch XML Java Basics - Anfänger-Themen 5
T erstes kleines Programm Java Basics - Anfänger-Themen 17
S Kleines Quiz Programm Java Basics - Anfänger-Themen 4
C Hilfe - Kleines Programm macht mir Schwierigkeiten Java Basics - Anfänger-Themen 2
A Kleines Abbruch-Problem mit Do-While-Schleife Java Basics - Anfänger-Themen 4
K Ein kleines Rätsel Java Basics - Anfänger-Themen 2
E Erstes "kleines" Programm Java Basics - Anfänger-Themen 5
D kleines problem bei system.out.println schreibweise Java Basics - Anfänger-Themen 6
C Kleines Problem mit System.out.print Java Basics - Anfänger-Themen 1
A Best Practice Ideen für kleines Anfängerschulprojekt gesucht Java Basics - Anfänger-Themen 4
J kleines Karteikartenprogramm Java Basics - Anfänger-Themen 3
S Kleines Zeichen berechnen Java Basics - Anfänger-Themen 5
fLooojava kleines Projekt - Verwendung von Youtube Java Basics - Anfänger-Themen 22
E Array zu Liste - kleines Problem Java Basics - Anfänger-Themen 6
fLooojava Passwort generieren - kleines Programm Java Basics - Anfänger-Themen 15
H Kleines Prob Java Basics - Anfänger-Themen 5
J Vererbung Kleines Problem bei Vererbung! Java Basics - Anfänger-Themen 2
O Debug-Funktion mit Slick - Kleines Problem Java Basics - Anfänger-Themen 5
J Flaechen vergleichen/kleines Fehler? Java Basics - Anfänger-Themen 23
H Kleines Problem bei den Schleifen Java Basics - Anfänger-Themen 5
M Kleines Problem mit der Rekursion Java Basics - Anfänger-Themen 20
K Kleines Projekt Java Basics - Anfänger-Themen 2
T Kleines Game mit Kollision Java Basics - Anfänger-Themen 2
J Mal wieder ein kleines Toleranzproblem Java Basics - Anfänger-Themen 20
H kleines Spiel [Processing] Java Basics - Anfänger-Themen 7
T kleines problem mit switch case Java Basics - Anfänger-Themen 11
R Kleines Programm, benötige Hilfe! Java Basics - Anfänger-Themen 6
V Schon wieder ein kleines problem...dieses mal mit do-while loop Java Basics - Anfänger-Themen 9
R Login mit Datenbankabfrage: Kleines Problem! Java Basics - Anfänger-Themen 6
K Kleines Anfänger Problem bei der Abfrage Java Basics - Anfänger-Themen 8
X Kleines JMenuBar Problem Java Basics - Anfänger-Themen 8
D Kleines Abfrageproblem Java Basics - Anfänger-Themen 3
K kleines Rekursionsproblem Java Basics - Anfänger-Themen 7
P RSA Verschlüsselung kleines Problem Java Basics - Anfänger-Themen 5
P Kleines Problemm mit einer NullPointerException Java Basics - Anfänger-Themen 2
R kleines Kunstprogramm "mkbox" perfektionieren Java Basics - Anfänger-Themen 13
P wahrscheinlich ein kleines Problem Java Basics - Anfänger-Themen 7
P Kleines Projekt -> Große Überlegungen Java Basics - Anfänger-Themen 2
U Bitte Helfen kleines Spiel Java Basics - Anfänger-Themen 9
K Kleines Spiel / Daten speichern Java Basics - Anfänger-Themen 8
T Kleines Spiel realisieren - wie? Java Basics - Anfänger-Themen 6
H Kleines Problem mit der Polymorphie Java Basics - Anfänger-Themen 2
S "Kleines" Problem mit dem Timer Java Basics - Anfänger-Themen 4
K kleines Array-Problem Java Basics - Anfänger-Themen 6
C Kleines 2D Spiel. Problem. Java Basics - Anfänger-Themen 5
T Kleines Verständnissproblem mit Regex Java Basics - Anfänger-Themen 4
U Kleines Problem mit Konstruktor^^ Java Basics - Anfänger-Themen 7
D kleines Eclipse-Problem ! Java Basics - Anfänger-Themen 2
I Kleines Program, fehler? Java Basics - Anfänger-Themen 2
S kleines Würfelspiel Java Basics - Anfänger-Themen 10
0 Frage zu Architektur: Server eines kleines Spiels Java Basics - Anfänger-Themen 4
F kleines Programm für ungerade oder gerade Zahl. Java Basics - Anfänger-Themen 18
C kleines Menü erzeugen und anzeigen Java Basics - Anfänger-Themen 11
S Kleines TickTackTou Java Basics - Anfänger-Themen 10
O Kleines Problem mit Konstruktor mit Parametern aus generischer Klasse...oder so ;) Java Basics - Anfänger-Themen 2
M Kleines Problem mit Threads (synchronized) Java Basics - Anfänger-Themen 3
N Kleines Problemchen mit ButtonGroup Java Basics - Anfänger-Themen 2
W ein kleines Projekt! Aber wie beginnen Java Basics - Anfänger-Themen 4
S Kleines Problem... NaN, Infinity? Java Basics - Anfänger-Themen 9
B Drag and Drop fähige Trackliste..nurnoch ein kleines Problem Java Basics - Anfänger-Themen 16
G Kleines Problem mit File Java Basics - Anfänger-Themen 7
O Neuen Blackberry 8800 oder Curve gegen kleines Programm Java Basics - Anfänger-Themen 9
Z kleines projekt Java Basics - Anfänger-Themen 3
GambaJo Brauche Bewertung + Tipps für mein kleines Projekt Java Basics - Anfänger-Themen 4
N Nur ein kleines Installationsproblem . Java Basics - Anfänger-Themen 5
G Kleines Problem mit Nimmspiel Java Basics - Anfänger-Themen 8
U kleines problem bei ner aufgabe :( Java Basics - Anfänger-Themen 8
G Kleines Problem mit Array Java Basics - Anfänger-Themen 14
S Kleines Programm mit ArrayList Java Basics - Anfänger-Themen 7
M Kleines Programm Java Basics - Anfänger-Themen 5
M DBCP - Kleines Beispiel Java Basics - Anfänger-Themen 3
R Unicode-Wert in Binär und Dezimal umformen - kleines Problem Java Basics - Anfänger-Themen 1
G Kleines Problem Java Basics - Anfänger-Themen 3
D kleines script abhaengig von Ordner Bilder kopieren Java Basics - Anfänger-Themen 11
G Kleines Grundsatzproblem Java Basics - Anfänger-Themen 5
S Ich habe ein kleines Problem mit meinem Übungsprogramm Java Basics - Anfänger-Themen 7
S Hab ein kleines Problem :) Java Basics - Anfänger-Themen 4
K kleines bild ausgeben Java Basics - Anfänger-Themen 4
D noch ein kleines Problem Java Basics - Anfänger-Themen 4
M kleines generics problem Java Basics - Anfänger-Themen 15
B Kleines? Jedenfalls Problem mit Borland-Together! Java Basics - Anfänger-Themen 4
K Kleines Programm zur Stapelverarbeitung schreiben, aber wie? Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben