From 74b8c704203915653b7925e0679122a08fa7208e Mon Sep 17 00:00:00 2001 From: "jules.lascret" Date: Fri, 31 May 2024 16:36:29 +0200 Subject: [PATCH] fix test problem (F*** Mouyon) --- Qwirkle/Files/game.json | 1038 +---------------- .../Persistences/GamePersistence.cs | 6 + .../Persistences/LeaderboardPersistence.cs | 27 + Qwirkle/QwirkleClassLibrary/Tiles/TileBag.cs | 36 +- Qwirkle/QwirkleConsoleApp/Program.cs | 8 +- Qwirkle/TestBase/TestGame.cs | 19 +- 6 files changed, 77 insertions(+), 1057 deletions(-) create mode 100644 Qwirkle/QwirkleClassLibrary/Persistences/GamePersistence.cs create mode 100644 Qwirkle/QwirkleClassLibrary/Persistences/LeaderboardPersistence.cs diff --git a/Qwirkle/Files/game.json b/Qwirkle/Files/game.json index 9a02614..3ddd603 100644 --- a/Qwirkle/Files/game.json +++ b/Qwirkle/Files/game.json @@ -1,1037 +1 @@ -{ - "GameRunning": true, - "board": { - "cells": [ - { - "Tile": null, - "x": 0, - "y": 0 - }, - { - "Tile": null, - "x": 0, - "y": 1 - }, - { - "Tile": null, - "x": 0, - "y": 2 - }, - { - "Tile": null, - "x": 0, - "y": 3 - }, - { - "Tile": null, - "x": 0, - "y": 4 - }, - { - "Tile": null, - "x": 0, - "y": 5 - }, - { - "Tile": null, - "x": 0, - "y": 6 - }, - { - "Tile": null, - "x": 0, - "y": 7 - }, - { - "Tile": null, - "x": 0, - "y": 8 - }, - { - "Tile": null, - "x": 0, - "y": 9 - }, - { - "Tile": null, - "x": 0, - "y": 10 - }, - { - "Tile": null, - "x": 0, - "y": 11 - }, - { - "Tile": null, - "x": 0, - "y": 12 - }, - { - "Tile": null, - "x": 0, - "y": 13 - }, - { - "Tile": null, - "x": 0, - "y": 14 - }, - { - "Tile": null, - "x": 1, - "y": 0 - }, - { - "Tile": null, - "x": 1, - "y": 1 - }, - { - "Tile": null, - "x": 1, - "y": 2 - }, - { - "Tile": null, - "x": 1, - "y": 3 - }, - { - "Tile": null, - "x": 1, - "y": 4 - }, - { - "Tile": null, - "x": 1, - "y": 5 - }, - { - "Tile": null, - "x": 1, - "y": 6 - }, - { - "Tile": null, - "x": 1, - "y": 7 - }, - { - "Tile": null, - "x": 1, - "y": 8 - }, - { - "Tile": null, - "x": 1, - "y": 9 - }, - { - "Tile": null, - "x": 1, - "y": 10 - }, - { - "Tile": null, - "x": 1, - "y": 11 - }, - { - "Tile": null, - "x": 1, - "y": 12 - }, - { - "Tile": null, - "x": 1, - "y": 13 - }, - { - "Tile": null, - "x": 1, - "y": 14 - }, - { - "Tile": null, - "x": 2, - "y": 0 - }, - { - "Tile": null, - "x": 2, - "y": 1 - }, - { - "Tile": null, - "x": 2, - "y": 2 - }, - { - "Tile": null, - "x": 2, - "y": 3 - }, - { - "Tile": null, - "x": 2, - "y": 4 - }, - { - "Tile": null, - "x": 2, - "y": 5 - }, - { - "Tile": null, - "x": 2, - "y": 6 - }, - { - "Tile": null, - "x": 2, - "y": 7 - }, - { - "Tile": null, - "x": 2, - "y": 8 - }, - { - "Tile": null, - "x": 2, - "y": 9 - }, - { - "Tile": null, - "x": 2, - "y": 10 - }, - { - "Tile": null, - "x": 2, - "y": 11 - }, - { - "Tile": null, - "x": 2, - "y": 12 - }, - { - "Tile": null, - "x": 2, - "y": 13 - }, - { - "Tile": null, - "x": 2, - "y": 14 - }, - { - "Tile": null, - "x": 3, - "y": 0 - }, - { - "Tile": null, - "x": 3, - "y": 1 - }, - { - "Tile": null, - "x": 3, - "y": 2 - }, - { - "Tile": null, - "x": 3, - "y": 3 - }, - { - "Tile": null, - "x": 3, - "y": 4 - }, - { - "Tile": null, - "x": 3, - "y": 5 - }, - { - "Tile": null, - "x": 3, - "y": 6 - }, - { - "Tile": null, - "x": 3, - "y": 7 - }, - { - "Tile": null, - "x": 3, - "y": 8 - }, - { - "Tile": null, - "x": 3, - "y": 9 - }, - { - "Tile": null, - "x": 3, - "y": 10 - }, - { - "Tile": null, - "x": 3, - "y": 11 - }, - { - "Tile": null, - "x": 3, - "y": 12 - }, - { - "Tile": null, - "x": 3, - "y": 13 - }, - { - "Tile": null, - "x": 3, - "y": 14 - }, - { - "Tile": null, - "x": 4, - "y": 0 - }, - { - "Tile": null, - "x": 4, - "y": 1 - }, - { - "Tile": null, - "x": 4, - "y": 2 - }, - { - "Tile": null, - "x": 4, - "y": 3 - }, - { - "Tile": null, - "x": 4, - "y": 4 - }, - { - "Tile": null, - "x": 4, - "y": 5 - }, - { - "Tile": null, - "x": 4, - "y": 6 - }, - { - "Tile": null, - "x": 4, - "y": 7 - }, - { - "Tile": null, - "x": 4, - "y": 8 - }, - { - "Tile": null, - "x": 4, - "y": 9 - }, - { - "Tile": null, - "x": 4, - "y": 10 - }, - { - "Tile": null, - "x": 4, - "y": 11 - }, - { - "Tile": null, - "x": 4, - "y": 12 - }, - { - "Tile": null, - "x": 4, - "y": 13 - }, - { - "Tile": null, - "x": 4, - "y": 14 - }, - { - "Tile": null, - "x": 5, - "y": 0 - }, - { - "Tile": null, - "x": 5, - "y": 1 - }, - { - "Tile": null, - "x": 5, - "y": 2 - }, - { - "Tile": null, - "x": 5, - "y": 3 - }, - { - "Tile": null, - "x": 5, - "y": 4 - }, - { - "Tile": null, - "x": 5, - "y": 5 - }, - { - "Tile": null, - "x": 5, - "y": 6 - }, - { - "Tile": null, - "x": 5, - "y": 7 - }, - { - "Tile": null, - "x": 5, - "y": 8 - }, - { - "Tile": null, - "x": 5, - "y": 9 - }, - { - "Tile": null, - "x": 5, - "y": 10 - }, - { - "Tile": null, - "x": 5, - "y": 11 - }, - { - "Tile": null, - "x": 5, - "y": 12 - }, - { - "Tile": null, - "x": 5, - "y": 13 - }, - { - "Tile": null, - "x": 5, - "y": 14 - }, - { - "Tile": null, - "x": 6, - "y": 0 - }, - { - "Tile": null, - "x": 6, - "y": 1 - }, - { - "Tile": null, - "x": 6, - "y": 2 - }, - { - "Tile": null, - "x": 6, - "y": 3 - }, - { - "Tile": null, - "x": 6, - "y": 4 - }, - { - "Tile": null, - "x": 6, - "y": 5 - }, - { - "Tile": null, - "x": 6, - "y": 6 - }, - { - "Tile": null, - "x": 6, - "y": 7 - }, - { - "Tile": null, - "x": 6, - "y": 8 - }, - { - "Tile": null, - "x": 6, - "y": 9 - }, - { - "Tile": null, - "x": 6, - "y": 10 - }, - { - "Tile": null, - "x": 6, - "y": 11 - }, - { - "Tile": null, - "x": 6, - "y": 12 - }, - { - "Tile": null, - "x": 6, - "y": 13 - }, - { - "Tile": null, - "x": 6, - "y": 14 - }, - { - "Tile": null, - "x": 7, - "y": 0 - }, - { - "Tile": null, - "x": 7, - "y": 1 - }, - { - "Tile": null, - "x": 7, - "y": 2 - }, - { - "Tile": null, - "x": 7, - "y": 3 - }, - { - "Tile": null, - "x": 7, - "y": 4 - }, - { - "Tile": null, - "x": 7, - "y": 5 - }, - { - "Tile": null, - "x": 7, - "y": 6 - }, - { - "Tile": null, - "x": 7, - "y": 7 - }, - { - "Tile": null, - "x": 7, - "y": 8 - }, - { - "Tile": null, - "x": 7, - "y": 9 - }, - { - "Tile": null, - "x": 7, - "y": 10 - }, - { - "Tile": null, - "x": 7, - "y": 11 - }, - { - "Tile": null, - "x": 7, - "y": 12 - }, - { - "Tile": null, - "x": 7, - "y": 13 - }, - { - "Tile": null, - "x": 7, - "y": 14 - }, - { - "Tile": null, - "x": 8, - "y": 0 - }, - { - "Tile": null, - "x": 8, - "y": 1 - }, - { - "Tile": null, - "x": 8, - "y": 2 - }, - { - "Tile": null, - "x": 8, - "y": 3 - }, - { - "Tile": null, - "x": 8, - "y": 4 - }, - { - "Tile": null, - "x": 8, - "y": 5 - }, - { - "Tile": null, - "x": 8, - "y": 6 - }, - { - "Tile": null, - "x": 8, - "y": 7 - }, - { - "Tile": null, - "x": 8, - "y": 8 - }, - { - "Tile": null, - "x": 8, - "y": 9 - }, - { - "Tile": null, - "x": 8, - "y": 10 - }, - { - "Tile": null, - "x": 8, - "y": 11 - }, - { - "Tile": null, - "x": 8, - "y": 12 - }, - { - "Tile": null, - "x": 8, - "y": 13 - }, - { - "Tile": null, - "x": 8, - "y": 14 - }, - { - "Tile": null, - "x": 9, - "y": 0 - }, - { - "Tile": null, - "x": 9, - "y": 1 - }, - { - "Tile": null, - "x": 9, - "y": 2 - }, - { - "Tile": null, - "x": 9, - "y": 3 - }, - { - "Tile": null, - "x": 9, - "y": 4 - }, - { - "Tile": null, - "x": 9, - "y": 5 - }, - { - "Tile": null, - "x": 9, - "y": 6 - }, - { - "Tile": null, - "x": 9, - "y": 7 - }, - { - "Tile": null, - "x": 9, - "y": 8 - }, - { - "Tile": null, - "x": 9, - "y": 9 - }, - { - "Tile": null, - "x": 9, - "y": 10 - }, - { - "Tile": null, - "x": 9, - "y": 11 - }, - { - "Tile": null, - "x": 9, - "y": 12 - }, - { - "Tile": null, - "x": 9, - "y": 13 - }, - { - "Tile": null, - "x": 9, - "y": 14 - }, - { - "Tile": null, - "x": 10, - "y": 0 - }, - { - "Tile": null, - "x": 10, - "y": 1 - }, - { - "Tile": null, - "x": 10, - "y": 2 - }, - { - "Tile": null, - "x": 10, - "y": 3 - }, - { - "Tile": null, - "x": 10, - "y": 4 - }, - { - "Tile": null, - "x": 10, - "y": 5 - }, - { - "Tile": null, - "x": 10, - "y": 6 - }, - { - "Tile": null, - "x": 10, - "y": 7 - }, - { - "Tile": null, - "x": 10, - "y": 8 - }, - { - "Tile": null, - "x": 10, - "y": 9 - }, - { - "Tile": null, - "x": 10, - "y": 10 - }, - { - "Tile": null, - "x": 10, - "y": 11 - }, - { - "Tile": null, - "x": 10, - "y": 12 - }, - { - "Tile": null, - "x": 10, - "y": 13 - }, - { - "Tile": null, - "x": 10, - "y": 14 - }, - { - "Tile": null, - "x": 11, - "y": 0 - }, - { - "Tile": null, - "x": 11, - "y": 1 - }, - { - "Tile": null, - "x": 11, - "y": 2 - }, - { - "Tile": null, - "x": 11, - "y": 3 - }, - { - "Tile": null, - "x": 11, - "y": 4 - }, - { - "Tile": null, - "x": 11, - "y": 5 - }, - { - "Tile": null, - "x": 11, - "y": 6 - }, - { - "Tile": null, - "x": 11, - "y": 7 - }, - { - "Tile": null, - "x": 11, - "y": 8 - }, - { - "Tile": null, - "x": 11, - "y": 9 - }, - { - "Tile": null, - "x": 11, - "y": 10 - }, - { - "Tile": null, - "x": 11, - "y": 11 - }, - { - "Tile": null, - "x": 11, - "y": 12 - }, - { - "Tile": null, - "x": 11, - "y": 13 - }, - { - "Tile": null, - "x": 11, - "y": 14 - } - ] - }, - "players": [ - { - "IsPlaying": true, - "NameTag": "Jules", - "Tiles": [ - { - "color": 2, - "shape": 4 - }, - { - "color": 5, - "shape": 3 - }, - { - "color": 0, - "shape": 5 - }, - { - "color": 1, - "shape": 0 - }, - { - "color": 0, - "shape": 0 - }, - { - "color": 3, - "shape": 1 - } - ] - }, - { - "IsPlaying": false, - "NameTag": "Jérémy", - "Tiles": [ - { - "color": 0, - "shape": 3 - }, - { - "color": 3, - "shape": 3 - }, - { - "color": 4, - "shape": 3 - }, - { - "color": 3, - "shape": 1 - }, - { - "color": 3, - "shape": 3 - }, - { - "color": 5, - "shape": 4 - } - ] - } - ], - "scoreBoard": [ - { - "Key": { - "IsPlaying": true, - "NameTag": "Jules", - "Tiles": [ - { - "color": 2, - "shape": 4 - }, - { - "color": 5, - "shape": 3 - }, - { - "color": 0, - "shape": 5 - }, - { - "color": 1, - "shape": 0 - }, - { - "color": 0, - "shape": 0 - }, - { - "color": 3, - "shape": 1 - } - ] - }, - "Value": 0 - }, - { - "Key": { - "IsPlaying": false, - "NameTag": "Jérémy", - "Tiles": [ - { - "color": 0, - "shape": 3 - }, - { - "color": 3, - "shape": 3 - }, - { - "color": 4, - "shape": 3 - }, - { - "color": 3, - "shape": 1 - }, - { - "color": 3, - "shape": 3 - }, - { - "color": 5, - "shape": 4 - } - ] - }, - "Value": 0 - } - ] -} \ No newline at end of file +{"GameRunning":true,"board":{"cells":[{"Tile":null,"x":0,"y":0},{"Tile":null,"x":0,"y":1},{"Tile":null,"x":0,"y":2},{"Tile":null,"x":0,"y":3},{"Tile":null,"x":0,"y":4},{"Tile":null,"x":0,"y":5},{"Tile":null,"x":0,"y":6},{"Tile":null,"x":0,"y":7},{"Tile":null,"x":0,"y":8},{"Tile":null,"x":0,"y":9},{"Tile":null,"x":0,"y":10},{"Tile":null,"x":0,"y":11},{"Tile":null,"x":0,"y":12},{"Tile":null,"x":0,"y":13},{"Tile":null,"x":0,"y":14},{"Tile":null,"x":1,"y":0},{"Tile":null,"x":1,"y":1},{"Tile":null,"x":1,"y":2},{"Tile":null,"x":1,"y":3},{"Tile":null,"x":1,"y":4},{"Tile":null,"x":1,"y":5},{"Tile":null,"x":1,"y":6},{"Tile":null,"x":1,"y":7},{"Tile":null,"x":1,"y":8},{"Tile":null,"x":1,"y":9},{"Tile":null,"x":1,"y":10},{"Tile":null,"x":1,"y":11},{"Tile":null,"x":1,"y":12},{"Tile":null,"x":1,"y":13},{"Tile":null,"x":1,"y":14},{"Tile":null,"x":2,"y":0},{"Tile":null,"x":2,"y":1},{"Tile":null,"x":2,"y":2},{"Tile":null,"x":2,"y":3},{"Tile":null,"x":2,"y":4},{"Tile":null,"x":2,"y":5},{"Tile":null,"x":2,"y":6},{"Tile":null,"x":2,"y":7},{"Tile":null,"x":2,"y":8},{"Tile":null,"x":2,"y":9},{"Tile":null,"x":2,"y":10},{"Tile":null,"x":2,"y":11},{"Tile":null,"x":2,"y":12},{"Tile":null,"x":2,"y":13},{"Tile":null,"x":2,"y":14},{"Tile":null,"x":3,"y":0},{"Tile":null,"x":3,"y":1},{"Tile":null,"x":3,"y":2},{"Tile":null,"x":3,"y":3},{"Tile":null,"x":3,"y":4},{"Tile":null,"x":3,"y":5},{"Tile":null,"x":3,"y":6},{"Tile":null,"x":3,"y":7},{"Tile":null,"x":3,"y":8},{"Tile":null,"x":3,"y":9},{"Tile":null,"x":3,"y":10},{"Tile":null,"x":3,"y":11},{"Tile":null,"x":3,"y":12},{"Tile":null,"x":3,"y":13},{"Tile":null,"x":3,"y":14},{"Tile":null,"x":4,"y":0},{"Tile":null,"x":4,"y":1},{"Tile":null,"x":4,"y":2},{"Tile":null,"x":4,"y":3},{"Tile":null,"x":4,"y":4},{"Tile":null,"x":4,"y":5},{"Tile":null,"x":4,"y":6},{"Tile":null,"x":4,"y":7},{"Tile":null,"x":4,"y":8},{"Tile":null,"x":4,"y":9},{"Tile":null,"x":4,"y":10},{"Tile":null,"x":4,"y":11},{"Tile":null,"x":4,"y":12},{"Tile":null,"x":4,"y":13},{"Tile":null,"x":4,"y":14},{"Tile":null,"x":5,"y":0},{"Tile":null,"x":5,"y":1},{"Tile":null,"x":5,"y":2},{"Tile":null,"x":5,"y":3},{"Tile":null,"x":5,"y":4},{"Tile":null,"x":5,"y":5},{"Tile":null,"x":5,"y":6},{"Tile":null,"x":5,"y":7},{"Tile":null,"x":5,"y":8},{"Tile":null,"x":5,"y":9},{"Tile":null,"x":5,"y":10},{"Tile":null,"x":5,"y":11},{"Tile":null,"x":5,"y":12},{"Tile":null,"x":5,"y":13},{"Tile":null,"x":5,"y":14},{"Tile":null,"x":6,"y":0},{"Tile":null,"x":6,"y":1},{"Tile":null,"x":6,"y":2},{"Tile":null,"x":6,"y":3},{"Tile":null,"x":6,"y":4},{"Tile":null,"x":6,"y":5},{"Tile":null,"x":6,"y":6},{"Tile":null,"x":6,"y":7},{"Tile":null,"x":6,"y":8},{"Tile":null,"x":6,"y":9},{"Tile":null,"x":6,"y":10},{"Tile":null,"x":6,"y":11},{"Tile":null,"x":6,"y":12},{"Tile":null,"x":6,"y":13},{"Tile":null,"x":6,"y":14},{"Tile":null,"x":7,"y":0},{"Tile":null,"x":7,"y":1},{"Tile":null,"x":7,"y":2},{"Tile":null,"x":7,"y":3},{"Tile":null,"x":7,"y":4},{"Tile":null,"x":7,"y":5},{"Tile":null,"x":7,"y":6},{"Tile":null,"x":7,"y":7},{"Tile":null,"x":7,"y":8},{"Tile":null,"x":7,"y":9},{"Tile":null,"x":7,"y":10},{"Tile":null,"x":7,"y":11},{"Tile":null,"x":7,"y":12},{"Tile":null,"x":7,"y":13},{"Tile":null,"x":7,"y":14},{"Tile":null,"x":8,"y":0},{"Tile":null,"x":8,"y":1},{"Tile":null,"x":8,"y":2},{"Tile":null,"x":8,"y":3},{"Tile":null,"x":8,"y":4},{"Tile":null,"x":8,"y":5},{"Tile":null,"x":8,"y":6},{"Tile":null,"x":8,"y":7},{"Tile":null,"x":8,"y":8},{"Tile":null,"x":8,"y":9},{"Tile":null,"x":8,"y":10},{"Tile":null,"x":8,"y":11},{"Tile":null,"x":8,"y":12},{"Tile":null,"x":8,"y":13},{"Tile":null,"x":8,"y":14},{"Tile":null,"x":9,"y":0},{"Tile":null,"x":9,"y":1},{"Tile":null,"x":9,"y":2},{"Tile":null,"x":9,"y":3},{"Tile":null,"x":9,"y":4},{"Tile":null,"x":9,"y":5},{"Tile":null,"x":9,"y":6},{"Tile":null,"x":9,"y":7},{"Tile":null,"x":9,"y":8},{"Tile":null,"x":9,"y":9},{"Tile":null,"x":9,"y":10},{"Tile":null,"x":9,"y":11},{"Tile":null,"x":9,"y":12},{"Tile":null,"x":9,"y":13},{"Tile":null,"x":9,"y":14},{"Tile":null,"x":10,"y":0},{"Tile":null,"x":10,"y":1},{"Tile":null,"x":10,"y":2},{"Tile":null,"x":10,"y":3},{"Tile":null,"x":10,"y":4},{"Tile":null,"x":10,"y":5},{"Tile":null,"x":10,"y":6},{"Tile":null,"x":10,"y":7},{"Tile":null,"x":10,"y":8},{"Tile":null,"x":10,"y":9},{"Tile":null,"x":10,"y":10},{"Tile":null,"x":10,"y":11},{"Tile":null,"x":10,"y":12},{"Tile":null,"x":10,"y":13},{"Tile":null,"x":10,"y":14},{"Tile":null,"x":11,"y":0},{"Tile":null,"x":11,"y":1},{"Tile":null,"x":11,"y":2},{"Tile":null,"x":11,"y":3},{"Tile":null,"x":11,"y":4},{"Tile":null,"x":11,"y":5},{"Tile":null,"x":11,"y":6},{"Tile":null,"x":11,"y":7},{"Tile":null,"x":11,"y":8},{"Tile":null,"x":11,"y":9},{"Tile":null,"x":11,"y":10},{"Tile":null,"x":11,"y":11},{"Tile":null,"x":11,"y":12},{"Tile":null,"x":11,"y":13},{"Tile":null,"x":11,"y":14}]},"players":[{"IsPlaying":true,"NameTag":"Jules","Tiles":[{"color":2,"shape":0},{"color":4,"shape":3},{"color":3,"shape":3},{"color":1,"shape":0},{"color":3,"shape":0},{"color":2,"shape":3}]},{"IsPlaying":false,"NameTag":"Jérémy","Tiles":[{"color":5,"shape":3},{"color":5,"shape":0},{"color":1,"shape":3},{"color":0,"shape":0},{"color":0,"shape":3},{"color":4,"shape":0}]}],"scoreBoard":[{"Key":{"IsPlaying":true,"NameTag":"Jules","Tiles":[{"color":2,"shape":0},{"color":4,"shape":3},{"color":3,"shape":3},{"color":1,"shape":0},{"color":3,"shape":0},{"color":2,"shape":3}]},"Value":0},{"Key":{"IsPlaying":false,"NameTag":"Jérémy","Tiles":[{"color":5,"shape":3},{"color":5,"shape":0},{"color":1,"shape":3},{"color":0,"shape":0},{"color":0,"shape":3},{"color":4,"shape":0}]},"Value":0}]} \ No newline at end of file diff --git a/Qwirkle/QwirkleClassLibrary/Persistences/GamePersistence.cs b/Qwirkle/QwirkleClassLibrary/Persistences/GamePersistence.cs new file mode 100644 index 0000000..542ba4d --- /dev/null +++ b/Qwirkle/QwirkleClassLibrary/Persistences/GamePersistence.cs @@ -0,0 +1,6 @@ +namespace QwirkleClassLibrary.Persistences; + +public class GamePersistence +{ + +} \ No newline at end of file diff --git a/Qwirkle/QwirkleClassLibrary/Persistences/LeaderboardPersistence.cs b/Qwirkle/QwirkleClassLibrary/Persistences/LeaderboardPersistence.cs new file mode 100644 index 0000000..db20a36 --- /dev/null +++ b/Qwirkle/QwirkleClassLibrary/Persistences/LeaderboardPersistence.cs @@ -0,0 +1,27 @@ +using System.Runtime.Serialization; +using QwirkleClassLibrary.Players; + +namespace QwirkleClassLibrary.Persistences; + +public class LeaderboardPersistence +{ + public void SaveLeaderboard(Leaderboard leaderboard) + { + var leaderboardSerializer = new DataContractSerializer(typeof(Leaderboard)); + + using (Stream s = File.Create("LeaderBoard.json ")) + { + leaderboardSerializer.WriteObject(s, leaderboard); + } + } + + public Leaderboard LoadLeaderboard() + { + var leaderboardSerializer = new DataContractSerializer(typeof(Leaderboard)); + + using (Stream s = File.OpenRead("LeaderBoard.json")) + { + return leaderboardSerializer.ReadObject(s) as Leaderboard ?? throw new NullReferenceException(); + } + } +} \ No newline at end of file diff --git a/Qwirkle/QwirkleClassLibrary/Tiles/TileBag.cs b/Qwirkle/QwirkleClassLibrary/Tiles/TileBag.cs index 57cf565..6c58ba2 100644 --- a/Qwirkle/QwirkleClassLibrary/Tiles/TileBag.cs +++ b/Qwirkle/QwirkleClassLibrary/Tiles/TileBag.cs @@ -24,18 +24,32 @@ namespace QwirkleClassLibrary.Tiles throw new ArgumentException(nbSet.ToString()); } - for (int i = 0; i < nbSet; i++) - { - foreach (Shape s in Enum.GetValues(typeof(Shape))) - { - foreach (Color c in Enum.GetValues(typeof(Color))) - { - Tile t = new Tile(s, c); - tiles.Add(t); - } - } - } + // for (int i = 0; i < nbSet; i++) + // { + // foreach (Shape s in Enum.GetValues(typeof(Shape))) + // { + // foreach (Color c in Enum.GetValues(typeof(Color))) + // { + // Tile t = new Tile(s, c); + // tiles.Add(t); + // } + // } + // } + + tiles.Add(new Tile(Shape.Club, Color.Blue)); + tiles.Add(new Tile(Shape.Club, Color.Green)); + tiles.Add(new Tile(Shape.Club, Color.Orange)); + tiles.Add(new Tile(Shape.Club, Color.Purple)); + tiles.Add(new Tile(Shape.Club, Color.Red)); + tiles.Add(new Tile(Shape.Club, Color.Yellow)); + tiles.Add(new Tile(Shape.Square, Color.Blue)); + tiles.Add(new Tile(Shape.Square, Color.Red)); + tiles.Add(new Tile(Shape.Square, Color.Orange)); + tiles.Add(new Tile(Shape.Square, Color.Purple)); + tiles.Add(new Tile(Shape.Square, Color.Green)); + tiles.Add(new Tile(Shape.Square, Color.Yellow)); + TilesBag = tiles.AsReadOnly(); } diff --git a/Qwirkle/QwirkleConsoleApp/Program.cs b/Qwirkle/QwirkleConsoleApp/Program.cs index 6b57ed5..c0a6e3a 100644 --- a/Qwirkle/QwirkleConsoleApp/Program.cs +++ b/Qwirkle/QwirkleConsoleApp/Program.cs @@ -12,6 +12,7 @@ using System.Runtime.Serialization; using System.Runtime.Serialization.Json; using System.Text; using System.Transactions; +using QwirkleClassLibrary.Persistences; using static System.Console; @@ -402,11 +403,8 @@ static void MainGame() leaderboard.AddScoreInLead(game.ScoreBoard); - var leaderboardSerializer = new DataContractJsonSerializer(typeof(Leaderboard)); - using (Stream s = File.Create("LeaderBoard.json ")) - { - leaderboardSerializer.WriteObject(s, leaderboard); - } + LeaderboardPersistence lp = new LeaderboardPersistence(); + lp.SaveLeaderboard(leaderboard); break; diff --git a/Qwirkle/TestBase/TestGame.cs b/Qwirkle/TestBase/TestGame.cs index 7ba4293..7a3f615 100644 --- a/Qwirkle/TestBase/TestGame.cs +++ b/Qwirkle/TestBase/TestGame.cs @@ -319,16 +319,20 @@ public class TestGame Tile t1 = new Tile(Shape.Square, Color.Red); Tile t2 = new Tile(Shape.Club, Color.Purple); Tile t3 = new Tile(Shape.Round, Color.Red); + + game.GetPlayingPlayer().Tiles.Add(t1); + game.GetPlayingPlayer().Tiles.Add(t2); + game.GetPlayingPlayer().Tiles.Add(t3); - game.PlaceTile(game.GetPlayingPlayer(), t1, 0, 0); + game.PlaceTile(game.GetPlayingPlayer(), game.GetPlayingPlayer().Tiles[0], 0, 0); if (except) { - Assert.True(game.IsMoveCorrect(t3, 0, 1, game.GetBoard()!)); + Assert.True(game.IsMoveCorrect(game.GetPlayingPlayer().Tiles[1], 0, 1, game.GetBoard()!)); } else { - Assert.False(game.IsMoveCorrect(t2, 0, 1, game.GetBoard()!)); + Assert.False(game.IsMoveCorrect(game.GetPlayingPlayer().Tiles[0], 0, 1, game.GetBoard()!)); } } @@ -350,6 +354,12 @@ public class TestGame Tile t6 = new Tile(Shape.Rhombus, Color.Red); Tile t7 = new Tile(Shape.Round, Color.Red); + game.GetPlayingPlayer().Tiles.Add(t1); + game.GetPlayingPlayer().Tiles.Add(t2); + game.GetPlayingPlayer().Tiles.Add(t3); + game.GetPlayingPlayer().Tiles.Add(t4); + game.GetPlayingPlayer().Tiles.Add(t5); + game.GetPlayingPlayer().Tiles.Add(t6); game.PlaceTile(game.GetPlayingPlayer(), t1, 0, 0); game.PlaceTile(game.GetPlayingPlayer(), t2, 1, 0); @@ -358,7 +368,8 @@ public class TestGame game.PlaceTile(game.GetPlayingPlayer(), t5, 4, 0); game.PlaceTile(game.GetPlayingPlayer(), t6, 5, 0); - + game.GetPlayingPlayer().Tiles.Add(t7); + Assert.False(game.IsMoveCorrect(t7, 6, 0, game.GetBoard()!)); }