public void Battle(int player)
        {
            Console.WriteLine("SENT BATTLE {0}", ClientManager.clients[player].name);
            if (!playerIsDefending[player] || turnPlayerId != player)
            {
                Console.WriteLine("Player defend is {0} and turnPlayer is {1} ", playerIsDefending[player], ClientManager.clients[turnPlayerId].name);
                return;
            }

            int enemy = playerToPlayer[player];

            for (int x = 0; x < playerMapAttackZone[enemy].Count; x++)
            {
                if (playerMapAttackZone[player][x] == null)
                {
                    playerMapHealth[player] -= playerMapAttackZone[enemy][x].attack;
                    playerMapBench[enemy].Add(playerMapAttackZone[enemy][x]);
                }
                else
                {
                    Console.WriteLine("Card: {0} Stats: {1}, {2} vs Card: {3} Stats: {4}, {5}",
                                      playerMapAttackZone[player][x].name, playerMapAttackZone[player][x].health, playerMapAttackZone[player][x].attack,
                                      playerMapAttackZone[enemy][x].name, playerMapAttackZone[enemy][x].health, playerMapAttackZone[enemy][x].attack
                                      );

                    CalculateBattle(playerMapAttackZone[player][x], playerMapAttackZone[enemy][x], x);

                    Console.WriteLine("Card: {0} Stats: {1}, {2} vs Card: {3} Stats: {4}, {5}",
                                      playerMapAttackZone[player][x].name, playerMapAttackZone[player][x].health, playerMapAttackZone[player][x].attack,
                                      playerMapAttackZone[enemy][x].name, playerMapAttackZone[enemy][x].health, playerMapAttackZone[enemy][x].attack
                                      );

                    foreach (int p in players)
                    {
                        if (playerMapAttackZone[p][x].health > 0)
                        {
                            playerMapBench[p].Add(playerMapAttackZone[p][x]);
                        }
                    }
                }
            }

            if (playerMapHealth[player1ID] <= 0)
            {
                DataSender.SendEndGame(player1ID, "Defeat");
                DataSender.SendEndGame(player2ID, "Victory");
            }
            else if (playerMapHealth[player2ID] <= 0)
            {
                DataSender.SendEndGame(player2ID, "Defeat");
                DataSender.SendEndGame(player1ID, "Victory");
            }
            playerMapAttackZone[player] = new List <Card>();
            playerMapAttackZone[playerToPlayer[player]] = new List <Card>();
            playerIsAttacking[playerToPlayer[player]]   = false;
            playerIsDefending[player] = false;
            canAttackerAttack         = false;
            turnPlayerId = playerToPlayer[turnPlayerId];
            phase        = ClientManager.clients[turnPlayerId].name + "'s Turn";
            SendUpdatedBoardAndStats();
        }