// import 'package:bowl_in/model/GamePlayer.dart'; // // 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 '../lib/model/IManager.dart'; // import 'dart:math'; // import '../lib/model/Achievement.dart'; // // void main() { // List stats = []; // Random random = Random(); // // 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 // ); // 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}"); // } // // User ami = User( // 5, // "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(1, "Rami", // "https://fastly.picsum.photos/id/1060/2000/2000.jpg?hmac=_RrU8GpkCDUlVKfgyWE-GcX-GS5TKNyUzdFbJAGXHV4"), // Player(2, "Emre", // "https://fastly.picsum.photos/id/670/2000/2000.jpg?hmac=zWqTr_vDEab3dBtp7JZgJP8TRCPNanJ4tYwDDd-jGYA"), // Guest(3, "Bot1", // "https://fastly.picsum.photos/id/820/2000/2000.jpg?hmac=Ctxx2feJNZnG1S7UPx_YrWcEw89tKb7fR8i1W-VTOz4"), // Guest(4, "Bot2", // "https://fastly.picsum.photos/id/288/2000/2000.jpg?hmac=AUboE-jzAzofYj_O3w_EqtZU3JHzcg7HR1IQd1Ce7lY"), // ami, // User( // 6, // "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 // for (var player in players) { // displayPlayer(player,1); // } // // //GameDetail // // // List games = []; // games.add(GameDetail( // 1, 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, 1, 12, players[0]), // Round(5, 2, 7, players[1]), // ], [ // players[0], // players[1] // ]), // GameDetail(2, 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(3, 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( // 4, // 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(5, 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(6, 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(7, 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 :"); // for (var game in games) { // displayGameDetail(game,1); // print("\t-----------------------------------------"); // } // // print("StubManager:"); // IManager mgr = new StubData(); // // print("\tGameManager:"); // // print("\tgetGameById function with id: 2"); // GameDetail gd = mgr.gameMgr.getGameById(2); // displayGameDetail(gd,2); // // print("\tgetGamesByPlayerId function with id: 2"); // List gds = mgr.gameMgr.getGamesByPlayerId(8); // for (var game in gds) // { // displayGameDetail(game,2); // } // // print("\tgetGamesByPlayer function:"); // var player = mgr.userMgr.getUserById(8); // List gdsPlayer = mgr.gameMgr.getGamesByPlayer(player); // for (var game in gdsPlayer) // { // displayGameDetail(game,2); // } // // print("\tgetGamesByPlayers:"); // var player2 = mgr.userMgr.getUserById(2); // List playersTest = [player,player2]; // List gdsPlayers = mgr.gameMgr.getGamesByPlayers(playersTest); // for (var game in gdsPlayers) // { // displayGameDetail(game,2); // } // // print("\tgetPlayersByIdGame:"); // var playersIntoGame = mgr.gameMgr.getPlayersByIdGame(2); // for (var player in playersIntoGame) // { // displayPlayer(player,2); // } // // print("\tgetRankByIdGame:"); // var ranksPlayers = mgr.gameMgr.getRankByIdGame(2); // ranksPlayers.forEach((id, rank) { // displayPlayer(mgr.userMgr.getUserById(id),2); // print('\t\tRank $rank'); // }); // } // // void displayGameDetail(GameDetail gd, int numTabs) // { // String tabs = '\t' * numTabs; // print(tabs+"Game ID: ${gd.id}"); // print(tabs+"Time: ${gd.time}"); // print(tabs+"Winner: ${gd.winner}"); // print(tabs+"Number of Points: ${gd.nbPoints}"); // print(tabs+"Is Finished: ${gd.isFinished}"); // print(tabs+"Current Round: ${gd.currentRound}"); // print(tabs+"Host: ${gd.host}"); // print(tabs+"Rank: ${gd.getRank()}"); // print(tabs+"Rounds:"); // for (var round in gd.rounds) { // displayRound(round, numTabs+1); // } // print(tabs+"Players:"); // for (var player in gd.players) { // displayPlayer(player, numTabs+1); // } // } // // void displayRound(Round round, int numTabs) // { // String tabs = '\t' * numTabs; // print(tabs+"Round Score: ${round.firstThrow}"); // print(tabs+"Round Bonus: ${round.secondThrow}"); // print(tabs+"Round Total: ${round.points}"); // print(tabs+"Round Player: ${round.player.name}"); // } // // void displayPlayer(Player player, int numTabs) // { // String tabs = '\t' * numTabs; // if (player is Guest) { // print(tabs+"ID: ${player.id}, Nom: ${player.name}, Image: ${player.image}, Type: Guest"); // } else if (player is User) { // print(tabs+"ID: ${player.id}, Nom: ${player.name}, Image: ${player.image}, Type: User"); // print(tabs+"Achievements:"); // for (var achievement in player.achievements) { // displayAchievement(achievement, numTabs+1); // } // print(tabs+"Amis:"); // for (var amis in player.friends) { // print("\t\tNom: ${amis.name}, Mail: ${amis.mail}"); // } // print(tabs+"Victoires: ${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(tabs+"ID: ${player.id}, Nom: ${player.name}, Image: ${player.image}, Type: Player"); // } // } // // void displayAchievement(Achievement achievement, int numTabs) // { // String tabs = '\t' * numTabs; // print(tabs+"Nom: ${achievement.name}"); // }