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++; }
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; }
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; } }
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; } }
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); }
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; }
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); }
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; }