Example #1
0
        public static List <PlayerPackage> Reshuffle(List <PlayerPackage> ListOfPlayers)
        {
            if (ListOfPlayers == null)
            {
                return(null);                       //Skinuti kasnije
            }
            List <PlayerPackage> coppiedListOfPlayers = new List <PlayerPackage>(ListOfPlayers);
            List <PlayerPackage> listOfMatches        = new List <PlayerPackage>();
            int j = 0;

            System.Random random = new System.Random(System.DateTime.Now.Millisecond);
            PlayerPackage player = coppiedListOfPlayers[0];

            if (coppiedListOfPlayers.Count == 2)
            {
                return(coppiedListOfPlayers);
            }

            while (coppiedListOfPlayers.Count > 0)
            {
                PlayerPackage enemy;
                PlayerPackage lastEnemy;
                coppiedListOfPlayers.Remove(player);
                if (_previousListOfMatches.Count > 0)
                {
                    if (_previousListOfMatches.Contains(player))
                    {
                        j = _previousListOfMatches.IndexOf(player);
                    }
                    if (_previousListOfMatches.Count == j + 1)
                    {
                        j = -1;
                    }
                    lastEnemy = _previousListOfMatches[j + 1];
                    if (coppiedListOfPlayers.Contains(lastEnemy))
                    {
                        coppiedListOfPlayers.Remove(lastEnemy);
                        enemy = coppiedListOfPlayers[random.Next(coppiedListOfPlayers.Count)];
                        coppiedListOfPlayers.Add(lastEnemy);
                    }
                    else
                    {
                        if (coppiedListOfPlayers.Count == 0)
                        {
                            listOfMatches.Add(player);
                            continue;
                        }
                        enemy = coppiedListOfPlayers[random.Next(coppiedListOfPlayers.Count)];
                    }
                }
                else
                {
                    return(ListOfPlayers);
                }
                listOfMatches.Add(player);
                player = enemy;
            }
            return(listOfMatches);
        }
Example #2
0
        public void MoveUnit(string playerUsername, FigurePackage unit)
        {
            PlayerPackage player = MatchManager.PlayerWithUsername(playerUsername);
            FigurePackage figure = player.Figures.Find(f => { return(f.NewRow == unit.OriginalRow && f.NewColumn == unit.OriginalColumn); });

            player.Figures.Remove(figure);
            if (unit.NewRow != -1)
            {
                player.Figures.Add(unit);
            }
        }
Example #3
0
 public void RegisterPlayer(PlayerPackage myself)
 {
     MatchManager.RegisterPlayer(myself);
 }