From 9d9606b960d156609c3d5f8acb9ce2217be475c7 Mon Sep 17 00:00:00 2001 From: Emre KARTAL Date: Thu, 2 Mar 2023 11:45:06 +0100 Subject: [PATCH 1/2] Add test GameDetail and ManagerStub create :white_check_mark: --- .../lib/model/IGameManager.dart | 2 + .../lib/model/StubManager/AuthManager.dart | 9 +++++ .../lib/model/StubManager/GameManager.dart | 26 +++++++++++++ .../lib/model/StubManager/StubData.dart | 7 ++++ .../lib/model/StubManager/UserManager.dart | 15 ++++++++ Sources/bowlin_project/test/model_test.dart | 37 +++++++++++++++++++ 6 files changed, 96 insertions(+) create mode 100644 Sources/bowlin_project/lib/model/StubManager/AuthManager.dart create mode 100644 Sources/bowlin_project/lib/model/StubManager/GameManager.dart create mode 100644 Sources/bowlin_project/lib/model/StubManager/StubData.dart create mode 100644 Sources/bowlin_project/lib/model/StubManager/UserManager.dart diff --git a/Sources/bowlin_project/lib/model/IGameManager.dart b/Sources/bowlin_project/lib/model/IGameManager.dart index 2254d75..8ef3748 100644 --- a/Sources/bowlin_project/lib/model/IGameManager.dart +++ b/Sources/bowlin_project/lib/model/IGameManager.dart @@ -9,4 +9,6 @@ abstract class IGameManager { List getGamesByPlayerId(Uuid id); List getGamesByPlayer(Player user); List getGamesByPlayers(List users); + List getPlayersByIdGame(Uuid id); + Map getRankByIdGame(Uuid id); } diff --git a/Sources/bowlin_project/lib/model/StubManager/AuthManager.dart b/Sources/bowlin_project/lib/model/StubManager/AuthManager.dart new file mode 100644 index 0000000..9391335 --- /dev/null +++ b/Sources/bowlin_project/lib/model/StubManager/AuthManager.dart @@ -0,0 +1,9 @@ +library StubLib; +import '../IAuthManager.dart'; + +class AuthManager extends IAuthManager { + // Methods + bool verifiedUser(String name, String password) { + + } +} \ No newline at end of file diff --git a/Sources/bowlin_project/lib/model/StubManager/GameManager.dart b/Sources/bowlin_project/lib/model/StubManager/GameManager.dart new file mode 100644 index 0000000..f687d90 --- /dev/null +++ b/Sources/bowlin_project/lib/model/StubManager/GameManager.dart @@ -0,0 +1,26 @@ +library StubLib; +import '../IGameManager.dart'; + +class GameManager extends IGameManager { + List games = []; + + // Methods + GameDetail getGameById(Uuid id) { + + } + List getGamesByPlayerId(Uuid id) { + + } + List getGamesByPlayer(Player user) { + + } + List getGamesByPlayers(List users) { + + } + List getPlayersByIdGame(Uuid id) { + + } + Map getRankByIdGame(Uuid id) { + + } +} \ No newline at end of file diff --git a/Sources/bowlin_project/lib/model/StubManager/StubData.dart b/Sources/bowlin_project/lib/model/StubManager/StubData.dart new file mode 100644 index 0000000..39808e5 --- /dev/null +++ b/Sources/bowlin_project/lib/model/StubManager/StubData.dart @@ -0,0 +1,7 @@ +library StubLib; +import '../IManager.dart'; + +class StubData extends IManager { + IUserManager _userMgr = new UserManager(); + IGameManager _gameMgr = new GameManger(); +} \ No newline at end of file diff --git a/Sources/bowlin_project/lib/model/StubManager/UserManager.dart b/Sources/bowlin_project/lib/model/StubManager/UserManager.dart new file mode 100644 index 0000000..163ef91 --- /dev/null +++ b/Sources/bowlin_project/lib/model/StubManager/UserManager.dart @@ -0,0 +1,15 @@ +library StubLib; +import '../IUserManager.dart'; + +class UserManager extends IUserManager { + IAuthManager _authMgr = new AuthManager(); + + // Methods + IAuthManager get authMgr => _authMgr; + List getUsersByName(String name) { + + } + User getUserById(Uuid id) { + + } +} \ No newline at end of file diff --git a/Sources/bowlin_project/test/model_test.dart b/Sources/bowlin_project/test/model_test.dart index 077a02b..0aa84b1 100644 --- a/Sources/bowlin_project/test/model_test.dart +++ b/Sources/bowlin_project/test/model_test.dart @@ -75,9 +75,46 @@ void main() { print("\tID: ${player.id}, Nom: ${player.name}, Image: ${player.image}, Type: Player"); } } + + //GameDetail + List games = [ + new GameDetail(Uuid(), DateTime.now(), players[0].id, 290, true, null, players[0], [ new Round(10,null,10, players[0]), new Round(5,2,7, players[1]), new Round(5,2,7, players[1]), new Round(5,1,12,players[0])], [players[0],players[1]] ), + new GameDetail(Uuid(), DateTime.now().subtract(Duration(days: 2)), players[1].id, 250, true, null, players[1], [ new Round(7,null,7, players[1]), new Round(3,3,9, players[0]), new Round(5,2,7, players[1]), new Round(5,1,12,players[0])], [players[0],players[1]] ), + new GameDetail(Uuid(), DateTime.now().subtract(Duration(days: 4)), players[2].id, 210, false, players[1].id, players[2], [ new Round(8,2,10, players[2]), new Round(6,2,8, players[1]), new Round(4,2,6, players[2]), new Round(2,2,4,players[1])], [players[1],players[2]] ), + new GameDetail(Uuid(), DateTime.now().subtract(Duration(days: 7)), players[3].id, 300, false, players[2].id, players[3], [ new Round(12,null,12, players[3]), new Round(7,3,10, players[2]), new Round(6,2,8, players[1]), new Round(5,1,12,players[0])], [players[0],players[1],players[2],players[3]] ), + new GameDetail(Uuid(), DateTime.now().subtract(Duration(days: 10)), players[4].id, 280, true, null, players[4], [ new Round(9,1,10, players[4]), new Round(7,3,10, players[2]), new Round(8,2,10, players[3]), new Round(5,2,7,players[1])], [players[1],players[2],players[3],players[4]] ), + new GameDetail(Uuid(), DateTime.now().subtract(Duration(days: 12)), players[1].id, 240, false, players[4].id, players[1], [ new Round(7,null,7, players[1]), new Round(5,2,7, players[2]), new Round(6,2,8, players[1]), new Round(5,1,12,players[0])], [players[0],players[1],players[2],players[4]] ), + new GameDetail(Uuid(), DateTime.now().subtract(Duration(days: 15)), players[2].id, 200, true, null, players[2], [ new Round(8,2,10, players[2]), new Round(4,2,6, players[1]), new Round(7,3,10, players[3]), new Round(5,2,7,players[0])], [players[0],players[1],players[2],players[3]] ) + ] print("GameDetail :"); + for (var game in games) { + print("Game ID: ${game.id}"); + print("Time: ${game.time}"); + print("Winner: ${game.winner}"); + print("Number of Points: ${game.nbPoints}"); + print("Is Finished: ${game.isFinished}"); + print("Current Round: ${game.currentRound}"); + print("Host: ${game.host}"); + + print("Rounds:"); + for (var round in game.rounds) { + print("Round Score: ${round.score}"); + print("Round Bonus: ${round.bonus}"); + print("Round Total: ${round.total}"); + print("Round Player: ${round.player}"); + } + + print("Players:"); + for (var player in game.players) { + print("Player ID: ${player.id}"); + print("Player Name: ${player.name}"); + print("Player Score: ${player.score}"); + } + + print("----------------------------"); +} } -- 2.36.3 From 9da23d8b2854203d269f04c0e9f87f11feda51e0 Mon Sep 17 00:00:00 2001 From: Emre Date: Thu, 2 Mar 2023 22:14:43 +0100 Subject: [PATCH 2/2] Correction of errors in the model and start of the StubManager :white_check_mark: --- .../bowlin_project/lib/model/GameDetail.dart | 6 +- .../lib/model/IGameManager.dart | 1 + .../bowlin_project/lib/model/IManager.dart | 7 +- .../lib/model/IUserManager.dart | 3 + Sources/bowlin_project/lib/model/Round.dart | 6 +- Sources/bowlin_project/lib/model/Stat.dart | 6 +- .../lib/model/StubManager/AuthManager.dart | 11 +- .../lib/model/StubManager/GameManager.dart | 23 ++-- .../lib/model/StubManager/StubData.dart | 23 +++- .../lib/model/StubManager/UserManager.dart | 16 ++- Sources/bowlin_project/lib/model/User.dart | 10 +- Sources/bowlin_project/test/model_test.dart | 100 ++++++++++-------- 12 files changed, 131 insertions(+), 81 deletions(-) diff --git a/Sources/bowlin_project/lib/model/GameDetail.dart b/Sources/bowlin_project/lib/model/GameDetail.dart index 2f8f20c..12a86f2 100644 --- a/Sources/bowlin_project/lib/model/GameDetail.dart +++ b/Sources/bowlin_project/lib/model/GameDetail.dart @@ -8,7 +8,7 @@ class GameDetail { Uuid _winner; int _nbPoints; bool _isFinished; - Round _currentRound; + Round? _currentRound; Player _host; List _rounds = []; List _players = []; @@ -56,9 +56,9 @@ class GameDetail { _isFinished = value; } - Round get currentRound => _currentRound; + Round? get currentRound => _currentRound; - set currentRound(Round value) { + set currentRound(Round? value) { _currentRound = value; } diff --git a/Sources/bowlin_project/lib/model/IGameManager.dart b/Sources/bowlin_project/lib/model/IGameManager.dart index 8ef3748..e60b561 100644 --- a/Sources/bowlin_project/lib/model/IGameManager.dart +++ b/Sources/bowlin_project/lib/model/IGameManager.dart @@ -2,6 +2,7 @@ import 'package:uuid/uuid.dart'; import 'package:uuid/uuid_util.dart'; import 'GameDetail.dart'; import 'Player.dart'; +import 'User.dart'; abstract class IGameManager { // Methods diff --git a/Sources/bowlin_project/lib/model/IManager.dart b/Sources/bowlin_project/lib/model/IManager.dart index bb92ebf..aca3c7a 100644 --- a/Sources/bowlin_project/lib/model/IManager.dart +++ b/Sources/bowlin_project/lib/model/IManager.dart @@ -7,11 +7,8 @@ import 'Game.dart'; abstract class IManager { late User _userCurrent; late Game _gameCurrent; - IUserManager _userMgr; - IGameManager _gameMgr; - - // Constructor - IManager(this._userCurrent, this._gameCurrent); + late IUserManager _userMgr; + late IGameManager _gameMgr; // Getters and setters User get userCurrent => _userCurrent; diff --git a/Sources/bowlin_project/lib/model/IUserManager.dart b/Sources/bowlin_project/lib/model/IUserManager.dart index 2a96191..5254de7 100644 --- a/Sources/bowlin_project/lib/model/IUserManager.dart +++ b/Sources/bowlin_project/lib/model/IUserManager.dart @@ -5,6 +5,9 @@ import 'IAuthManager.dart'; abstract class IUserManager { IAuthManager _authMgr; + // Constructor + IUserManager(this._authMgr); + // Methods IAuthManager get authMgr => _authMgr; List getUsersByName(String name); diff --git a/Sources/bowlin_project/lib/model/Round.dart b/Sources/bowlin_project/lib/model/Round.dart index f74d9a3..3e21c60 100644 --- a/Sources/bowlin_project/lib/model/Round.dart +++ b/Sources/bowlin_project/lib/model/Round.dart @@ -2,7 +2,7 @@ import 'Player.dart'; class Round { int _firstThrow; - int _secondThrow; + int? _secondThrow; int _points; Player _player; @@ -16,9 +16,9 @@ class Round { _firstThrow = value; } - int get secondThrow => _secondThrow; + int? get secondThrow => _secondThrow; - set secondThrow(int value) { + set secondThrow(int? value) { _secondThrow = value; } diff --git a/Sources/bowlin_project/lib/model/Stat.dart b/Sources/bowlin_project/lib/model/Stat.dart index a6d47cb..f16097b 100644 --- a/Sources/bowlin_project/lib/model/Stat.dart +++ b/Sources/bowlin_project/lib/model/Stat.dart @@ -6,7 +6,7 @@ class Stat { int _nbStrikes; int _nbSpares; int _nbScore; - int _avgScore; + double _avgScore; double _avgPinsPerRound; // Constructor @@ -65,9 +65,9 @@ class Stat { _nbScore = value; } - int get avgScore => _avgScore; + double get avgScore => _avgScore; - set avgScore(int value) { + set avgScore(double value) { _avgScore = value; } diff --git a/Sources/bowlin_project/lib/model/StubManager/AuthManager.dart b/Sources/bowlin_project/lib/model/StubManager/AuthManager.dart index 9391335..694a88d 100644 --- a/Sources/bowlin_project/lib/model/StubManager/AuthManager.dart +++ b/Sources/bowlin_project/lib/model/StubManager/AuthManager.dart @@ -1,9 +1,14 @@ library StubLib; import '../IAuthManager.dart'; +import 'StubData.dart'; class AuthManager extends IAuthManager { + final StubData parent; + + // Constructor + AuthManager(this.parent); // Methods - bool verifiedUser(String name, String password) { - - } + bool verifiedUser(String name, String password) { + return false; + } } \ No newline at end of file diff --git a/Sources/bowlin_project/lib/model/StubManager/GameManager.dart b/Sources/bowlin_project/lib/model/StubManager/GameManager.dart index f687d90..01b7dbb 100644 --- a/Sources/bowlin_project/lib/model/StubManager/GameManager.dart +++ b/Sources/bowlin_project/lib/model/StubManager/GameManager.dart @@ -1,26 +1,37 @@ library StubLib; import '../IGameManager.dart'; +import '../GameDetail.dart'; +import '../Player.dart'; +import '../User.dart'; +import '../Guest.dart'; +import 'StubData.dart'; +import 'package:uuid/uuid.dart'; + class GameManager extends IGameManager { List games = []; + final StubData parent; + + // Constructor + GameManager(this.parent); // Methods GameDetail getGameById(Uuid id) { - + return new GameDetail(Uuid(), DateTime.now(), Uuid(), 290, true, null, Guest(Uuid(),"",""), [ ], [] ); } List getGamesByPlayerId(Uuid id) { - + return []; } List getGamesByPlayer(Player user) { - + return []; } List getGamesByPlayers(List users) { - + return []; } List getPlayersByIdGame(Uuid id) { - + return []; } Map getRankByIdGame(Uuid id) { - + return {}; } } \ No newline at end of file diff --git a/Sources/bowlin_project/lib/model/StubManager/StubData.dart b/Sources/bowlin_project/lib/model/StubManager/StubData.dart index 39808e5..08b9dc4 100644 --- a/Sources/bowlin_project/lib/model/StubManager/StubData.dart +++ b/Sources/bowlin_project/lib/model/StubManager/StubData.dart @@ -1,7 +1,26 @@ library StubLib; import '../IManager.dart'; +import '../IUserManager.dart'; +import '../IGameManager.dart'; +import '../User.dart'; +import '../Achievement.dart'; +import '../Stat.dart'; +import 'UserManager.dart'; +import 'GameManager.dart'; +import 'package:uuid/uuid.dart'; class StubData extends IManager { - IUserManager _userMgr = new UserManager(); - IGameManager _gameMgr = new GameManger(); + late IUserManager _userMgr; + late IGameManager _gameMgr; + + StubData() { + _userMgr = UserManager(this); + _gameMgr = GameManager(this); + } + + List users = [ + User(Uuid(),"Emre","https://fastly.picsum.photos/id/1060/2000/2000.jpg?hmac=_RrU8GpkCDUlVKfgyWE-GcX-GS5TKNyUzdFbJAGXHV4","emre.kartal@etu.uca.fr", [Achievement("5 games"), Achievement("2 strikes in a row"), Achievement("Win a game")], [], Stat(10,2,12,130,7,6,700,58.33,30.2)), + User(Uuid(),"Dave","https://fastly.picsum.photos/id/820/2000/2000.jpg?hmac=Ctxx2feJNZnG1S7UPx_YrWcEw89tKb7fR8i1W-VTOz4","david.d_almeida@etu.uca.fr", [Achievement("5 games"), Achievement("0 point"), Achievement("Win a game")], [], Stat(2,7,9,80,4,3,250,27.77,10.55)) + ]; + } \ No newline at end of file diff --git a/Sources/bowlin_project/lib/model/StubManager/UserManager.dart b/Sources/bowlin_project/lib/model/StubManager/UserManager.dart index 163ef91..b69c6d8 100644 --- a/Sources/bowlin_project/lib/model/StubManager/UserManager.dart +++ b/Sources/bowlin_project/lib/model/StubManager/UserManager.dart @@ -1,15 +1,23 @@ library StubLib; import '../IUserManager.dart'; +import '../IAuthManager.dart'; +import 'AuthManager.dart'; +import 'StubData.dart'; +import '../User.dart'; +import '../Stat.dart'; +import 'package:uuid/uuid.dart'; class UserManager extends IUserManager { - IAuthManager _authMgr = new AuthManager(); + final StubData parent; + + // Constructor + UserManager(this.parent):super(AuthManager(parent)); // Methods - IAuthManager get authMgr => _authMgr; List getUsersByName(String name) { - + return []; } User getUserById(Uuid id) { - + return User(Uuid(),"","","",[],[], Stat(10,10,10,10,10,10,10,10,10)); } } \ No newline at end of file diff --git a/Sources/bowlin_project/lib/model/User.dart b/Sources/bowlin_project/lib/model/User.dart index b4e8c84..0355054 100644 --- a/Sources/bowlin_project/lib/model/User.dart +++ b/Sources/bowlin_project/lib/model/User.dart @@ -7,10 +7,10 @@ class User extends Player { String _mail; List _achievements = []; List _friends = []; - List _stats = []; + Stat _stat; // Constructor - User(Uuid id, String name, String image, this._mail, this._achievements, this._friends, this._stats) + User(Uuid id, String name, String image, this._mail, this._achievements, this._friends, this._stat) : super(id, name, image); // Getters and setters @@ -32,9 +32,9 @@ class User extends Player { _friends = value; } - List get stats => _stats; + Stat get stat => _stat; - set stats(List value) { - _stats = value; + set stats(Stat value) { + _stat = value; } } diff --git a/Sources/bowlin_project/test/model_test.dart b/Sources/bowlin_project/test/model_test.dart index 0aa84b1..25685c3 100644 --- a/Sources/bowlin_project/test/model_test.dart +++ b/Sources/bowlin_project/test/model_test.dart @@ -2,16 +2,19 @@ import '../lib/model/Player.dart'; import '../lib/model/Guest.dart'; import '../lib/model/User.dart'; import '../lib/model/Stat.dart'; +import '../lib/model/Round.dart'; +import '../lib/model/GameDetail.dart'; +import '../lib/model/StubManager/StubData.dart'; import 'dart:math'; import '../lib/model/Achievement.dart'; import 'package:uuid/uuid.dart'; void main() { List stats = []; - Random random = new Random(); + Random random = Random(); for (int i = 0; i < 10; i++) { - Stat stat = new Stat( + Stat stat = Stat( random.nextInt(50) + 1, // valeur aléatoire entre 1 et 50 random.nextInt(20) + 1, // valeur aléatoire entre 1 et 20 random.nextInt(30) + 1, // valeur aléatoire entre 1 et 30 @@ -25,28 +28,33 @@ void main() { stats.add(stat); } - User ami = new User(Uuid(), "Lucas","https://fastly.picsum.photos/id/288/2000/2000.jpg?hmac=AUboE-jzAzofYj_O3w_EqtZU3JHzcg7HR1IQd1Ce7lY","Lucas.delanier@etu.uca.fr",[],[],[]); + print("Stats:"); + for (var stat in stats) { + print("\tVictoires: ${stat.nbVictory}, Défaites: ${stat.nbDefeat}, Parties jouées: ${stat.nbGames}, Meilleur score: ${stat.highscore}, Nombre de strikes: ${stat.nbStrikes}, Nom de spares: ${stat.nbStrikes}, Moyenne score: ${stat.avgScore}, Moyenne score par round: ${stat.avgPinsPerRound}"); + } + + User ami = User(Uuid(), "Lucas","https://fastly.picsum.photos/id/288/2000/2000.jpg?hmac=AUboE-jzAzofYj_O3w_EqtZU3JHzcg7HR1IQd1Ce7lY","Lucas.delanier@etu.uca.fr",[],[], stats[1]); List players = [ - new Player(Uuid(), "Rami", "https://fastly.picsum.photos/id/1060/2000/2000.jpg?hmac=_RrU8GpkCDUlVKfgyWE-GcX-GS5TKNyUzdFbJAGXHV4"), - new Player(Uuid(), "Emre", "https://fastly.picsum.photos/id/670/2000/2000.jpg?hmac=zWqTr_vDEab3dBtp7JZgJP8TRCPNanJ4tYwDDd-jGYA"), - new Guest(Uuid(), "Bot1","https://fastly.picsum.photos/id/820/2000/2000.jpg?hmac=Ctxx2feJNZnG1S7UPx_YrWcEw89tKb7fR8i1W-VTOz4"), - new Guest(Uuid(), "Bot2","https://fastly.picsum.photos/id/288/2000/2000.jpg?hmac=AUboE-jzAzofYj_O3w_EqtZU3JHzcg7HR1IQd1Ce7lY"), + Player(Uuid(), "Rami", "https://fastly.picsum.photos/id/1060/2000/2000.jpg?hmac=_RrU8GpkCDUlVKfgyWE-GcX-GS5TKNyUzdFbJAGXHV4"), + Player(Uuid(), "Emre", "https://fastly.picsum.photos/id/670/2000/2000.jpg?hmac=zWqTr_vDEab3dBtp7JZgJP8TRCPNanJ4tYwDDd-jGYA"), + Guest(Uuid(), "Bot1","https://fastly.picsum.photos/id/820/2000/2000.jpg?hmac=Ctxx2feJNZnG1S7UPx_YrWcEw89tKb7fR8i1W-VTOz4"), + Guest(Uuid(), "Bot2","https://fastly.picsum.photos/id/288/2000/2000.jpg?hmac=AUboE-jzAzofYj_O3w_EqtZU3JHzcg7HR1IQd1Ce7lY"), ami, - new User( + User( Uuid(), "Louison", "https://fastly.picsum.photos/id/1029/2000/2000.jpg?hmac=_K3pMobVk00dfNR7rsj1NLnEBB5Gf88SvGPbbjoH-Uc", "louison.parant@etu.uca.fr", [ - new Achievement("5 games"), - new Achievement("2 strikes in a row"), - new Achievement("Win a game") + Achievement("5 games"), + Achievement("2 strikes in a row"), + Achievement("Win a game") ], [ ami ], - stats + stats[0] ) ]; @@ -62,15 +70,11 @@ void main() { for (var achievement in player.achievements) { print("\t\tNom: ${achievement.name}"); } - print("\tStats:"); - for (var stat in player.stats) { - print("\t\tVictoires: ${stat.nbVictory}, Défaites: ${stat.nbDefeat}, Parties jouées: ${stat.nbGames}, Meilleur score: ${stat.highscore}, Nombre de strikes: ${stat.nbStrikes}, Nom de spares: ${stat.nbStrikes}, Moyenne score: ${stat.avgScore}, Moyenne score par round: ${stat.avgPinsPerRound}"); - } print("\tAmis:"); for (var amis in player.friends) { print("\t\tNom: ${amis.name}, Mail: ${amis.mail}"); } - + print("\tVictoires: ${player.stat.nbVictory}, Défaites: ${player.stat.nbDefeat}, Parties jouées: ${player.stat.nbGames}, Meilleur score: ${player.stat.highscore}, Nombre de strikes: ${player.stat.nbStrikes}, Nom de spares: ${player.stat.nbStrikes}, Moyenne score: ${player.stat.avgScore}, Moyenne score par round: ${player.stat.avgPinsPerRound}"); } else { print("\tID: ${player.id}, Nom: ${player.name}, Image: ${player.image}, Type: Player"); } @@ -79,41 +83,43 @@ void main() { //GameDetail List games = [ - new GameDetail(Uuid(), DateTime.now(), players[0].id, 290, true, null, players[0], [ new Round(10,null,10, players[0]), new Round(5,2,7, players[1]), new Round(5,2,7, players[1]), new Round(5,1,12,players[0])], [players[0],players[1]] ), - new GameDetail(Uuid(), DateTime.now().subtract(Duration(days: 2)), players[1].id, 250, true, null, players[1], [ new Round(7,null,7, players[1]), new Round(3,3,9, players[0]), new Round(5,2,7, players[1]), new Round(5,1,12,players[0])], [players[0],players[1]] ), - new GameDetail(Uuid(), DateTime.now().subtract(Duration(days: 4)), players[2].id, 210, false, players[1].id, players[2], [ new Round(8,2,10, players[2]), new Round(6,2,8, players[1]), new Round(4,2,6, players[2]), new Round(2,2,4,players[1])], [players[1],players[2]] ), - new GameDetail(Uuid(), DateTime.now().subtract(Duration(days: 7)), players[3].id, 300, false, players[2].id, players[3], [ new Round(12,null,12, players[3]), new Round(7,3,10, players[2]), new Round(6,2,8, players[1]), new Round(5,1,12,players[0])], [players[0],players[1],players[2],players[3]] ), - new GameDetail(Uuid(), DateTime.now().subtract(Duration(days: 10)), players[4].id, 280, true, null, players[4], [ new Round(9,1,10, players[4]), new Round(7,3,10, players[2]), new Round(8,2,10, players[3]), new Round(5,2,7,players[1])], [players[1],players[2],players[3],players[4]] ), - new GameDetail(Uuid(), DateTime.now().subtract(Duration(days: 12)), players[1].id, 240, false, players[4].id, players[1], [ new Round(7,null,7, players[1]), new Round(5,2,7, players[2]), new Round(6,2,8, players[1]), new Round(5,1,12,players[0])], [players[0],players[1],players[2],players[4]] ), - new GameDetail(Uuid(), DateTime.now().subtract(Duration(days: 15)), players[2].id, 200, true, null, players[2], [ new Round(8,2,10, players[2]), new Round(4,2,6, players[1]), new Round(7,3,10, players[3]), new Round(5,2,7,players[0])], [players[0],players[1],players[2],players[3]] ) - ] + GameDetail(Uuid(), DateTime.now(), players[0].id, 290, true, null, players[0], [ Round(10,null,10, players[0]), Round(5,2,7, players[1]), Round(5,2,7, players[1]), Round(5,1,12,players[0])], [players[0],players[1]] ), + GameDetail(Uuid(), DateTime.now().subtract(Duration(days: 2)), players[1].id, 250, true, null, players[1], [ Round(7,null,7, players[1]), Round(3,3,9, players[0]), Round(5,2,7, players[1]), Round(5,1,12,players[0])], [players[0],players[1]] ), + GameDetail(Uuid(), DateTime.now().subtract(Duration(days: 4)), players[2].id, 210, false, null, players[2], [ Round(8,2,10, players[2]), Round(6,2,8, players[1]), Round(4,2,6, players[2]), Round(2,2,4,players[1])], [players[1],players[2]] ), + GameDetail(Uuid(), DateTime.now().subtract(Duration(days: 7)), players[3].id, 120, true, Round(12,null,12, players[3]), players[3], [ Round(12,null,12, players[3]), Round(7,3,10, players[2]), Round(6,2,8, players[1]), Round(5,1,12,players[0])], [players[0],players[1],players[2],players[3]] ), + GameDetail(Uuid(), DateTime.now().subtract(Duration(days: 10)), players[4].id, 280, true, null, players[4], [ Round(9,1,10, players[4]), Round(7,3,10, players[2]), Round(8,2,10, players[3]), Round(5,2,7,players[1])], [players[1],players[2],players[3],players[4]] ), + GameDetail(Uuid(), DateTime.now().subtract(Duration(days: 12)), players[1].id, 240, true, null, players[1], [ Round(7,null,7, players[1]), Round(5,2,7, players[2]), Round(6,2,8, players[1]), Round(5,1,12,players[0])], [players[0],players[1],players[2],players[4]] ), + GameDetail(Uuid(), DateTime.now().subtract(Duration(days: 15)), players[2].id, 200, true, null, players[2], [ Round(8,2,10, players[2]), Round(4,2,6, players[1]), Round(7,3,10, players[3]), Round(5,2,7,players[0])], [players[0],players[1],players[2],players[3]] ) + ]; print("GameDetail :"); for (var game in games) { - print("Game ID: ${game.id}"); - print("Time: ${game.time}"); - print("Winner: ${game.winner}"); - print("Number of Points: ${game.nbPoints}"); - print("Is Finished: ${game.isFinished}"); - print("Current Round: ${game.currentRound}"); - print("Host: ${game.host}"); - - print("Rounds:"); - for (var round in game.rounds) { - print("Round Score: ${round.score}"); - print("Round Bonus: ${round.bonus}"); - print("Round Total: ${round.total}"); - print("Round Player: ${round.player}"); - } + print("\tGame ID: ${game.id}"); + print("\tTime: ${game.time}"); + print("\tWinner: ${game.winner}"); + print("\tNumber of Points: ${game.nbPoints}"); + print("\tIs Finished: ${game.isFinished}"); + print("\tCurrent Round: ${game.currentRound}"); + print("\tHost: ${game.host}"); - print("Players:"); - for (var player in game.players) { - print("Player ID: ${player.id}"); - print("Player Name: ${player.name}"); - print("Player Score: ${player.score}"); - } + print("\tRounds:"); + for (var round in game.rounds) { + print("\t\tRound Score: ${round.firstThrow}"); + print("\t\tRound Bonus: ${round.secondThrow}"); + print("\t\tRound Total: ${round.points}"); + print("\t\tRound Player: ${round.player.name}"); + } + + print("\tPlayers:"); + for (var player in game.players) { + print("\t\tPlayer ID: ${player.id}"); + print("\t\tPlayer Name: ${player.name}"); + } + + print("\t-----------------------------------------"); + + print("StubManager:"); - print("----------------------------"); } -- 2.36.3