コード例 #1
0
        protected override void ChangeCurrentLetterToRandom(GameTime now)
        {
            Letter letter = new Letter();
            letter = nextLetter;
            letter.gridPosition.X = (float)(columnIndex % (int)gridRenderer.grid.width);

            letter.gridPosition.Y = 0;
            gridRenderer.grid.PositionLetter((int)letter.gridPosition.X, (int)letter.gridPosition.Y, letter);

            currentLetter = letter;
            gridRenderer.currentLetter = currentLetter;

            if (!CheckMoveDown(now))
            {
                isGameOver = true;
                Shorewood.gameState = GameState.GameOver;
            }
            if (now != null)
            {
                lastLetterUpdate = (float)now.ElapsedGameTime.TotalMilliseconds;
            }
            //gridRenderer.scoreString = "Score: " + gridRenderer.grid.currentScore.ToString();
            //gridRenderer.levelString = "Level: " + (levelManager.currentLevel).ToString();
            nextLetter = letterSet.GetRandomLetter();
            gridRenderer.nextLetter = nextLetter;
            gameplayState = NormalGameplayState.CurrentLetterActive;
            columnIndex++;
        }
コード例 #2
0
ファイル: ScrabbleSet.cs プロジェクト: Zikomo/Leximo
        public Letter GetRandomLetter()
        {
            Letter nextLetter = Letter.EmptyLetter;
            int roll = random.Next(7);

            switch (roll)
            {
                case 4:
                    nextLetter = PullFromFromTextAnalyzer();
                    break;
                case 2:
                case 1:
                    nextLetter = PullFromInjectedList();
                    break;
                default:
                    nextLetter = letterSet[random.Next(letterSet.Count)];
                    break;
            }

            if ((nextLetter == Letter.EmptyLetter)||(nextLetter == previousLetter))
            {
                nextLetter = letterSet[random.Next(letterSet.Count)];
                while (nextLetter == previousLetter)
                {
                    nextLetter = letterSet[random.Next(letterSet.Count)];
                }
            }
            previousLetter = nextLetter;

            return nextLetter;
        }
コード例 #3
0
ファイル: WordBuilder.cs プロジェクト: Zikomo/Leximo
 public void Prepend(Letter letter)
 {
     if (letter.letter != Letter.EmptyLetter.letter)
     {
         char[] microsoftSucks = { letter.letter };
         builder.Insert(0, microsoftSucks);
         //reverseBuilder.Append(letter.letter);
         //UpdateReverse();
         letters.Insert(0, letter);
         checkSum += letter.gridPosition.X + gridWidth * letter.gridPosition.Y;
     }
 }
コード例 #4
0
ファイル: WordBuilder.cs プロジェクト: Zikomo/Leximo
 public void Append(Letter letter)
 {
     if (letter.letter != Letter.EmptyLetter.letter)
     {
         builder.Append(letter.letter);
         //reverseBuilder.Append(letter.letter);
         letters.Add(letter);
         //UpdateReverse();
         checkSum += letter.gridPosition.X + gridWidth * letter.gridPosition.Y;
     }
 }
コード例 #5
0
ファイル: NormalGameplay.cs プロジェクト: Zikomo/Leximo
 private void HandleLetterDrop(Letter letter, GameTime gameTime)
 {
     gridRenderer.grid.ResetGlowers();
     gridRenderer.grid.SetLetter(letter.gridPosition.X, letter.gridPosition.Y, letter);
     previousCurrentLetterPosition = gridRenderer.grid.GetLetter(letter.gridPosition.X, letter.gridPosition.Y).position;
     gameplayState = NormalGameplayState.WordSearch;
     Shorewood.clink.Play();
     //ChangeCurrentLetterToRandom(gameTime);
 }
コード例 #6
0
ファイル: NormalGameplay.cs プロジェクト: Zikomo/Leximo
        protected virtual void ChangeCurrentLetterToRandom(GameTime now)
        {
            Letter letter = new Letter();
            letter = nextLetter;
            letter.gridPosition.X = (float)Math.Round(gridRenderer.grid.width / 2);
            letter.gridPosition.Y = 0;
            gridRenderer.grid.PositionLetter((int)letter.gridPosition.X, (int)letter.gridPosition.Y, letter);

            currentLetter = letter;
            gridRenderer.currentLetter = currentLetter;

            if (now != null)
            {
                lastLetterUpdate = (float)now.ElapsedGameTime.TotalMilliseconds;
            }
            nextLetter = letterSet.GetRandomLetter();
            gridRenderer.nextLetter = nextLetter;
            gameplayState = NormalGameplayState.CurrentLetterActive;
        }
コード例 #7
0
ファイル: NormalGameplay.cs プロジェクト: Zikomo/Leximo
        public void Start()
        {
            levelManager.Start();
            Shorewood.gameplayTimer.Reset();
            Shorewood.gameplayTimer.Start();
            PredictiveTextAnalyzer.Start();
            letterSet.InjectedLetterList.Clear();
            nextLetter = letterSet.GetRandomLetter();
            ChangeCurrentLetterToRandom(null);
            Show();

            isStarted = true;
            ChangeVelocity(levelManager.Speed);
        }
コード例 #8
0
ファイル: NormalGameplay.cs プロジェクト: Zikomo/Leximo
        public void Reset(GameTime gameTime)
        {
            Shorewood.freeSpellMode.Hide();
            PredictiveTextAnalyzer.Stop();
            PredictiveTextAnalyzer.ClearSuggestedLetters();
            letterSet.Reset();
            Shorewood.levelManager.Reset();
            Shorewood.scoreBox.Reset();
            Shorewood.recentWords.Reset();
            Shorewood.gameplayTimer.Reset();
            Shorewood.goalRenderer.ForceUpdateOnce();

            gridRenderer.grid.ClearGrid();
            isGameOver = false;
            Shorewood.gameState = GameState.ResettingNormalGameplay;
            gameplayState = NormalGameplayState.GameOver;
            currentLetter = Letter.EmptyLetter;
            lastLetterUpdate = 0;
            Shorewood.Is1337Compliant = false;
        }