// Use this for initialization void Start() { this.players = new List <PlayerCharacter>(2); PlayerCharacter playerOne = new PlayerCharacter(); PlayerCharacter playerTwo = new PlayerCharacter(); playerOne.init(1, this); playerTwo.init(2, this); this.players.Add(playerOne); this.players.Add(playerTwo); this.currentPlayer = 1; this.passTurnPressed = false; currentState = COMBAT_STATES.SELECT_ATTACKER; //posar un text de victoria amb el nº del jugador guanyador }
void playTurn() { if (currentState == COMBAT_STATES.CHANGING_TURN) { currentPlayer = (currentPlayer % 2) + 1; resetUnitsMovement(); currentState = COMBAT_STATES.SELECT_ATTACKER; if (gameIsOver()) { currentState = COMBAT_STATES.GAME_OVER; if (tempPlayerOneLost) { vitoryText.GetComponent <UnityEngine.UI.Text>().text = "RED PLAYER WINS!"; } else { vitoryText.GetComponent <UnityEngine.UI.Text>().text = "BLUE PLAYER WINS!"; } vitoryText.SetActive(true); //canviar el text del guanyador } } if (currentState == COMBAT_STATES.SELECT_ATTACKER) { if (!passTurnPressed && movementsAvailable()) { unitToMove = selectUnit(); if (unitToMove != null && unitToMove.playerOwner == this.currentPlayer && !unitToMove.wasMoved) { currentState = COMBAT_STATES.SELECT_DEFENDER; Debug.Log("canviant a defender"); } } } if (currentState == COMBAT_STATES.SELECT_DEFENDER) { unitToAttack = selectUnit(); if (unitToAttack != null && unitToAttack.playerOwner != this.currentPlayer) { unitToAttack.getHitBy(unitToMove); unitToMove.move(); unitToMove = null; unitToAttack = null; if (!movementsAvailable()) { currentState = COMBAT_STATES.CHANGING_TURN; } else { currentState = COMBAT_STATES.SELECT_ATTACKER; } } } //Debug.Log("Player " + currentPlayer + " 's turn."); //while (!passTurnPressed && movementsAvailable() && !gameIsOver()) { // CombatUnit unitToMove = null; // while (unitToMove==null) { // unitToMove = selectUnit(); // if (unitToMove==null || unitToMove.playerOwner != this.currentPlayer) { unitToMove = null; } // } // CombatUnit unitToAttack = null; // while (unitToAttack==null) { // unitToAttack = selectUnit(); // if (unitToMove == null || unitToAttack.playerOwner == this.currentPlayer) { unitToAttack = null; } // } // unitToAttack.getHitBy(unitToMove); //} //currentPlayer = (currentPlayer % 2) + 1; //if (!gameIsOver()) { playTurn(); } }