示例#1
0
        public static List <Player> GetTop(string type, int number, IPlayersData data)
        {
            List <Player> top;

            if (data.GetAllPlayers().Count <= number)
            {
                top = data.GetAllPlayers();
            }
            else
            {
                top = new List <Player>();
                switch (type)
                {
                case "Gross profit":
                    top = data.GetAllPlayers().OrderByDescending(o => o.Total_gross_profit).Take(number).ToList();
                    break;

                case "Highest gain":
                    top = data.GetAllPlayers().OrderByDescending(o => o.Best_win).Take(number).ToList();
                    break;

                case "Number of games":
                    top = data.GetAllPlayers().OrderByDescending(o => o.Num_of_games).Take(number).ToList();
                    break;
                }
            }
            return(top);
        }
示例#2
0
        public static string Register(Player newPlayer, IPlayersData data)
        {
            Player player = data.FindPlayerByUsername(newPlayer.Username);

            if (player != null)
            {
                return("Error! username is already taken");
            }
            if (!IsValidEmail(newPlayer.GetEmail()))
            {
                return("Error! invalid email");
            }
            if (!IsValidPassword(newPlayer.GetPassword()))
            {
                return("Error! invalid password");
            }
            if (!data.isEmailFree(newPlayer.GetEmail()))
            {
                return("Error! email is not free");
            }
            newPlayer.Money = 5000;
            newPlayer.SetPassword(Encryption.EncryptPassword(newPlayer.GetPassword()));
            data.AddPlayer(newPlayer);
            return("ok");
        }
示例#3
0
        public static void InitData()
        {
            leaguesData = new LeaguesByDB();
            playersData = new PlayersByDB();
            roomsData   = new RoomsByDB();
            Service service = new Service(leaguesData, roomsData, playersData);

            Log.InfoLog("Service Layer initiated");
        }
 public void Cleanup()
 {
     data    = new PlayersByList();
     player1 = new Player(1, "yakir", "1234", "*****@*****.**", new Center.League(1, "level one").Id);
     data.AddPlayer(player1);
     player2 = new Player(2, "moshe", "1234", "*****@*****.**", new Center.League(1, "level one").Id);
     data.AddPlayer(player2);
     player3 = new Player(3, "oleg", "1234", "*****@*****.**", new Center.League(1, "level one").Id);
     data.AddPlayer(player3);
 }
 public void Initialize()
 {
     data    = new PlayersByList();
     player1 = new Player(1, "yakir", "1234", "*****@*****.**", 1); //previous last parameter: new Center.League(1, "level one")
     data.AddPlayer(player1);
     player2 = new Player(2, "moshe", "1234", "*****@*****.**", 1);
     data.AddPlayer(player2);
     player3 = new Player(3, "oleg", "1234", "*****@*****.**", 1);
     data.AddPlayer(player3);
 }
示例#6
0
        public Service(ILeaguesData leaguesData, IRoomData roomsData, IPlayersData playersData)
        {
            this.LeaguesData = leaguesData;
            this.roomsData   = roomsData;
            this.playersData = playersData;

            this.userService   = new UserService(this);
            this.centerService = new CenterService(this);
            this.gameService   = new GameService(this);
            Service.instance   = this;
        }
示例#7
0
        public static Player Login(String username, String password, IPlayersData date)
        {
            password = Encryption.EncryptPassword(password);
            Player player = date.FindPlayerByUsername(username);

            if (player == null || !player.GetPassword().Equals(password))
            {
                return(null);
            }
            return(player);
        }
示例#8
0
        public SearchCenterTests()
        {
            ProgramList.InitData();
            leaguesData = Service.GetLastInstance().LeaguesData;
            playersData = Service.GetLastInstance().PlayersData;
            League league = new League(1, "first league");

            leaguesData.AddLeague(league);

            Player playerLogged = new Player(0, "logged", "1234", "*****@*****.**", league.Id);

            searchCenter = new SearchCenter(playersData, leaguesData);
        }
示例#9
0
 internal static void UpdatePlayerInfo(Player player, string username, string password, string email, IPlayersData date)
 {
     player.SetEmail(email);
     player.SetPassword(Encryption.EncryptPassword(password));
     date.UpdatePlayer(player);
 }
示例#10
0
 public PlayerActionTests()
 {
     ProgramList.InitData();
     leaguesData = Service.GetLastInstance().LeaguesData;
     playersData = Service.GetLastInstance().PlayersData;
 }
示例#11
0
        private static Dictionary <string, Double[]> GetDicOfSelectedType(string type, IPlayersData data)
        {
            Dictionary <string, Double[]> dic = new Dictionary <string, Double[]>();
            List <Player> listPlayers         = GetTop(type, 20, data);

            foreach (Player p in listPlayers)
            {
                dic.Add(p.Username, GetResultOfPlayer(p));
            }
            return(dic);
        }
示例#12
0
        public static List <Dictionary <string, Double[]> > GetTopForPrint(Player player, IPlayersData data)
        {
            List <Dictionary <string, Double[]> > list = new List <Dictionary <string, Double[]> >();
            Dictionary <string, Double[]>         dic  = new Dictionary <string, Double[]>();

            dic.Add(player.Username, GetResultOfPlayer(player));
            list.Add(dic);
            list.Add(GetDicOfSelectedType("Gross profit", data));
            list.Add(GetDicOfSelectedType("Highest gain", data));
            list.Add(GetDicOfSelectedType("Number of games", data));
            return(list);
        }
示例#13
0
 public SearchCenter(IPlayersData newPlayerData, ILeaguesData newLeagueData)
 {
     this.playersData = newPlayerData;
     this.leaguesData = newLeagueData;
 }
示例#14
0
        public void InitDataForSearchGamesByPlayerUserNameTest(ILeaguesData leaguesData, IPlayersData usersData)
        {
            League league = leaguesData.GetDefalutLeague();

            if (league == null)
            {
                Console.WriteLine("error league=null");
                Environment.Exit(0);
            }

            int             maxPlayers      = 6;
            int             minPlayers      = 2;
            int             minBuyIn        = 100;
            int             maxBuyIn        = 1000;
            bool            allowSpectating = true;
            int             bigBlind        = 100;
            GamePreferences prefAllow       = new GamePreferences(GamePreferences.GameTypePolicy.LIMIT, maxPlayers, minPlayers, minBuyIn, maxBuyIn, allowSpectating, bigBlind);

            game1 = new TexasGame(prefAllow);
            game2 = new TexasGame(prefAllow);
            game3 = new TexasGame(prefAllow);

            game1.StartGame();
            game2.StartGame();
            game3.StartGame();

            Player p1 = new Player(1, "oleg", "1234", "*****@*****.**", league.Id);
            Player p2 = new Player(2, "hen", "1234", "*****@*****.**", league.Id);
            Player p3 = new Player(3, "moshe", "1234", "*****@*****.**", league.Id);
            Player p4 = new Player(4, "eliran", "1234", "*****@*****.**", league.Id);
            Player p5 = new Player(55, "yakir", "1234", "*****@*****.**", league.Id);

            GamePlayer gp1 = new GamePlayer(p1, 1000);
            GamePlayer gp2 = new GamePlayer(p2, 1000);
            GamePlayer gp3 = new GamePlayer(p3, 1000);
            GamePlayer gp4 = new GamePlayer(p4, 1000);
            GamePlayer gp5 = new GamePlayer(p5, 1000);

            game1.Join(0, gp1);
            game1.Join(1, gp2);
            game1.Join(2, gp3);
            game1.Join(3, gp4);
            game1.Join(4, gp5);
            game1.StartGame();

            game2.Join(0, gp1);
            game2.Join(1, gp3);
            game2.StartGame();


            game3.Join(0, gp2);
            game3.Join(1, gp3);
            game3.Join(2, gp4);
            game3.StartGame();


            league.AddRoom(new Room(1, game1));
            league.AddRoom(new Room(2, game2));
            league.AddRoom(new Room(3, game3));


            usersData.AddPlayer(p1);
            usersData.AddPlayer(p2);
            usersData.AddPlayer(p3);
            usersData.AddPlayer(p4);
            usersData.AddPlayer(p5);
        }