diff --git a/Sources/bowlin_project/lib/model/Game.dart b/Sources/bowlin_project/lib/model/Game.dart index bf0065b..8f28041 100644 --- a/Sources/bowlin_project/lib/model/Game.dart +++ b/Sources/bowlin_project/lib/model/Game.dart @@ -5,10 +5,11 @@ class Game { DateTime _time; int _pointsCurrentUser; bool _isFinished; - List _playerImages = []; + List _playerIds = []; // Constructor - Game(this._id, this._time, this._pointsCurrentUser, this._isFinished, this._playerImages); + Game(this._id, this._time, this._pointsCurrentUser, this._isFinished, + this._playerIds); // Getters and setters Uuid get id => _id; @@ -35,9 +36,9 @@ class Game { _isFinished = value; } - List get playerImages => _playerImages; + List get playerIds => _playerIds; - set playerImages(List value) { - _playerImages = value; + set playerIds(List value) { + _playerIds = value; } } diff --git a/Sources/bowlin_project/lib/model/GameDetail.dart b/Sources/bowlin_project/lib/model/GameDetail.dart index 12a86f2..a7ece99 100644 --- a/Sources/bowlin_project/lib/model/GameDetail.dart +++ b/Sources/bowlin_project/lib/model/GameDetail.dart @@ -9,7 +9,7 @@ class GameDetail { int _nbPoints; bool _isFinished; Round? _currentRound; - Player _host; + Uuid _host; List _rounds = []; List _players = []; @@ -24,7 +24,7 @@ class GameDetail { this._host, this._rounds, this._players); - + // Getters and setters Uuid get id => _id; @@ -62,9 +62,9 @@ class GameDetail { _currentRound = value; } - Player get host => _host; + Uuid get host => _host; - set host(Player value) { + set host(Uuid value) { _host = value; } diff --git a/Sources/bowlin_project/lib/model/StubManager/GameManager.dart b/Sources/bowlin_project/lib/model/StubManager/GameManager.dart index 01b7dbb..4efbe18 100644 --- a/Sources/bowlin_project/lib/model/StubManager/GameManager.dart +++ b/Sources/bowlin_project/lib/model/StubManager/GameManager.dart @@ -1,4 +1,5 @@ library StubLib; + import '../IGameManager.dart'; import '../GameDetail.dart'; import '../Player.dart'; @@ -7,7 +8,6 @@ import '../Guest.dart'; import 'StubData.dart'; import 'package:uuid/uuid.dart'; - class GameManager extends IGameManager { List games = []; final StubData parent; @@ -17,21 +17,27 @@ class GameManager extends IGameManager { // Methods GameDetail getGameById(Uuid id) { - return new GameDetail(Uuid(), DateTime.now(), Uuid(), 290, true, null, Guest(Uuid(),"",""), [ ], [] ); + return new GameDetail( + Uuid(), DateTime.now(), Uuid(), 290, true, null, Uuid(), [], []); } + List getGamesByPlayerId(Uuid id) { - return []; + return []; } + List getGamesByPlayer(Player user) { - return []; + return []; } - List getGamesByPlayers(List users) { + + 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/User.dart b/Sources/bowlin_project/lib/model/User.dart index 0355054..23ccf7c 100644 --- a/Sources/bowlin_project/lib/model/User.dart +++ b/Sources/bowlin_project/lib/model/User.dart @@ -1,5 +1,6 @@ import 'package:uuid/uuid.dart'; import 'Achievement.dart'; +import 'Game.dart'; import 'Player.dart'; import 'Stat.dart'; @@ -8,9 +9,11 @@ class User extends Player { List _achievements = []; List _friends = []; Stat _stat; + List games = []; // Constructor - User(Uuid id, String name, String image, this._mail, this._achievements, this._friends, this._stat) + User(Uuid id, String name, String image, this._mail, this._achievements, + this._friends, this._stat) : super(id, name, image); // Getters and setters diff --git a/Sources/bowlin_project/test/model_test.dart b/Sources/bowlin_project/test/model_test.dart index 25685c3..ae0dabf 100644 --- a/Sources/bowlin_project/test/model_test.dart +++ b/Sources/bowlin_project/test/model_test.dart @@ -15,57 +15,67 @@ void main() { for (int i = 0; i < 10; i++) { 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 - random.nextInt(1000) + 1, // valeur aléatoire entre 1 et 1000 - random.nextInt(10) + 1, // valeur aléatoire entre 1 et 10 - random.nextInt(5) + 1, // valeur aléatoire entre 1 et 5 - random.nextInt(5000) + 1000, // valeur aléatoire entre 1000 et 6000 - random.nextInt(300) + 1, // valeur aléatoire entre 1 et 300 - random.nextDouble() * 10 // valeur aléatoire entre 0 et 10 - ); + 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 + random.nextInt(1000) + 1, // valeur aléatoire entre 1 et 1000 + random.nextInt(10) + 1, // valeur aléatoire entre 1 et 10 + random.nextInt(5) + 1, // valeur aléatoire entre 1 et 5 + random.nextInt(5000) + 1000, // valeur aléatoire entre 1000 et 6000 + random.nextInt(300) + 1, // valeur aléatoire entre 1 et 300 + random.nextDouble() * 10 // valeur aléatoire entre 0 et 10 + ); stats.add(stat); } 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}"); + 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]); + 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 = [ - 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"), + 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, User( - Uuid(), - "Louison", - "https://fastly.picsum.photos/id/1029/2000/2000.jpg?hmac=_K3pMobVk00dfNR7rsj1NLnEBB5Gf88SvGPbbjoH-Uc", - "louison.parant@etu.uca.fr", - [ - Achievement("5 games"), - Achievement("2 strikes in a row"), - Achievement("Win a game") - ], - [ - ami - ], - stats[0] - ) + Uuid(), + "Louison", + "https://fastly.picsum.photos/id/1029/2000/2000.jpg?hmac=_K3pMobVk00dfNR7rsj1NLnEBB5Gf88SvGPbbjoH-Uc", + "louison.parant@etu.uca.fr", + [ + Achievement("5 games"), + Achievement("2 strikes in a row"), + Achievement("Win a game") + ], + [ami], + stats[0]) ]; - print("Players :"); - // afficahge de toutes les informations de tous les joueurs + // afficahge de toutes les informations de tous les joueurs for (var player in players) { if (player is Guest) { - print("\tID: ${player.id}, Nom: ${player.name}, Image: ${player.image}, Type: Guest"); + print( + "\tID: ${player.id}, Nom: ${player.name}, Image: ${player.image}, Type: Guest"); } else if (player is User) { - print("\tID: ${player.id}, Nom: ${player.name}, Image: ${player.image}, Type: User"); + print( + "\tID: ${player.id}, Nom: ${player.name}, Image: ${player.image}, Type: User"); print("\tAchievements:"); for (var achievement in player.achievements) { print("\t\tNom: ${achievement.name}"); @@ -74,22 +84,101 @@ void main() { 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}"); + 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"); + print( + "\tID: ${player.id}, Nom: ${player.name}, Image: ${player.image}, Type: Player"); } } //GameDetail - - List games = [ - 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]] ) + + List games = [ + GameDetail( + Uuid(), DateTime.now(), players[0].id, 290, true, null, players[0].id, [ + 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].id, [ + 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].id, [ + 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].id, [ + 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].id, [ + 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].id, [ + 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].id, [ + 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 :"); @@ -116,11 +205,8 @@ void main() { print("\t\tPlayer Name: ${player.name}"); } - print("\t-----------------------------------------"); - - print("StubManager:"); - -} - + print("\t-----------------------------------------"); + print("StubManager:"); + } }