Spieler bewegen :)

HunterCD

Mitglied
Hi Leute,
folgendes Problem:
Ich möchte ein 2-D Spiel entwickeln. Mein Spielfeld steht bereits, habe es mit einem Array erstellen können. Nun möchte ich das mein Spieler sich auf diesen Feldern bewegen kann.
Die Startposition meines Spielers liegt bei x=0;y=0 also ganz oben links.
Wie kann ich mein Spieler nun in das nächste Feld gehen? Müsste ich da irgendetwas überschreiben?
Über Ratschläge würde ich mich freue.:)
Code:
import java.util.Scanner;

  class brett {
    public static void main(String[] args) {
       char[][] room = new char[4][8];

       for (int i = 0; i < 4; i++) {   //hier wird das ganze Array mit '.' gefüllt
           for (int j = 0; j < 8 ; j++) {
               room[i][j] = '.';
           }
       }
       room[0][0] = 'P';                  //Feld 0/0 wird mit 'P' gefüllt muss nur 1* gemacht werden deshalb nicht in for

       for (int i = 0; i < 4 ; i++) {     //hier wird das Array Ausgegebn
           for (int j = 0; j < 8; j++) {
               System.out.print(room[i][j]);
           }
        System.out.println();
           }

        Scanner scan = new Scanner(System.in);
        String Eingabe;
        System.out.println("Up");
        Eingabe = scan.next();
        if(Eingabe.equals("Up")) {
        System.out.println("Richtig");
        }

       }
}
 

kaporalix

Mitglied
nehmen wir den ersten feld als Beispiele:
P....... das ist gelichbedeuten zu
room[0][0] = P
room[0][1] = .
room[0][2] = .
room[0][3] = .
room[0][4] = .
room[0][5] = .
room[0][6] = .
room[0][7] = .

also damit du P von [0][0] zu [0][1] bewegst musst du so zusagen die werte von den beiden umtauschen
z.B
String tmp = room[0][0];
room[0][0] = .;
room[0][1] = tmp; // tmp == P

reicht so ?
 

HunterCD

Mitglied
Kann man das nicht irgendwie mit einer Schleife ausdrücken, so dass man sagt, dass i und j die x- und y-Achse darstellen. Dann wird beispielsweise bei der Eingabe von Right, das Element P, mit dem benachbarten Element ausgetauscht wird. Außerdem soll die neue Position von P (0/1) sowie das gesamte neue Array abgespeichert werden, sprich wenn man das zweite mal right eingibt, soll P auf (0/2) bewegt werden.
 

kaporalix

Mitglied
ok, damit die änderungen an dem Bret (sprich Array) beibehalten werden können, habe den Array als static definiert ausserhalb der main methode damit die anderen Methoden drauf zugreichen und ihn Manipulieren.
die methode changPositionToRight() bewegt den Spieler P einmal nach rechts
danach wird durch die methode bretZeigen() das bret erneut angezeigt und somit die neue Position des Spielers.
der code wurde nur für "right" codiert, die While-Schleife von dem Scanner, ermöglicht es den user, die eingabe zu wiederholfen ohne das Spiel zu reseten. um die eingabe zu beenden, bitte die tastenkombination Strg+z (Strg z) drücken. sonst solange du "right" eingibst bewegt sich der Spieler nach rechts. es müssen noch andere Faktoren berücksichtigt werden, zb, was passiert wenn der Spieler ganz rechts ist ...etc
für up, down..etc sollst du einfach die methode changPositionToRight() umschreiben.
hoffe es hilft

Java:
import java.util.Scanner;

public class ZeichenInText {
   
    static char[][] room = new char[4][8];
   
    public static void main(String[] args) {

        for (int i = 0; i < 4; i++) {   //hier wird das ganze Array mit '.' gefüllt
            for (int j = 0; j < 8 ; j++) {
                room[i][j] = '.';
            }
        }
        room[0][0] = 'P';                  //Feld 0/0 wird mit 'P' gefüllt muss nur 1* gemacht werden deshalb nicht in for

        bretZeigen(); // das Bret wird angezeigt

        Scanner scan = new Scanner(System.in);
       
        while(scan.hasNext()) { // user wird immer wieder aufgefordert etwas einzugeben bis er Strg+Z drückt, somit beendet er die Eingabe
            String eingabe = scan.next();
            if(eingabe.equals("right")) { //hier wird geprüft ob right / up / down /left eingegebe wurde.
                changPositionToRight(room); //methode wird aufgerufen um den Spieler 1 mal nach rechts zu bewegen
            }
            bretZeigen(); // danach wird der Bret erneut angezeigt
        }


    }
   
    // bewegt den Spieler einmal nach rechts
    public static void changPositionToRight(char[][] array) {
        for(int i = 0; i < array.length; i++) {
            for(int j = 0; j < array[i].length; j++){
                if(array[i][j] == 'P') { // finde wo 'P' sich befindet
                    char tmp = array[i][j]; // in diese 3 zeilen, wie P mit ihren rechten Nachbar umgetauscht -> Spieler bewegt sich nach rechts
                    array[i][j] = array[i][j+1];
                    array[i][j+1] = tmp;
                    break; // wenn der Umtausch erlogt ist, beende die schleife
                }
            }
        }
    }
   
    // das Bret anzeigen
    public static void bretZeigen() {
        for(int i = 0; i < room.length; i++){
            for(int j = 0; j < room[i].length; j++){
                System.out.print(room[i][j]);
            }
            System.out.println();
        }
    }//END bretZeigen();
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Spieler bewegen Java Basics - Anfänger-Themen 3
J Vier gewinnt in Java,Spieler Konstruktor Java Basics - Anfänger-Themen 8
M PNG als Spieler im Fenster anzeigen Java Basics - Anfänger-Themen 4
C Erste Schritte Spieler an anderen Frame weitergeben Java Basics - Anfänger-Themen 23
L Einfaches Kartenspiel (Spieler Klasse) Java Basics - Anfänger-Themen 14
I Spieler Name eintragen und Random Gewinner Java Basics - Anfänger-Themen 4
TheKing Spieler Position mit Array vergleichen Java Basics - Anfänger-Themen 2
T Blobby Volley Spieler schreiben Java Basics - Anfänger-Themen 4
N Hey Leute und zwar versuche ich gerade ein 2D Spiel zu Programmieren aber die Figur will sich nicht nach links oder rechts bewegen :( Java Basics - Anfänger-Themen 12
N Java Spiel Figur auf dem Hintergrundbild bewegen. Java Basics - Anfänger-Themen 11
D Wie Objekte im JFrame frei bewegen lassen? Java Basics - Anfänger-Themen 3
D wie kann man in Pong mit eclipse den schläger bewegen Java Basics - Anfänger-Themen 1
IamArctic Quaxli Tutorial, Rotorblätter bewegen sich nicht mehr Java Basics - Anfänger-Themen 4
T Auf einem Schachbrett bewegen programmieren Java Basics - Anfänger-Themen 2
S ProgrammierHilfe dringend gesucht ( Icon bewegen) Java Basics - Anfänger-Themen 9
J Button über Pfeiltasten bewegen Java Basics - Anfänger-Themen 8
I in Richtung bewegen Java Basics - Anfänger-Themen 2
Franzi1001 ScrollBar lässt sich nicht bewegen Java Basics - Anfänger-Themen 4
N Bewegtes Objekt soll sich um eine Parallele bewegen Java Basics - Anfänger-Themen 0
CptK Interface Bilder über Bildschirm bewegen, bis der Abstand zum vorherigen zu groß wird Java Basics - Anfänger-Themen 13
Y Kreis auf einer Kreisbahn bewegen Java Basics - Anfänger-Themen 5
R JTree bewegen Java Basics - Anfänger-Themen 6
GRAZZ0R MouseListener - Rechteck Bewegen Java Basics - Anfänger-Themen 1
J Durch 2-Dimensionales Array "bewegen" will nicht so recht hinhauen Java Basics - Anfänger-Themen 2
N String auf JPanel bewegen Java Basics - Anfänger-Themen 6
G zwei Objekte bewegen - der eine bewegt sich nicht flüssig? Java Basics - Anfänger-Themen 10
F Objekt in Richtung eines anderen Objekts bewegen Java Basics - Anfänger-Themen 4
A Auto bewegen (mit SuM) Java Basics - Anfänger-Themen 27
K Bild mit Maus innerhalb eines Rahmens bewegen Java Basics - Anfänger-Themen 5
G Figuren bewegen-Aufgabe mit static Java Basics - Anfänger-Themen 9
D Kreis mit Pfeiltaste bewegen Java Basics - Anfänger-Themen 3
JAVAnnik Problem beim Objekt bewegen Java Basics - Anfänger-Themen 20
E JFrame Fenster bewegen Java Basics - Anfänger-Themen 8
G Shape bewegen Java Basics - Anfänger-Themen 4
F Bilder enfügen und Bewegen Java Basics - Anfänger-Themen 6
N OOP Objekte entlang Pfaden bewegen Java Basics - Anfänger-Themen 15
B Button bewegen Java Basics - Anfänger-Themen 8
H Grafik auf einem JPanel bewegen. Java Basics - Anfänger-Themen 7
L Balken mit Pfeiltasten bewegen Java Basics - Anfänger-Themen 3
P Fenster bewegen Java Basics - Anfänger-Themen 4
S Mehrere Bilder bewegen Java Basics - Anfänger-Themen 5
Spin Objekte bewegen lassen Java Basics - Anfänger-Themen 16
A grafik 2d Objekte mit der Maus bewegen Java Basics - Anfänger-Themen 4
N Objekte bewegen funktioniert nicht Java Basics - Anfänger-Themen 5
U Neuling: Hintergrund bewegen Java Basics - Anfänger-Themen 14
G Maus mit java bewegen Java Basics - Anfänger-Themen 6
W Jlabel bewegen Java Basics - Anfänger-Themen 8
B KeyListener (etwas bewegen) Java Basics - Anfänger-Themen 10
7 Benutzer kann Button bewegen Java Basics - Anfänger-Themen 4
H Bewegen einer Figur Java Basics - Anfänger-Themen 3
R Buttons können sich bewegen und JButtons nicht? Java Basics - Anfänger-Themen 5
K striche die sich auf dem hintergrundbild bewegen Java Basics - Anfänger-Themen 10
J Bewegen durch das Labyrinth Java Basics - Anfänger-Themen 7
A Kreis mit gedrückter Maustaste bewegen. Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben