Example #1
0
    public int GenerateNumberForLetter(BingoLetter letter)
    {
        var letterIndex = letter.GetHashCode();

        print("letterIndex " + letterIndex);
        return(0);
    }
Example #2
0
 public BingoBall(BingoLetter letter, int number)
 {
     if (!BingoBallNumberValidator.IsBingoBallNumberValid(number))
     {
         throw new Exception("Unable to create bingo ball for number " + number);
     }
     Letter = letter;
     Number = number;
 }
Example #3
0
 private void SetSpriteForLetter(BingoLetter letter, Sprite sprite)
 {
     if (_bingoLetterToSprite.ContainsKey(letter))
     {
         _bingoLetterToSprite[letter] = sprite;
     }
     else
     {
         _bingoLetterToSprite.Add(letter, sprite);
     }
 }
Example #4
0
        private void EnqueueNewBall(BingoLetter letter, int number)
        {
            var bb = _bingoBallObjectPool.GetBingoBallView();

            if (bb == null)
            {
                throw new Exception("there are not enough polled objects");
            }

            bb.ApplyBingoBallModel(new BingoBall(letter, number));
            bb.ApplyBallSprite(_bingoLetterToSprite[letter]);
            _ballsQueue.Enqueue(bb);
            bb.Appear(_generatedBallAppearancePosition);
        }
Example #5
0
    public int GenerateUniqueNumberForLetter(BingoLetter letter)
    {
        var letterIndex = letter.GetHashCode();

        var numbersList = _allNumListsArr[letterIndex];

        var randomIndexForPickNumber = Random.Range(0, numbersList.Count);

        var randomNumber = numbersList[randomIndexForPickNumber];

        numbersList.RemoveAt(randomIndexForPickNumber);

        return(randomNumber);
    }
Example #6
0
        public void Initialize(BingoLetter columnLetter, int verticalIndex, int number)
        {
            if (_initialized)
            {
                throw new InvalidOperationException("CardNumberView already initialzied");
            }
            _columnLetter  = columnLetter;
            _verticalIndex = verticalIndex;
            _number        = number;


            _defaultTextColot     = GetText().color;
            _highlightedTextColor = Color.white;
            _normalColor          = GetButton().colors.normalColor;
            GetButton().onClick.AddListener(Clicked);
            GetText().text = _number.ToString(CultureInfo.InvariantCulture);

            _initialized = true;
        }
Example #7
0
        /// <summary>
        /// Generates unique number according specified letter
        /// </summary>
        /// <param name="letter"></param>
        /// <returns></returns>
        public int GenerateUniqueNumberForLetter(BingoLetter letter)
        {
            if (!CanGenerateNumberForLetter(letter))
            {
                throw new Exception("All numbers for letter " + letter + " were already generated");
            }
            var letterIndex = BingoLetterCaster.BingoLetterToInt(letter);
            var numbersList = _bingoNumberListsArray[letterIndex];

            var randomIndexForPickNumber = Random.Range(0, numbersList.Count);

            // Pick number by random index in numbersList
            var randomNumber = numbersList[randomIndexForPickNumber];

            // Remove picked number from list (we don't want generate this number again in further calls
            // to GenerateUniqueNumberForLetter() method)
            numbersList.RemoveAt(randomIndexForPickNumber);

            return(randomNumber);
        }
 public CardNumberUnmarkedEventArgs(BingoLetter numberColumnLetter, int numberVerticalIndex)
 {
     NumberColumnLetter  = numberColumnLetter;
     NumberVerticalIndex = numberVerticalIndex;
 }
Example #9
0
        /// <summary>
        /// Checks if it's possible to generate number for specified letter
        /// </summary>
        /// <param name="letter"></param>
        /// <returns></returns>
        public bool CanGenerateNumberForLetter(BingoLetter letter)
        {
            var letterIndex = BingoLetterCaster.BingoLetterToInt(letter);

            return(_bingoNumberListsArray[letterIndex].Count > 0);
        }
Example #10
0
 public void Enqueue(BingoLetter letter, int number)
 {
     DequeueLastBallIfExists();
     PromoteExistingBalls();
     EnqueueNewBall(letter, number);
 }
Example #11
0
    public bool CanGenerateNumberForLetter(BingoLetter letter)
    {
        var letterIndex = letter.GetHashCode();

        return(_allNumListsArr[letterIndex].Count > 0);
    }
Example #12
0
 public BingoBall(BingoLetter letter, int number)
 {
     Letter = letter;
     Number = number;
 }
Example #13
0
 public static string BingoLetterToString(BingoLetter letter)
 {
     return(_bingoLetterToString[letter]);
 }
Example #14
0
 public static int BingoLetterToInt(BingoLetter letter)
 {
     return(_bingoLetterToInt[letter]);
 }