示例#1
0
        public List <RpsPlayerStatsDataModel> SetPlayerStats(RpsGameObject concludedGame)
        {
            var listStats = new List <RpsPlayerStatsDataModel>();
            var p1        = new RpsPlayerStatsDataModel
            {
                Stats = new RpsPlayerStatsDataModel.PlayerStats()
            };

            var p2 = new RpsPlayerStatsDataModel
            {
                Stats = new RpsPlayerStatsDataModel.PlayerStats()
            };

            p1 = SetPlayerInfo(concludedGame.POne, p1);
            p1 = SetPlayerStatChoices(concludedGame.POne, p1);

            if (!SetDraw(concludedGame))
            {
                p1 = SetWinLoss(concludedGame.POne, p1);
                p2 = SetWinLoss(concludedGame.PTwo, p2);
            }
            else
            {
                p1.Stats.NumberDraws += 1;
                p2.Stats.NumberDraws += 1;
            }

            p2 = SetPlayerInfo(concludedGame.PTwo, p2);
            p2 = SetPlayerStatChoices(concludedGame.PTwo, p2);

            listStats.Add(p1);
            listStats.Add(p2);

            return(listStats);
        }
示例#2
0
        public RpsPlayerStatsDataModel ConvertToPlayerStatModel(RpsPlayerGameObject GameObj)
        {
            var stats = new RpsPlayerStatsDataModel
            {
                DiscordId = GameObj.User.Id,
                Name      = GameObj.User.Username
            };

            return(stats);
        }
示例#3
0
        private static RpsPlayerStatsDataModel UpdateStatsJson(RpsPlayerStatsDataModel InfoFromFile, RpsPlayerStatsDataModel NewInfo)
        {
            InfoFromFile.Name = NewInfo.Name;
            InfoFromFile.Stats.NumberLosses   += NewInfo.Stats.NumberLosses;
            InfoFromFile.Stats.NumberPaper    += NewInfo.Stats.NumberPaper;
            InfoFromFile.Stats.NumberRocks    += NewInfo.Stats.NumberRocks;
            InfoFromFile.Stats.NumberScissors += NewInfo.Stats.NumberScissors;
            InfoFromFile.Stats.NumberWins     += NewInfo.Stats.NumberWins;
            InfoFromFile.Stats.NumberDraws    += NewInfo.Stats.NumberDraws;

            return(InfoFromFile);
        }
        public static EmbedBuilder RpsPlayerStats(RpsPlayerStatsDataModel stats, IUser user)
        {
            var rpsBuilder = new EmbedBuilder
            {
                Title = "Rock Paper Scissors Stats!", Description = $"{user.Username}, {BuildCustomMessage(stats)}"
            };

            rpsBuilder.AddField("Wins: ", $"{stats.Stats.NumberWins}", true);
            rpsBuilder.AddField("Losses: ", $"{stats.Stats.NumberLosses}", true);
            rpsBuilder.AddField("Draws: ", $"{stats.Stats.NumberDraws}", true);
            rpsBuilder.AddField("Rocks: ", $"{stats.Stats.NumberRocks}", true);
            rpsBuilder.AddField("Paper: ", $"{stats.Stats.NumberPaper}", true);
            rpsBuilder.AddField("Scissors: ", $"{stats.Stats.NumberScissors}", true);
            rpsBuilder.WithColor(4124426);
            rpsBuilder.WithFooter("Contact Coaction#5994 for any issues. This is a work in progress.");

            return(rpsBuilder);
        }
        private static string BuildCustomMessage(RpsPlayerStatsDataModel stats)
        {
            var rocks    = stats.Stats.NumberRocks;
            var paper    = stats.Stats.NumberPaper;
            var scissors = stats.Stats.NumberScissors;

            if (rocks > paper && rocks > scissors)
            {
                return("stop throwing so many rocks! You'll hurt your wenis.");
            }
            if (paper > rocks && paper > scissors)
            {
                return("you can make a lot of airplanes with that paper usage!");
            }
            if (scissors > paper && scissors > rocks)
            {
                return("sever run with so many scissors!");
            }
            if (rocks == 0 && scissors == 0 && paper == 0)
            {
                return("I've discovered your stats.. or lack there of!");
            }
            return("I've discovered your stats!");
        }
示例#6
0
        private static RpsPlayerStatsDataModel SetWinLoss(RpsPlayerGameObject player, RpsPlayerStatsDataModel stats)
        {
            if (player.IsWinner)
            {
                stats.Stats.NumberWins += 1;
            }
            else
            {
                stats.Stats.NumberLosses += 1;
            }

            return(stats);
        }
示例#7
0
        private static RpsPlayerStatsDataModel SetPlayerInfo(RpsPlayerGameObject player, RpsPlayerStatsDataModel stats)
        {
            stats.DiscordId = player.User.Id;
            stats.Name      = player.User.Username;

            return(stats);
        }
示例#8
0
        private static RpsPlayerStatsDataModel SetPlayerStatChoices(RpsPlayerGameObject player, RpsPlayerStatsDataModel stats)
        {
            switch (player.Choice)
            {
            case "!scissors":
                stats.Stats.NumberScissors += 1;
                return(stats);

            case "!paper":
                stats.Stats.NumberPaper += 1;
                return(stats);

            case "!rock":
                stats.Stats.NumberRocks += 1;
                return(stats);

            default:
                return(stats);
            }
        }