New Start in Infrastructur & GameFunctionality Packages
parent
7fc0489186
commit
98b5793015
|
@ -1,195 +1,8 @@
|
|||
package GameFunctionality;
|
||||
|
||||
import Infrastructur.Cards;
|
||||
import Infrastructur.Figure;
|
||||
import Infrastructur.Gameboard;
|
||||
|
||||
public class Gamesystem {
|
||||
|
||||
private Gameboard gameboard;
|
||||
private int currentPlayer;
|
||||
private boolean isGameOver;
|
||||
|
||||
public Gamesystem(int numberOfPlayers, int numberOfPiecesPerPlayer) {
|
||||
this.gameboard = new Gameboard(numberOfPlayers, numberOfPiecesPerPlayer);
|
||||
this.currentPlayer = 1; // Start mit Spieler 1
|
||||
this.isGameOver = false;
|
||||
}
|
||||
|
||||
private boolean checkMove (int i, int j) {
|
||||
|
||||
boolean isAllowedMove = false;
|
||||
char[][] board = gameboard.getBoard();
|
||||
|
||||
if (board[i][j] == 'O' || board[i][j] == 'X') {
|
||||
isAllowedMove = true;
|
||||
}
|
||||
|
||||
|
||||
return isAllowedMove;
|
||||
}
|
||||
|
||||
private Cards[] deckErstellen() {
|
||||
|
||||
// create Deck Cards
|
||||
Cards[] deck = new Cards[52];
|
||||
|
||||
for(int i=0; i<4; i++) {
|
||||
deck[i]=Cards.ZWEI;
|
||||
}
|
||||
for(int i=4; i<8; i++) {
|
||||
deck[i]=Cards.DREI;
|
||||
}
|
||||
for(int i=8; i<12; i++) {
|
||||
deck[i]=Cards.VIER;
|
||||
}
|
||||
for(int i=12; i<16; i++) {
|
||||
deck[i]=Cards.FÜNF;
|
||||
}
|
||||
for(int i=16; i<20; i++) {
|
||||
deck[i]=Cards.SECHS;
|
||||
}
|
||||
for(int i=20; i<24; i++) {
|
||||
deck[i]=Cards.SIEBEN;
|
||||
}
|
||||
for(int i=24; i<28; i++) {
|
||||
deck[i]=Cards.ACHT;
|
||||
}
|
||||
for(int i=28; i<32; i++) {
|
||||
deck[i]=Cards.NEUN;
|
||||
}
|
||||
for(int i=32; i<36; i++) {
|
||||
deck[i]=Cards.ZEHN;
|
||||
}
|
||||
for(int i=36; i<40; i++) {
|
||||
deck[i]=Cards.BUBE;
|
||||
}
|
||||
for(int i=40; i<44; i++) {
|
||||
deck[i]=Cards.DAME;
|
||||
}
|
||||
for(int i=44; i<48; i++) {
|
||||
deck[i]=Cards.KÖNIG;
|
||||
}
|
||||
for(int i=48; i<52; i++) {
|
||||
deck[i]=Cards.ACE;
|
||||
}
|
||||
|
||||
// shuffle Deck Cards
|
||||
// Array mischen mit dem Fisher-Yates-Algorithmus
|
||||
for (int i = deck.length - 1; i > 0; i--) {
|
||||
int index = (int) (Math.random() * (i + 1));
|
||||
Cards card = deck[index];
|
||||
deck[index] = deck[i];
|
||||
deck[i] = card;
|
||||
}
|
||||
|
||||
return deck;
|
||||
}
|
||||
|
||||
private void deckFunctinality(Cards card, Figure figure) {
|
||||
|
||||
// move 2 steps forward (Clockwise) on the Game-Board 'O' with your own Figure
|
||||
if(card == Cards.ZWEI) {
|
||||
|
||||
}
|
||||
|
||||
// move 3 steps forwardon (Clockwise) the Game-Board 'O' with your own Figure
|
||||
if(card == Cards.DREI) {
|
||||
|
||||
}
|
||||
|
||||
// move 4 steps backward (Counterclockwise) on the Game-Board 'O' with your own Figure
|
||||
if(card == Cards.VIER) {
|
||||
|
||||
}
|
||||
|
||||
// move 5 steps forward (Clockwise) on the Game-Board 'O' with any Figure on the Field
|
||||
if(card == Cards.FÜNF) {
|
||||
|
||||
}
|
||||
|
||||
// move 6 steps forward (Clockwise) on the Game-Board 'O' with your own Figure
|
||||
if(card == Cards.SECHS) {
|
||||
|
||||
}
|
||||
|
||||
// move in sum of 7 steps forward (Clockwise) on the Game-Board 'O' with two of your own Figures
|
||||
if(card == Cards.SIEBEN) {
|
||||
|
||||
}
|
||||
// move 8 steps forward (Clockwise) on the Game-Board 'O' with your own Figure
|
||||
if(card == Cards.ACHT) {
|
||||
|
||||
}
|
||||
// move 9 steps forward (Clockwise) on the Game-Board 'O' with your own Figure
|
||||
if(card == Cards.NEUN) {
|
||||
|
||||
}
|
||||
// move 10 steps forward (Clockwise) on the Game-Board 'O' with your own Figure
|
||||
// OR skip the turn of the next Player
|
||||
if(card == Cards.ZEHN) {
|
||||
|
||||
}
|
||||
// exchange places of one of your pieces with one of another player pieces
|
||||
if(card == Cards.BUBE) {
|
||||
|
||||
}
|
||||
// move 12 steps forward (Clockwise) on the Game-Board 'O' with your own Figure
|
||||
if(card == Cards.DAME) {
|
||||
|
||||
}
|
||||
// move 13 steps forward (Clockwise) with your own Figure and destroy every Piece on the Way
|
||||
// OR take one Figure or Piece out from your Home to your Base
|
||||
if(card == Cards.KÖNIG) {
|
||||
|
||||
}
|
||||
// move 1 or 11 steps forward (Clockwise) with your own Figure
|
||||
// OR take one Figure or Piece out from your Home to your Base
|
||||
if(card == Cards.ACE) {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void startGame() {
|
||||
// Initialisierung und Startlogik
|
||||
System.out.println("Spiel gestartet mit " + gameboard.getNumberOfPlayers() + " Spielern.");
|
||||
}
|
||||
|
||||
public void makeMove(int player, int x, int y) {
|
||||
// Prüfung, ob der Zug gültig ist und Aktualisierung des Spielbretts
|
||||
if (isGameOver) {
|
||||
System.out.println("Spiel ist bereits zu Ende.");
|
||||
return;
|
||||
}
|
||||
if (player != currentPlayer) {
|
||||
System.out.println("Es ist nicht die Reihe von Spieler " + player);
|
||||
return;
|
||||
}
|
||||
// Hier könnte die Logik implementiert werden, um einen Zug zu machen
|
||||
// Beispiel: gameboard.setPiece(x, y, player);
|
||||
|
||||
// Prüfung auf Gewinn oder Niederlage nach jedem Zug
|
||||
checkForWin();
|
||||
|
||||
// Spielerwechsel
|
||||
currentPlayer = (currentPlayer % gameboard.getNumberOfPlayers()) + 1;
|
||||
}
|
||||
|
||||
private void checkForWin() {
|
||||
// Implementierung der Logik zur Überprüfung des Gewinnzustands
|
||||
// Wenn ein Gewinnzustand erkannt wird, isGameOver auf true setzen
|
||||
}
|
||||
|
||||
public boolean isGameOver() {
|
||||
return isGameOver;
|
||||
}
|
||||
|
||||
public int getCurrentPlayer() {
|
||||
return currentPlayer;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
package Infrastructur;
|
||||
|
||||
public enum Cards {
|
||||
|
||||
ZWEI, DREI, VIER, FÜNF, SECHS, SIEBEN, ACHT, NEUN, ZEHN, BUBE, DAME, KÖNIG, ACE
|
||||
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
package Infrastructur;
|
||||
|
||||
public enum Figure {
|
||||
|
||||
BLAU, GELB, ROT, GRÜN
|
||||
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
package Infrastructur;
|
||||
|
||||
public abstract class Karten {
|
||||
//Attributes=> Werte von 0 bis 13
|
||||
private int wert ;
|
||||
private Cards myType;
|
||||
|
||||
}
|
|
@ -1,28 +0,0 @@
|
|||
package Infrastructur;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
|
||||
public class KartenDeck {
|
||||
private ArrayList<Karten> karten = new ArrayList<Karten>();
|
||||
|
||||
public void kartenInitialisieren()
|
||||
{
|
||||
//Hier kann man alle Karten initialisieren..
|
||||
for(int i = 0;i<4;i++){
|
||||
for(int j = 0;j<13;j++)
|
||||
{
|
||||
// karten.add()
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
public Collection getKartenDeck()
|
||||
{
|
||||
return karten;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
package Infrastructur;
|
||||
|
||||
import java.lang.reflect.Array;
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class Player {
|
||||
private Figure myCharacter;
|
||||
private ArrayList<Stone> myStones;
|
||||
private ArrayList<Karten> myCards;
|
||||
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
package Infrastructur;
|
||||
|
||||
public class Stone {
|
||||
|
||||
private Figure chracter;
|
||||
// If location -1 => it's not out, if location 0 => Strongest in game
|
||||
int location;
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
package Infrastructur;
|
||||
|
||||
public class TauschKarte extends ZahlenKarte{
|
||||
//Die Bubbe
|
||||
//Ich glaube die Bubbe ist auch eine Zahlenkarte => Bewegt den Stein
|
||||
|
||||
public void tauschen()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -1,24 +0,0 @@
|
|||
package Infrastructur;
|
||||
|
||||
public class ZahlenKarte extends Karten {
|
||||
//Hier kannst du deine Karten initialisieren... Diese Karten sind, die zum Laufen sind
|
||||
//Ich glaube, die 3,2,8,9,Dame
|
||||
private int wert;
|
||||
private Cards myType;
|
||||
|
||||
public int getWert() {
|
||||
return wert;
|
||||
}
|
||||
|
||||
public Cards getMyType() {
|
||||
return myType;
|
||||
}
|
||||
|
||||
public void setWert(int wert) {
|
||||
this.wert = wert;
|
||||
}
|
||||
|
||||
public void setMyType(Cards myType) {
|
||||
this.myType = myType;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue