public void CheatCountAndFinalStateTest()
        {
            GameNumber theNumber = new GameNumber();
            Cheat      cheat     = new Cheat();

            cheat.GetCheat(theNumber);
            Assert.AreEqual(1, cheat.Count);

            cheat.GetCheat(theNumber);
            Assert.AreEqual(2, cheat.Count);

            cheat.GetCheat(theNumber);
            Assert.AreEqual(3, cheat.Count);

            cheat.GetCheat(theNumber);
            Assert.AreEqual(4, cheat.Count);

            cheat.GetCheat(theNumber);
            Assert.AreEqual(4, cheat.Count);

            for (int i = 0; i < cheat.CheatNumber.Length; i++)
            {
                Assert.AreNotEqual('X', cheat.CheatNumber[i]);
            }
        }
Esempio n. 2
0
        void GetFunction()
        {
            //交给
            List <CharacterAttribute> ary = SaveSprite.GetCharacterAttributeAry();

            PanelManager.Instantiate.SelectedCharacterPanel.Open(ary, delegate(CharacterAttribute Character)
            {
                if (Character == null)
                {
                    return;
                }
                GameNumber game = new GameNumber(this.attribute);
                if (Character.AddProp(game) == false)
                {
                    PanelManager.Instantiate.ErrorPanel.Open("full");
                }
                else
                {
                    SaveSprite.RemoveIndexProp(this.attribute, PropIndex, CurrentNumber);
                    PanelManager.Instantiate.Character.OnUpdate();
                    PanelManager.Instantiate.BackPack.OnUpdate();
                    Close();
                }
            });
        }
Esempio n. 3
0
        public async Task <HttpResponseMessage> UpdateGameStatus(int tournamentId, string tennisEventId, [FromBody] JsonElement json)
        {
            var gameResult           = new GameResult();
            var gameStatus           = JsonConverter.ToEnumeration <GameStatus>(json.GetProperty("gameStatus"));
            var playerClassification = JsonConverter.ToEnumeration <PlayerClassification>(json.GetProperty("playerClassification"));
            var entryNumber          = EntryNumber.FromValue(JsonConverter.ToNullableInt32(json.GetProperty("entryNumber")));
            var gameScore            = new GameScore(JsonConverter.ToString(json.GetProperty("gameScore")));

            gameResult.UpdateGameResult(
                gameStatus,
                playerClassification,
                entryNumber,
                gameScore
                );

            var blockNumber = new BlockNumber(JsonConverter.ToInt32(json.GetProperty("blockNumber")));
            var gameNumber  = new GameNumber(JsonConverter.ToInt32(json.GetProperty("gameNumber")));

            await this.drawTableUseCase.UpdateGameStatus(
                tournamentId,
                tennisEventId,
                blockNumber,
                gameNumber,
                gameResult
                );

            return(new HttpResponseMessage(HttpStatusCode.OK));
        }
Esempio n. 4
0
        public void GenerateNumber_Valid_InRange()
        {
            GameNumber number       = new GameNumber();
            int        parsedNumber = int.Parse(number.Digits);

            Assert.IsTrue(parsedNumber >= 0 && parsedNumber <= 9999);
        }
        public void CheatCountAndFinalStateTest()
        {
            GameNumber theNumber = new GameNumber();
            Cheat cheat = new Cheat();

            cheat.GetCheat(theNumber);
            Assert.AreEqual(1, cheat.Count);

            cheat.GetCheat(theNumber);
            Assert.AreEqual(2, cheat.Count);

            cheat.GetCheat(theNumber);
            Assert.AreEqual(3, cheat.Count);

            cheat.GetCheat(theNumber);
            Assert.AreEqual(4, cheat.Count);

            cheat.GetCheat(theNumber);
            Assert.AreEqual(4, cheat.Count);

            for (int i = 0; i < cheat.CheatNumber.Length; i++)
            {
                Assert.AreNotEqual('X', cheat.CheatNumber[i]);
            }
        }
 public void NumberParameterlessConstructorCorrectTest5()
 {
     GameNumber number = new GameNumber();
     Assert.IsTrue(0 <= number.FirstDigit && number.FirstDigit < 10);
     Assert.IsTrue(0 <= number.SecondDigit && number.SecondDigit < 10);
     Assert.IsTrue(0 <= number.ThirdDigit && number.ThirdDigit < 10);
     Assert.IsTrue(0 <= number.FourthDigit && number.FourthDigit < 10);
 }
 public void GetBullsAndCowsMatchesOneCowTest()
 {
     GameNumber theNumber = new GameNumber(3, 0, 6, 8);
     PlayerGuess playerGuess = new PlayerGuess(4, 2, 9, 3);
     Result expected = new Result(0, 1);
     Result result = GuessChecker.GetBullsAndCowsMatches(playerGuess, theNumber);
     Assert.AreEqual(expected.ToString(), result.ToString());
 }
Esempio n. 8
0
        public void GetBullsAndCowsMatchesThreeCowsTest()
        {
            GameNumber  theNumber   = new GameNumber(3, 0, 6, 8);
            PlayerGuess playerGuess = new PlayerGuess(1, 6, 3, 0);
            Result      expected    = new Result(0, 3);
            Result      result      = GuessChecker.GetBullsAndCowsMatches(playerGuess, theNumber);

            Assert.AreEqual(expected.ToString(), result.ToString());
        }
        public void NumberParameterlessConstructorCorrectTest1()
        {
            GameNumber number = new GameNumber();

            Assert.IsTrue(0 <= number.FirstDigit && number.FirstDigit < 10);
            Assert.IsTrue(0 <= number.SecondDigit && number.SecondDigit < 10);
            Assert.IsTrue(0 <= number.ThirdDigit && number.ThirdDigit < 10);
            Assert.IsTrue(0 <= number.FourthDigit && number.FourthDigit < 10);
        }
Esempio n. 10
0
 public override int GetHashCode()
 {
     unchecked
     {
         var hashcode = 23;
         hashcode = (hashcode * 31) + GameNumber.GetHashCode();
         hashcode = (hashcode * 31) + PokerSiteId;
         return(hashcode);
     }
 }
        public void Setup()
        {
            var player1    = new Mock <User>();
            var player2    = new Mock <User>();
            var GameNumber = new GameNumber(player1.Object, player2.Object);

            Game    = GameNumber;
            Player1 = player1.Object;
            Player2 = player2.Object;
        }
Esempio n. 12
0
        void UpdateStatsGame(PropStatsGame statsGame, GameNumber prop)
        {
            BaseAdditionalAttribute attribute = Manage.Instance.Data.GetBaseProp(prop);

            if (attribute != null)
            {
                attribute.number = prop.number;
            }
            statsGame.Attribute = attribute;
        }
Esempio n. 13
0
        static void Main(string[] args)
        {
            foreach (var number in Enumerable.Range(1, 100))
            {
                var game = new GameNumber(number);
                Console.WriteLine(game.Say());
            }

            Console.Read();
        }
Esempio n. 14
0
 void SetProp(List <int[]> data)
 {
     if (data.Count > propCount)
     {
         propCount = data.Count;
     }
     prop = new GameNumber[propCount];
     for (int i = 0; i < data.Count; i++)
     {
         prop[i] = new GameNumber(data[i][0], data[i][1], AdditionalAttributeEnum.prop);
     }
 }
Esempio n. 15
0
 public bool AddProp(GameNumber game)
 {
     for (int i = 0; i < prop.Length; i++)
     {
         if (prop[i].IsNull)
         {
             prop[i] = game;
             return(true);
         }
     }
     return(false);
 }
Esempio n. 16
0
        public void GetBullsAndCows_Valid_TwoBullsAndTwoCows2()
        {
            GameNumber number = new GameNumber();

            string userInput = "0101";
            string genNumber = "1001";
            int    cows      = 0;
            int    bulls     = 0;

            number.GetBullsAndCows(userInput, genNumber, out bulls, out cows);
            Assert.IsTrue(cows == 2 && bulls == 2);
        }
Esempio n. 17
0
        public void GetBullsAndCows_Valid_Bulls_TwoBulls()
        {
            GameNumber number = new GameNumber();

            string userInput = "4194";
            string genNumber = "0154";
            int    cows      = 0;
            int    bulls     = 0;

            number.GetBullsAndCows(userInput, genNumber, out bulls, out cows);
            Assert.IsTrue(cows == 0 && bulls == 2);
        }
Esempio n. 18
0
        public void GetBullsAndCows_Valid_CowsBullsTestZero()
        {
            GameNumber number = new GameNumber();

            string userInput = "4194";
            string genNumber = "0358";
            int    cows      = 0;
            int    bulls     = 0;

            number.GetBullsAndCows(userInput, genNumber, out bulls, out cows);
            Assert.IsTrue(cows == 0 && bulls == 0);
        }
Esempio n. 19
0
        public IdGameRecord(String recordValue) : base(GameRecordType.Id)
        {
            Id       = recordValue;
            HomeTeam = recordValue.Substring(0, 3);
            Year     = Convert.ToInt32(recordValue.Substring(3, 4));
            Month    = Convert.ToInt32(recordValue.Substring(7, 2));
            Day      = Convert.ToInt32(recordValue.Substring(9, 2));

            var        gameNumberString = recordValue.Substring(11, 1);
            GameNumber tempGameNumber;

            GameNumber =
                GameNumber.TryParse <GameNumber>(gameNumberString, out tempGameNumber) ?
                tempGameNumber : GameNumber.SingleGame;
        }
Esempio n. 20
0
    /// <summary>
    /// 获取所有的分数
    /// </summary>
    /// <param name="allNumber"></param>
    /// <returns></returns>
    public static int GetAllScore(List <GameNumber> allNumber)
    {
        int score = 0;

        if (allNumber == null)
        {
            return(score);
        }

        for (int i = 0; i < allNumber.Count; i++)
        {
            GameNumber number = allNumber[i];
            score += number.Number;
        }

        return(score);
    }
Esempio n. 21
0
    public BaseAdditionalAttribute GetBaseProp(GameNumber prop)
    {
        BaseAdditionalAttribute attribute = null;

        switch ((AdditionalAttributeEnum)prop.PropType)
        {
        case AdditionalAttributeEnum.equipment:
            attribute =
                Manage.Instance.Data.GetObj <EquipmentAttribute>(prop.id);
            break;

        case AdditionalAttributeEnum.prop:
            attribute =
                Manage.Instance.Data.GetObj <PropAttribute>(prop.id);
            break;
        }
        return(attribute);
    }
Esempio n. 22
0
        void Arrangement()
        {
            GameNumber[] Prop  = new GameNumber[Model.Prop.Length];
            int          index = 0;

            for (int i = 0; i < Model.Prop.Length; i++)
            {
                if (Model.Prop[i].IsNull)
                {
                    continue;
                }
                Prop[index].SetData(Model.Prop[i]);
                index++;
            }
            Model.Prop = Prop;
            OnUpdate();
            SaveSprite.Write();
        }
Esempio n. 23
0
        void UpdateStatsGame(PropStatsGame statsGame, GameNumber prop)
        {
            BaseAdditionalAttribute attribute = null;

            switch ((AdditionalAttributeEnum)prop.PropType)
            {
            case AdditionalAttributeEnum.equipment:
                attribute =
                    Manage.Instance.Data.GetObj <EquipmentAttribute>(prop.id);
                break;

            case AdditionalAttributeEnum.prop:
                attribute =
                    Manage.Instance.Data.GetObj <PropAttribute>(prop.id);
                break;
            }
            if (attribute != null)
            {
                attribute.number = prop.number;
            }
            statsGame.Attribute = attribute;
        }
Esempio n. 24
0
 static public bool AddProp(BaseAdditionalAttribute prop, int number)
 {
     //加入道具数量不能大于堆叠最大数量
     for (int i = 0; i < Model.Prop.Length; i++)
     {
         if (Model.Prop[i].IsNull)
         {
             GameNumber item = new GameNumber(prop);
             Model.Prop[i] = item;
             Write();
             return(true);
         }
         if (Model.Prop[i].Equals(prop))
         {
             if (Model.Prop[i].number < prop.maxNumber)
             {
                 int count = Model.Prop[i].number + prop.number;
                 if (count > prop.maxNumber)
                 {
                     if (GetNullBackPackItem() < 1)
                     {
                         return(false);
                     }
                     Model.Prop[i].number = prop.maxNumber;
                     return(AddProp(prop, count - prop.maxNumber));
                 }
                 else
                 {
                     Model.Prop[i].number = count;
                     Write();
                     return(true);
                 }
             }
         }
     }
     return(false);
 }
Esempio n. 25
0
        public void GenerateNumber_Valid_4digits()
        {
            GameNumber number = new GameNumber();

            Assert.IsTrue(number.Digits.Length == 4);
        }
Esempio n. 26
0
 public void AddGame(int score, GameNumber gameNum)
 {
     throw new NotImplementedException("This method has not yet been implemented");
 }
Esempio n. 27
0
        public void RevealDigit_isTrue()
        {
            GameNumber number = new GameNumber();

            Assert.IsTrue(number.RevealDigit(1));
        }
Esempio n. 28
0
        public void RevealDigit_isFalse()
        {
            GameNumber number = new GameNumber();

            Assert.IsFalse(number.RevealDigit(4));
        }
Esempio n. 29
0
 public void SetData(GameNumber game)
 {
     this.id       = game.id;
     this.number   = game.number;
     this.PropType = game.PropType;
 }
Esempio n. 30
0
        private static void AssertGameNumber(string expectedWords, int value)
        {
            var game = new GameNumber(value);

            Assert.AreEqual(expectedWords, game.Say());
        }
 public override int GetHashCode()
 {
     return(GameNumber.GetHashCode());
 }
Esempio n. 32
0
        public void Solve()
        {
            var answer        = 0;
            var numbersSpoken = new List <int>()
            {
                0, 8, 15, 2, 12, 1, 4
            };
            var initialTurn = numbersSpoken.Count + 1;
            var gameNumbers = new Dictionary <int, GameNumber>();


            //Preload the gameNumbers...
            for (var i = 0; i < numbersSpoken.Count; i++)
            {
                gameNumbers.Add(numbersSpoken[i], new GameNumber()
                {
                    Number = numbersSpoken[i],
                    NumberOfTimesSpoken = 1,
                    PreviousTurn        = i + 1
                });
            }

            //Play the game...
            for (var i = initialTurn; i <= 30000000; i++)
            {
                //Get the last number spoken...
                var lastNumberSpoken = numbersSpoken[i - 2];

                //If we don't have a record of it, create one
                var gameNumber = gameNumbers[lastNumberSpoken];
                if (gameNumber == null)
                {
                    gameNumber = new GameNumber
                    {
                        Number = lastNumberSpoken,
                        NumberOfTimesSpoken = 1,
                        PreviousTurn        = i
                    };
                    gameNumbers.Add(lastNumberSpoken, gameNumber);
                }

                //If it's only been spoken once, speak 0
                if (gameNumber.NumberOfTimesSpoken == 1)
                {
                    if (!gameNumbers.ContainsKey(0))
                    {
                        gameNumbers.Add(0, new GameNumber
                        {
                            Number = lastNumberSpoken,
                            NumberOfTimesSpoken = 1,
                            PreviousTurn        = i
                        });
                    }
                    else
                    {
                        var zeroGameNumber = gameNumbers[0];
                        zeroGameNumber.NumberOfTimesSpoken++;
                        zeroGameNumber.PreviousPreviousTurn = zeroGameNumber.PreviousTurn;
                        zeroGameNumber.PreviousTurn         = i;
                    }

                    numbersSpoken.Add(0);
                }

                //If it's been spoken more than once...
                else
                {
                    //Find the last turns where it was spoken...
                    var previousTurn         = gameNumber.PreviousTurn;
                    var previousPreviousTurn = gameNumber.PreviousPreviousTurn;

                    var newSpokenNumber = previousTurn - previousPreviousTurn;

                    if (!gameNumbers.ContainsKey(newSpokenNumber.Value))
                    {
                        gameNumbers.Add(newSpokenNumber.Value, new GameNumber
                        {
                            Number = newSpokenNumber.Value,
                            NumberOfTimesSpoken = 1,
                            PreviousTurn        = i
                        });
                    }
                    else
                    {
                        var newSpokenGameNumber = gameNumbers[newSpokenNumber.Value];
                        newSpokenGameNumber.NumberOfTimesSpoken++;
                        newSpokenGameNumber.PreviousPreviousTurn = newSpokenGameNumber.PreviousTurn;
                        newSpokenGameNumber.PreviousTurn         = i;
                    }

                    numbersSpoken.Add(newSpokenNumber.Value);
                }
            }

            answer = numbersSpoken.Last();

            Console.WriteLine("Day 15, Part 2");
            Console.WriteLine($"Answer: {answer}");
        }
 public void GetBullsAndCowsMatchesTwoBullsAndTwoCowsTest()
 {
     GameNumber theNumber = new GameNumber(3, 0, 6, 8);
     PlayerGuess playerGuess = new PlayerGuess(3, 6, 0, 8);
     Result expected = new Result(2, 2);
     Result result = GuessChecker.GetBullsAndCowsMatches(playerGuess, theNumber);
     Assert.AreEqual(expected.ToString(), result.ToString());
 }