public void GameShouldPlay(int players, int lastMarble, ulong expectedScore) { var game = new MarbleGame(players, lastMarble); game.Play(); Assert.Equal(expectedScore, game.LeadingPlayer.score); }
public void Part1() { var game = new MarbleGame(_players, _lastMarble); game.Play(); Assert.Equal((ulong)404611, game.LeadingPlayer.score); }
public void Part2() { var game = new MarbleGame(_players, _lastMarble * 100); game.Play(); Assert.Equal((ulong)3350093681, game.LeadingPlayer.score); }
public void Puzzle1Examples_FindsCorrectMaxScore(int playerCount, int maxMarbleValue, ulong expectedMaxScore) { var game = new MarbleGame(playerCount, maxMarbleValue); game.Play(); game.Players.Max(x => x.Score).Should().Be(expectedMaxScore); }
public void Puzzle2_FindMaxScoreWith100xTheMaxMarbleValue() { var game = new MarbleGame(Input.Day09.Players, Input.Day09.LastMarble * 100); game.Play(); game.Players.Max(x => x.Score).Should().Be(3243916887); }
public void Puzzle1_FindMaxScore() { var game = new MarbleGame(Input.Day09.Players, Input.Day09.LastMarble); game.Play(); game.Players.Max(x => x.Score).Should().Be(404502); }
public void PlayGame__Test3() { MarbleGame marbleGame = new MarbleGame(); marbleGame.PlayGame(13, 7999); long highScore = marbleGame.GetHighScore(); Assert.AreEqual(146373, highScore); }
public void PlayGame__Test4() { MarbleGame marbleGame = new MarbleGame(); marbleGame.PlayGame(17, 1104); long highScore = marbleGame.GetHighScore(); Assert.AreEqual(2764, highScore); }
public void PlayGame__Test5() { MarbleGame marbleGame = new MarbleGame(); marbleGame.PlayGame(21, 6111); long highScore = marbleGame.GetHighScore(); Assert.AreEqual(54718, highScore); }
public void PlayGame__Test6() { MarbleGame marbleGame = new MarbleGame(); marbleGame.PlayGame(30, 5807); long highScore = marbleGame.GetHighScore(); Assert.AreEqual(37305, highScore); }
public void PlayGame__Test1() { MarbleGame marbleGame = new MarbleGame(); marbleGame.PlayGame(9, 25); long highScore = marbleGame.GetHighScore(); Assert.AreEqual(32, highScore); }
public void PlayGame__Test2() { MarbleGame marbleGame = new MarbleGame(); marbleGame.PlayGame(10, 1618); long highScore = marbleGame.GetHighScore(); Assert.AreEqual(8317, highScore); }
public static void SolvePartOne() { var marbleGame = new MarbleGame(424, 71482); while (!marbleGame.IsGameFinished) { marbleGame.AddNextMarble(); } marbleGame.GetPlayerWithHighestScore().WriteLine("Day 9, Part One: "); }
public void Puzzle1Example_FindsCorrectPlayerAndTopScore() { const int players = 9; const int maxMarbleValue = 25; var game = new MarbleGame(players, maxMarbleValue); game.Play(); game.Current.Value.Should().Be(25); var maxPlayer = game.Players.MaxBy(x => x.Score).Single(); maxPlayer.Id.Should().Be(5); maxPlayer.Score.Should().Be(32); }
public void Puzzle1Example_StepsCorrectly() { const int players = 9; const int maxMarbleValue = 25; var game = new MarbleGame(players, maxMarbleValue); game.Players.Should().HaveCount(9).And.BeInAscendingOrder(x => x.Id); game.Players.First().Id.Should().Be(1); Output.WriteLine($"\n[-] {game}"); foreach (var player in game.Players) { game.Play(player); Output.WriteLine($"[{player.Id}] {game}"); } game.Current.Value.Should().Be(9); }
public void PlayTest() { // the size of the board (2 ≤ N ≤ 40) byte N = 4; // the number of marbles (M > 0) byte M = 3; // the number of walls byte W = 1; // locations of the marbles Marble[] marbles = new Marble[] { new Marble(1, 0, 1), new Marble(2, 1, 0), new Marble(3, 1, 2) }; // locations of the holes Hole[] holes = new Hole[] { new Hole(1, 2, 3), new Hole(2, 2, 1), new Hole(3, 3, 2) }; WallLocation[] walls = new WallLocation[] { new WallLocation(new Location(1, 1), new Location(1, 2)) }; MarbleGame game = new MarbleGame(); var result = game.Play(N, walls, holes, marbles); Assert.Fail(); }
private void ReadInput() { marbleGame = new MarbleGame(438, 7162600); }
public static long Puzzle1(int numPlayers, int lastMarble) { var mg = new MarbleGame(numPlayers); return(mg.PlayGame(lastMarble)); }
public override void Run(string part) { Console.WriteLine(MarbleGame.CalculateHighScore(9, 25)); Console.WriteLine(MarbleGame.CalculateHighScore(21, 6111)); Console.WriteLine(MarbleGame.CalculateHighScore(448, 7162800)); }