package core;

import java.util.Vector;


public class Game {
    public static final int CARDS_IN_HAND = 4;
	private boolean running = false;
	private Player currentPlayer = null;
	private Vector<Player> players;
	private int playerNumber = 0;

    public Game(int playerNumber) {
    	this.players = new Vector<Player>();
    	this.playerNumber = playerNumber;

    	for (int i = 0; i < playerNumber; i++) {
    		Player newPlayer = new Player();
    		newPlayer.drawCard(4);
    		players.add(newPlayer);
    	}

    	this.currentPlayer = this.players.get(0);
    }

    public void start() {
    	this.running = true;
    }
    
    public void nextTurn(Card card, ActionType action, Player player) {
        this.currentPlayer.playCard(card, action, player);
    }

    public Player getPlayer(int playerId) {
    	return players.get(playerId);
    }

    public boolean isRunning() {
        return this.running;
    }


    public Player getCurrentPlayer() {
    	return this.currentPlayer;
    }


    public int getPlayerNumber() {
    	return this.playerNumber;
    }
}

@@ -357,16 +357,40 @@
 umber;%0A%0A
+        // Init players%0A
     %09for
@@ -431,18 +431,24 @@
 ) %7B%0A    
-%09%09
+        
 Player n
@@ -469,25 +469,32 @@
  Player(
+i
 );%0A    
-%09%09
+        
 newPlaye
@@ -516,10 +516,73 @@
     
-%09%09
+        newPlayer.getField().addSmallRockNumber(2);%0A%0A            
 play
@@ -725,13 +725,9 @@
   %7D%0A
-    
 %0A
+
     
@@ -790,24 +790,24 @@
 r player) %7B%0A
-
         this
@@ -848,24 +848,312 @@
 on, player);
+%0A%0A        int currentPlayerNumber = this.currentPlayer.getNumber();%0A        if (currentPlayerNumber == this.playerNumber-1) %7B%0A            this.currentPlayer = this.players.get(0);%0A        %7D%0A        else %7B%0A            this.currentPlayer = this.players.get(currentPlayerNumber+1);%0A        %7D
 %0A    %7D%0A%0A    

Add Game.nextTurn() mechanics and Player initialization