Weiteres Vier Gewinnt-Spiel

Eve

Mitglied
Hallo!! Bei meiner Methode static int rendYPos() weiß ich leider nicht wie ich es schaffe, dass die 4gewinnt symbole zuerst in die unterste Zeile fallen und wenn der nächste Spieler an der Reihe ist nicht die Symbole überschrieben werden, sondern einfach in der darüberliegenden Zeile sind!
Vielleicht kann mir ja wer helfen :bahnhof:
Lg eve

Java:
public class gewinnt {
	public static void main(String[] args) {
		char[][] field;
		boolean player1;
		boolean player2;
		int xPos;
		int yPos; 
		boolean endOfGame;
		boolean placed;
	
		field = initializeField(7,6);
		endOfGame = false; 
		player1 = true;
	
		
		do {
			//1. show field
			printField(field); 
			do {
			//2. Rend position from player
			xPos = rendXPos() -1;
			yPos = rendYPos() -1;
			
			//Place stone
			placed = placedStone(field, xPos, yPos, player1); 
			} while (!placed); 
			
			//4.Test for win or draw
			endOfGame = playerWon(field, player1, xPos, yPos) || isDraw(field); 
			
			if (!playerWon(field, player1, xPos, yPos)) {
				player1 = !player1;
			}
			
		} while(!endOfGame);
	}	
	
	static void printField(char [][] field) {
		for(int y = 0; y < field[0].length; y++) {
			for (int x = 0; x < field.length; x++) {
				Out.print("|" +field[x][y]);
			}
			Out.print("|");
			Out.println();
			
		}
		for (int i = 0; i <=6; i++) {
			Out.print("+-");
		}
		Out.println();
		for(int j = 1; j <=7; j++) {
		Out.print(" "+j);
		}
		
	Out.println();
	}

	static char[][] initializeField(int colums, int lines) {
		char[][] result;
		
		result = new char[colums][lines];
		
		for(int y = 0; y < result[0].length; y++) {
	
			for (int x = 0; x < result.length; x++) {
				result[x][y] = ' ';
			}
		}
	
		return result; 
	
	}
	
	static int rendXPos() {
		Out.println("X: ");
		int result;
		result = In.readInt();
		
		return result; 
		
	}
	
	static int rendYPos() {
		//Out.println("Y: ");
		int result = 6;
		
		return result; 
	
	}
	

	
	static boolean placedStone(char [][] playField, int xPos, int yPos, boolean player1) {
		char[][] result;
		boolean valid;
		
		valid = isVaildField(playField, xPos, yPos);
	
		if (valid) {
			playField[xPos][yPos] = symbolForPlayer(player1);
		}
		return valid; 
	}
	
	
	static char symbolForPlayer(boolean player1) {
		if (player1) {
			return 'X';
		} else {
			return 'O';
		}
	}
	
	static boolean isVaildField(char[][] field, int xPos, int yPos) {
		return(xPos >= 0 && xPos <= field.length && yPos >= 0 && yPos <= field[0].length && field[xPos][yPos] == ' '); 
	//return true;
	}
	
	static boolean playerWon(char[][] field, boolean player1, int xPos, int yPos) {
		return false; //
	}
	
	static boolean isDraw(char[][] field) {
		for(int y = 0; y < field[0].length; y++) {
			for (int x = 0; x < field.length; x++) {
				if (field[x][y] == ' ') {
					
					return false;
				}
			}
		}
		
		return true;
	}
}
 
Zuletzt bearbeitet von einem Moderator:

javimka

Top Contributor
Bräuchtest du nicht noch eine X-Postion um die Y-Position auszurechnen? So weisst du ja gar nicht, in welcher Spalte du nach dem obersten leeren Feld suchen musst.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Programm beendet sich nicht und weiteres seltsames Verhalten Java Basics - Anfänger-Themen 9
E weiteres Routenproblem Java Basics - Anfänger-Themen 4
O Compiler-Fehler Ein weiteres Java Problem Java Basics - Anfänger-Themen 3
1 Ein weiteres Lotto programm Java Basics - Anfänger-Themen 6
E Fragen zu Klassenhierarchien und Weiteres Java Basics - Anfänger-Themen 17
B Variable auf Typ prüfen (weiteres Problem) Java Basics - Anfänger-Themen 16
G Mit einen Java Porgramm ein weiteres Programm öffnen Java Basics - Anfänger-Themen 6
M Minimax-Algorithmus für Vier gewinnt Java Basics - Anfänger-Themen 11
M GUI für Vier-Gewinnt. Java Basics - Anfänger-Themen 4
J Vier gewinnt in Java,Spieler Konstruktor Java Basics - Anfänger-Themen 8
C alle möglichen Kombinationen zweier Ziffern auf drei / vier / und 'n" Stellen Java Basics - Anfänger-Themen 11
amgadalghabra Die vier Sortieralgorithmen die durchschnittliche Laufzeit in Millisekunden Java Basics - Anfänger-Themen 37
Kamy Ein einfaches "Vier Gewinnt" Spiel für Anfängerin Java Basics - Anfänger-Themen 51
H Vier Augen sehen mehr... Java Basics - Anfänger-Themen 6
S Die ersten vier perfekte Zahlen. Java Basics - Anfänger-Themen 30
A Klassen Klasse um einen Wert zu vier Zahlen zu speichern Java Basics - Anfänger-Themen 7
A Tic Tac Toe - Vier Gewinnt Java Basics - Anfänger-Themen 5
J Reset Button im Spiel Vier gewinnt einrichten Java Basics - Anfänger-Themen 8
G boolean Methode Vier gewinnt Java Basics - Anfänger-Themen 6
G Algorithmus im Spiel "vier gewinnt" Java Basics - Anfänger-Themen 3
B Zusammenhängende Blöcke bei x-gewinnt erkennen? Java Basics - Anfänger-Themen 14
M monte carlo Algorithmus für 4 gewinnt Java Basics - Anfänger-Themen 12
shiroX Methoden MinMax 4 Gewinnt Java Basics - Anfänger-Themen 2
K Methoden 4 Gewinnt checkDiagonal Methode Java Basics - Anfänger-Themen 10
O Methoden Fehlermeldung(Illegal start of expression) bei 4-Gewinnt-Spiel Java Basics - Anfänger-Themen 5
M Erste Schritte KI für 4 Gewinnt Hilfe! Java Basics - Anfänger-Themen 5
H 3 Gewinnt, Fehler bei Neustart Java Basics - Anfänger-Themen 6
L 5 Gewinnt Array[][] probleme Java Basics - Anfänger-Themen 20
B 4 Gewinnt KI? Java Basics - Anfänger-Themen 9
JFeel-x 4 gewinnt-Versuch + Probleme Java Basics - Anfänger-Themen 2
B Problem mit Drei-Gewinnt-Spiel Java Basics - Anfänger-Themen 24
G Problem mit Array bei einem 4-Gewinnt Spiel Java Basics - Anfänger-Themen 2
A MiniMax- Algorithmus für 4-Gewinnt Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben