Slight persistence fix + fixed Leaderboard behavior
continuous-integration/drone/push Build is failing Details

test_old_branch
Jules LASCRET 11 months ago
parent 6501139f45
commit b91feee7a2

File diff suppressed because one or more lines are too long

@ -1 +1,16 @@
{"leaderboard":[]} {
"leaderboard": [
{
"Date": "\/Date(1717432093871+0200)\/",
"PlayerName": "Jérémy",
"Points": 30,
"Victories": 2
},
{
"Date": "\/Date(1717432093871+0200)\/",
"PlayerName": "Jules",
"Points": 4,
"Victories": 0
}
]
}

@ -41,7 +41,7 @@ namespace QwirkleClassLibrary.Players
/// <param name="scoreBoard"></param> /// <param name="scoreBoard"></param>
public void AddScoreInLead(ReadOnlyDictionary<Player, int> scoreBoard) public void AddScoreInLead(ReadOnlyDictionary<Player, int> scoreBoard)
{ {
DateTime now = DateTime.Today; DateTime now = DateTime.Now;
bool first = true; bool first = true;
var sb = scoreBoard.OrderByDescending(x => x.Value).ThenBy(x => x.Key.NameTag); var sb = scoreBoard.OrderByDescending(x => x.Value).ThenBy(x => x.Key.NameTag);
@ -59,7 +59,10 @@ namespace QwirkleClassLibrary.Players
leaderboard[i].Victories++; leaderboard[i].Victories++;
} }
if (pair.Value > leaderboard[i].Points)
{
leaderboard[i].Points = pair.Value; leaderboard[i].Points = pair.Value;
}
} }
else else

@ -29,17 +29,31 @@ namespace QwirkleClassLibrary.Tiles
throw new ArgumentException(nbSet.ToString()); throw new ArgumentException(nbSet.ToString());
} }
for (int i = 0; i < nbSet; i++) // for (int i = 0; i < nbSet; i++)
{ // {
foreach (Shape s in Enum.GetValues(typeof(Shape))) // foreach (Shape s in Enum.GetValues(typeof(Shape)))
{ // {
foreach (Color c in Enum.GetValues(typeof(Color))) // foreach (Color c in Enum.GetValues(typeof(Color)))
{ // {
Tile t = new Tile(s, c); // Tile t = new Tile(s, c);
tiles.Add(t); // tiles.Add(t);
} // }
} // }
} // }
tiles.Add(new Tile(Shape.Round, Color.Red));
tiles.Add(new Tile(Shape.Round, Color.Orange));
tiles.Add(new Tile(Shape.Round, Color.Yellow));
tiles.Add(new Tile(Shape.Round, Color.Green));
tiles.Add(new Tile(Shape.Round, Color.Blue));
tiles.Add(new Tile(Shape.Round, Color.Purple));
tiles.Add(new Tile(Shape.Square, Color.Red));
tiles.Add(new Tile(Shape.Square, Color.Orange));
tiles.Add(new Tile(Shape.Square, Color.Yellow));
tiles.Add(new Tile(Shape.Square, Color.Green));
tiles.Add(new Tile(Shape.Square, Color.Blue));
tiles.Add(new Tile(Shape.Square, Color.Purple));
Init(); Init();
} }

@ -398,12 +398,10 @@ static void MainGame()
game.StartGame(); game.StartGame();
MainMenu(game); MainMenu(game);
foreach (var player in game.PlayerList) if (!game.GameRunning)
{
if (game.CheckGameOver(player))
{ {
leaderboard.AddScoreInLead(game.ScoreBoard); leaderboard.AddScoreInLead(game.ScoreBoard);
} break;
} }
ILeaderboardPersistence leaderboardSave = new LeaderboardPersistenceJson(); ILeaderboardPersistence leaderboardSave = new LeaderboardPersistenceJson();
@ -422,8 +420,8 @@ static void MainGame()
} }
catch catch
{ {
ForegroundColor = ConsoleColor.Red; ForegroundColor = ConsoleColor.Yellow;
WriteLine("ERROR : No game saved ! Creating a new game !"); WriteLine("WARNING : No game saved ! Creating a new game !");
ResetColor(); ResetColor();
loadedGame = new Game(); loadedGame = new Game();
} }
@ -437,16 +435,28 @@ static void MainGame()
} }
else else
{ {
loadedGame = new Game();
ForegroundColor = ConsoleColor.Yellow;
WriteLine("WARNING : The previous saved game was over ! Creating a new game !");
ResetColor();
AddPlayers(loadedGame); AddPlayers(loadedGame);
loadedGame.StartGame(); loadedGame.StartGame();
MainMenu(loadedGame); MainMenu(loadedGame);
} }
if (!loadedGame.GameRunning)
{
leaderboard.AddScoreInLead(loadedGame.ScoreBoard); leaderboard.AddScoreInLead(loadedGame.ScoreBoard);
}
ILeaderboardPersistence leaderboardSave2 = new LeaderboardPersistenceJson();
leaderboardSave2.SaveLeaderboard(leaderboard);
break; break;
case 3: case 3:
ILeaderboardPersistence leaderboardLoad2 = new LeaderboardPersistenceJson();
leaderboard = leaderboardLoad2.LoadLeaderboard();
ShowLeaderboard(leaderboard); ShowLeaderboard(leaderboard);
break; break;

Loading…
Cancel
Save