rank working and add some stub data
continuous-integration/drone/push Build is failing Details

pull/20/head
Lucas Delanier 2 years ago
parent f420a4fd5e
commit aa18451fce

@ -9,5 +9,7 @@
</content> </content>
<orderEntry type="inheritedJdk" /> <orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Dart SDK" level="project" />
<orderEntry type="library" name="Dart Packages" level="project" />
</component> </component>
</module> </module>

@ -5,10 +5,11 @@ class Game {
DateTime _time; DateTime _time;
int _pointsCurrentUser; int _pointsCurrentUser;
bool _isFinished; bool _isFinished;
List<String> _playerImages = []; List<Uuid> _playersId = [];
// Constructor // Constructor
Game(this._id, this._time, this._pointsCurrentUser, this._isFinished, this._playerImages); Game(this._id, this._time, this._pointsCurrentUser, this._isFinished,
this._playersId);
// Getters and setters // Getters and setters
Uuid get id => _id; Uuid get id => _id;
@ -35,9 +36,9 @@ class Game {
_isFinished = value; _isFinished = value;
} }
List<String> get playerImages => _playerImages; List<Uuid> get playersId => _playersId;
set playerImages(List<String> value) { set playersId(List<Uuid> value) {
_playerImages = value; _playersId = value;
} }
} }

@ -1,3 +1,5 @@
import 'dart:developer';
import 'package:uuid/uuid.dart'; import 'package:uuid/uuid.dart';
import 'Player.dart'; import 'Player.dart';
import 'Round.dart'; import 'Round.dart';
@ -9,7 +11,7 @@ class GameDetail {
int _nbPoints; int _nbPoints;
bool _isFinished; bool _isFinished;
Round? _currentRound; Round? _currentRound;
Player _host; Uuid _host;
List<Round> _rounds = []; List<Round> _rounds = [];
List<Player> _players = []; List<Player> _players = [];
@ -62,9 +64,9 @@ class GameDetail {
_currentRound = value; _currentRound = value;
} }
Player get host => _host; Uuid get host => _host;
set host(Player value) { set host(Uuid value) {
_host = value; _host = value;
} }
@ -79,4 +81,30 @@ class GameDetail {
set players(List<Player> value) { set players(List<Player> value) {
_players = value; _players = value;
} }
int getPointByPlayerId(Uuid uuid) {
int pointPlayer = 0;
for (var player in players) {
if (player.id == uuid) {
for (var element in rounds) {
if (element.player == player) {
pointPlayer += element.points;
}
}
return pointPlayer;
}
}
throw Exception("Player not in the game.");
}
Map<Uuid, int> getRank() {
Map<Uuid, int> rank = {};
for (var player in players) {
rank.addAll({player.id: this.getPointByPlayerId(player.id)});
}
var sortedByKeyMap = Map.fromEntries(
rank.entries.toList()..sort((e1, e2) => e2.value.compareTo(e1.value)));
return sortedByKeyMap;
}
} }

@ -1,4 +1,6 @@
library StubLib; library StubLib;
import '../Game.dart';
import '../IGameManager.dart'; import '../IGameManager.dart';
import '../GameDetail.dart'; import '../GameDetail.dart';
import '../Player.dart'; import '../Player.dart';
@ -7,7 +9,6 @@ import '../Guest.dart';
import 'StubData.dart'; import 'StubData.dart';
import 'package:uuid/uuid.dart'; import 'package:uuid/uuid.dart';
class GameManager extends IGameManager { class GameManager extends IGameManager {
List<GameDetail> games = []; List<GameDetail> games = [];
final StubData parent; final StubData parent;
@ -17,20 +18,36 @@ class GameManager extends IGameManager {
// Methods // Methods
GameDetail getGameById(Uuid id) { GameDetail getGameById(Uuid id) {
return new GameDetail(Uuid(), DateTime.now(), Uuid(), 290, true, null, Guest(Uuid(),"",""), [ ], [] ); for (var element in parent.gameDetails) {
if (element.id == id) {
return element;
}
}
throw Exception("Game not found.");
} }
List<GameDetail> getGamesByPlayerId(Uuid id) { List<GameDetail> getGamesByPlayerId(Uuid id) {
return []; List<GameDetail> games = [];
for (var element in parent.gameDetails) {
if (element.players.contains(id)) {
games.add(element);
} }
}
throw Exception("Game not found.");
}
List<GameDetail> getGamesByPlayer(Player user) { List<GameDetail> getGamesByPlayer(Player user) {
return []; return [];
} }
List<GameDetail> getGamesByPlayers(List<Player> users) { List<GameDetail> getGamesByPlayers(List<Player> users) {
return []; return [];
} }
List<User> getPlayersByIdGame(Uuid id) { List<User> getPlayersByIdGame(Uuid id) {
return []; return [];
} }
Map<int, Uuid> getRankByIdGame(Uuid id) { Map<int, Uuid> getRankByIdGame(Uuid id) {
return {}; return {};
} }

@ -1,9 +1,15 @@
library StubLib; library StubLib;
import 'package:bowl_in/model/Game.dart';
import '../IManager.dart'; import '../IManager.dart';
import '../IUserManager.dart'; import '../IUserManager.dart';
import '../IGameManager.dart'; import '../IGameManager.dart';
import '../Player.dart';
import '../Round.dart';
import '../User.dart'; import '../User.dart';
import '../Achievement.dart'; import '../Achievement.dart';
import '../GameDetail.dart';
import '../Stat.dart'; import '../Stat.dart';
import 'UserManager.dart'; import 'UserManager.dart';
import 'GameManager.dart'; import 'GameManager.dart';
@ -16,11 +22,84 @@ class StubData extends IManager {
StubData() { StubData() {
_userMgr = UserManager(this); _userMgr = UserManager(this);
_gameMgr = GameManager(this); _gameMgr = GameManager(this);
_initRounds();
_initGameDetails();
_initGame();
} }
List<Player> players = [
Player(Uuid(), "Mathieu", "./assets/images/image_user_cyan.png"),
Player(Uuid(), "Robin", "./assets/images/image_user_purple.png"),
Player(Uuid(), "Lucas", "./assets/images/image_user_red.png"),
Player(Uuid(), "Emre", "./assets/images/image_user_blue.png"),
Player(Uuid(), "Louison", "./assets/images/image_user_cyan.png"),
Player(Uuid(), "Arthur", "./assets/images/image_user_yellow.png"),
Player(Uuid(), "David", "./assets/images/image_user_pink.png"),
];
List<User> users = [ List<User> 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(
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)) 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))
]; ];
List<GameDetail> gameDetails = [];
void _initGameDetails() {
var uui = Uuid();
gameDetails.add(GameDetail(Uuid(), DateTime.now(), users[0].id, 123, true,
null, users[0].id, rounds, [players[0], players[1]]));
gameDetails.add(GameDetail(Uuid(), DateTime.now(), users[1].id, 113, true,
null, users[1].id, rounds, [players[0], players[1]]));
}
List<Round> rounds = [];
void _initRounds() {
rounds.add(Round(4, 5, 9, users[0]));
rounds.add(Round(4, 1, 5, users[1]));
rounds.add(Round(4, 5, 9, users[0]));
rounds.add(Round(4, 1, 5, users[1]));
rounds.add(Round(4, 5, 9, users[0]));
rounds.add(Round(1, 5, 6, users[1]));
rounds.add(Round(4, 1, 5, users[0]));
rounds.add(Round(1, 5, 6, users[1]));
rounds.add(Round(4, 5, 9, users[0]));
rounds.add(Round(9, 0, 9, users[1]));
rounds.add(Round(4, 5, 9, users[0]));
rounds.add(Round(4, 5, 9, users[1]));
rounds.add(Round(4, 2, 6, users[0]));
rounds.add(Round(3, 5, 8, users[1]));
rounds.add(Round(4, 5, 9, users[0]));
rounds.add(Round(4, 5, 9, users[1]));
rounds.add(Round(1, 5, 6, users[0]));
rounds.add(Round(4, 5, 9, users[1]));
rounds.add(Round(4, 5, 9, users[0]));
rounds.add(Round(4, 1, 5, users[1]));
}
List<Game> games = [];
void _initGame() {
games.add(Game(gameDetails[0].id, DateTime.now(), 123, true, []));
games.add(Game(gameDetails[1].id, DateTime.now(), 101, true, []));
}
} }

@ -1,5 +1,6 @@
import 'package:uuid/uuid.dart'; import 'package:uuid/uuid.dart';
import 'Achievement.dart'; import 'Achievement.dart';
import 'Game.dart';
import 'Player.dart'; import 'Player.dart';
import 'Stat.dart'; import 'Stat.dart';
@ -8,9 +9,11 @@ class User extends Player {
List<Achievement> _achievements = <Achievement>[]; List<Achievement> _achievements = <Achievement>[];
List<User> _friends = <User>[]; List<User> _friends = <User>[];
Stat _stat; Stat _stat;
List<Game> games = [];
// Constructor // 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); : super(id, name, image);
// Getters and setters // Getters and setters

@ -5,120 +5,105 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: archive name: archive
sha256: ed7cc591a948744994714375caf9a2ce89e1d82e8243997c8a2994d57181c212 url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "3.3.5" version: "3.3.6"
args: args:
dependency: transitive dependency: transitive
description: description:
name: args name: args
sha256: "139d809800a412ebb26a3892da228b2d0ba36f0ef5d9a82166e5e52ec8d61611" url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "2.3.2" version: "2.4.0"
async: async:
dependency: transitive dependency: transitive
description: description:
name: async name: async
sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0 url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "2.10.0" version: "2.9.0"
boolean_selector: boolean_selector:
dependency: transitive dependency: transitive
description: description:
name: boolean_selector name: boolean_selector
sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "2.1.1" version: "2.1.0"
characters: characters:
dependency: transitive dependency: transitive
description: description:
name: characters name: characters
sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "1.2.1" version: "1.2.1"
checked_yaml: checked_yaml:
dependency: transitive dependency: transitive
description: description:
name: checked_yaml name: checked_yaml
sha256: "3d1505d91afa809d177efd4eed5bb0eb65805097a1463abdd2add076effae311" url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "2.0.2" version: "2.0.2"
cli_util: cli_util:
dependency: transitive dependency: transitive
description: description:
name: cli_util name: cli_util
sha256: "66f86e916d285c1a93d3b79587d94bd71984a66aac4ff74e524cfa7877f1395c" url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "0.3.5" version: "0.3.5"
clock: clock:
dependency: transitive dependency: transitive
description: description:
name: clock name: clock
sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "1.1.1" version: "1.1.1"
collection: collection:
dependency: transitive dependency: transitive
description: description:
name: collection name: collection
sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0 url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "1.17.0" version: "1.16.0"
convert: convert:
dependency: transitive dependency: transitive
description: description:
name: convert name: convert
sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "3.1.1" version: "3.1.1"
crypto: crypto:
dependency: transitive dependency: transitive
description: description:
name: crypto name: crypto
sha256: aa274aa7774f8964e4f4f38cc994db7b6158dd36e9187aaceaddc994b35c6c67 url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.2" version: "3.0.2"
cupertino_icons: cupertino_icons:
dependency: "direct main" dependency: "direct main"
description: description:
name: cupertino_icons name: cupertino_icons
sha256: e35129dc44c9118cee2a5603506d823bab99c68393879edb440e0090d07586be url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "1.0.5" version: "1.0.5"
fake_async: fake_async:
dependency: transitive dependency: transitive
description: description:
name: fake_async name: fake_async
sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "1.3.1" version: "1.3.1"
ffi: ffi:
dependency: transitive dependency: transitive
description: description:
name: ffi name: ffi
sha256: a38574032c5f1dd06c4aee541789906c12ccaab8ba01446e800d9c5b79c4a978 url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "2.0.1" version: "2.0.1"
file: file:
dependency: transitive dependency: transitive
description: description:
name: file name: file
sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d" url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "6.1.4" version: "6.1.4"
flutter: flutter:
@ -130,16 +115,14 @@ packages:
dependency: "direct dev" dependency: "direct dev"
description: description:
name: flutter_launcher_icons name: flutter_launcher_icons
sha256: ce0e501cfc258907842238e4ca605e74b7fd1cdf04b3b43e86c43f3e40a1592c url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "0.11.0" version: "0.11.0"
flutter_lints: flutter_lints:
dependency: "direct dev" dependency: "direct dev"
description: description:
name: flutter_lints name: flutter_lints
sha256: aeb0b80a8b3709709c9cc496cdc027c5b3216796bc0af0ce1007eaf24464fd4c url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "2.0.1" version: "2.0.1"
flutter_test: flutter_test:
@ -156,200 +139,175 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: go_router name: go_router
sha256: f611d4396469c46db1c61e934a86e2a590ce02de2a6050d01f677879ce151f4a url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "6.0.1" version: "6.2.0"
google_fonts: google_fonts:
dependency: "direct main" dependency: "direct main"
description: description:
name: google_fonts name: google_fonts
sha256: "8f099045e2f2a30e4d4d0a35f40c6bc941a8f2ca0e10ad9d214ee9edd3f37483" url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.1" version: "3.0.1"
http: http:
dependency: transitive dependency: transitive
description: description:
name: http name: http
sha256: "6aa2946395183537c8b880962d935877325d6a09a2867c3970c05c0fed6ac482" url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "0.13.5" version: "0.13.5"
http_parser: http_parser:
dependency: transitive dependency: transitive
description: description:
name: http_parser name: http_parser
sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "4.0.2" version: "4.0.2"
image: image:
dependency: transitive dependency: transitive
description: description:
name: image name: image
sha256: "8e9d133755c3e84c73288363e6343157c383a0c6c56fc51afcc5d4d7180306d6" url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "3.3.0" version: "3.3.0"
js: js:
dependency: transitive dependency: transitive
description: description:
name: js name: js
sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7" url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "0.6.5" version: "0.6.4"
json_annotation: json_annotation:
dependency: transitive dependency: transitive
description: description:
name: json_annotation name: json_annotation
sha256: c33da08e136c3df0190bd5bbe51ae1df4a7d96e7954d1d7249fea2968a72d317 url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "4.8.0" version: "4.8.0"
lints: lints:
dependency: transitive dependency: transitive
description: description:
name: lints name: lints
sha256: "5e4a9cd06d447758280a8ac2405101e0e2094d2a1dbdd3756aec3fe7775ba593" url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "2.0.1" version: "2.0.1"
logging: logging:
dependency: transitive dependency: transitive
description: description:
name: logging name: logging
sha256: c0bbfe94d46aedf9b8b3e695cf3bd48c8e14b35e3b2c639e0aa7755d589ba946 url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "1.1.0" version: "1.1.1"
matcher: matcher:
dependency: transitive dependency: transitive
description: description:
name: matcher name: matcher
sha256: "16db949ceee371e9b99d22f88fa3a73c4e59fd0afed0bd25fc336eb76c198b72" url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "0.12.13" version: "0.12.12"
material_color_utilities: material_color_utilities:
dependency: transitive dependency: transitive
description: description:
name: material_color_utilities name: material_color_utilities
sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "0.2.0" version: "0.1.5"
meta: meta:
dependency: transitive dependency: transitive
description: description:
name: meta name: meta
sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42" url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "1.8.0" version: "1.8.0"
path: path:
dependency: transitive dependency: transitive
description: description:
name: path name: path
sha256: db9d4f58c908a4ba5953fcee2ae317c94889433e5024c27ce74a37f94267945b url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "1.8.2" version: "1.8.2"
path_provider: path_provider:
dependency: transitive dependency: transitive
description: description:
name: path_provider name: path_provider
sha256: dcea5feb97d8abf90cab9e9030b497fb7c3cbf26b7a1fe9e3ef7dcb0a1ddec95 url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "2.0.12" version: "2.0.13"
path_provider_android: path_provider_android:
dependency: transitive dependency: transitive
description: description:
name: path_provider_android name: path_provider_android
sha256: a776c088d671b27f6e3aa8881d64b87b3e80201c64e8869b811325de7a76c15e url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "2.0.22" version: "2.0.23"
path_provider_foundation: path_provider_foundation:
dependency: transitive dependency: transitive
description: description:
name: path_provider_foundation name: path_provider_foundation
sha256: "6637955e38a5f1851c023482c25a60c93972ea06c8608e2f25ad0064c46c0939" url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "2.1.0" version: "2.1.2"
path_provider_linux: path_provider_linux:
dependency: transitive dependency: transitive
description: description:
name: path_provider_linux name: path_provider_linux
sha256: ab0987bf95bc591da42dffb38c77398fc43309f0b9b894dcc5d6f40c4b26c379 url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "2.1.7" version: "2.1.9"
path_provider_platform_interface: path_provider_platform_interface:
dependency: transitive dependency: transitive
description: description:
name: path_provider_platform_interface name: path_provider_platform_interface
sha256: f0abc8ebd7253741f05488b4813d936b4d07c6bae3e86148a09e342ee4b08e76 url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "2.0.5" version: "2.0.6"
path_provider_windows: path_provider_windows:
dependency: transitive dependency: transitive
description: description:
name: path_provider_windows name: path_provider_windows
sha256: bcabbe399d4042b8ee687e17548d5d3f527255253b4a639f5f8d2094a9c2b45c url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "2.1.3" version: "2.1.4"
petitparser: petitparser:
dependency: transitive dependency: transitive
description: description:
name: petitparser name: petitparser
sha256: "49392a45ced973e8d94a85fdb21293fbb40ba805fc49f2965101ae748a3683b4" url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "5.1.0" version: "5.1.0"
platform: platform:
dependency: transitive dependency: transitive
description: description:
name: platform name: platform
sha256: "4a451831508d7d6ca779f7ac6e212b4023dd5a7d08a27a63da33756410e32b76" url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "3.1.0" version: "3.1.0"
plugin_platform_interface: plugin_platform_interface:
dependency: transitive dependency: transitive
description: description:
name: plugin_platform_interface name: plugin_platform_interface
sha256: dbf0f707c78beedc9200146ad3cb0ab4d5da13c246336987be6940f026500d3a url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "2.1.3" version: "2.1.4"
pointycastle: pointycastle:
dependency: transitive dependency: transitive
description: description:
name: pointycastle name: pointycastle
sha256: db7306cf0249f838d1a24af52b5a5887c5bf7f31d8bb4e827d071dc0939ad346 url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "3.6.2" version: "3.6.2"
process: process:
dependency: transitive dependency: transitive
description: description:
name: process name: process
sha256: "53fd8db9cec1d37b0574e12f07520d582019cb6c44abf5479a01505099a34a09" url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "4.2.4" version: "4.2.4"
simple_gradient_text: simple_gradient_text:
dependency: "direct main" dependency: "direct main"
description: description:
name: simple_gradient_text name: simple_gradient_text
sha256: "075a2cbabac021d3713d0d199b2d1b0d40f6293e1e9d37b25e84936ae43c90fa" url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "1.2.4" version: "1.2.4"
sky_engine: sky_engine:
@ -361,104 +319,91 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: source_span name: source_span
sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "1.9.1" version: "1.9.0"
stack_trace: stack_trace:
dependency: transitive dependency: transitive
description: description:
name: stack_trace name: stack_trace
sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "1.11.0" version: "1.10.0"
stream_channel: stream_channel:
dependency: transitive dependency: transitive
description: description:
name: stream_channel name: stream_channel
sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "2.1.1" version: "2.1.0"
string_scanner: string_scanner:
dependency: transitive dependency: transitive
description: description:
name: string_scanner name: string_scanner
sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "1.2.0" version: "1.1.1"
term_glyph: term_glyph:
dependency: transitive dependency: transitive
description: description:
name: term_glyph name: term_glyph
sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "1.2.1" version: "1.2.1"
test_api: test_api:
dependency: transitive dependency: transitive
description: description:
name: test_api name: test_api
sha256: ad540f65f92caa91bf21dfc8ffb8c589d6e4dc0c2267818b4cc2792857706206 url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "0.4.16" version: "0.4.12"
typed_data: typed_data:
dependency: transitive dependency: transitive
description: description:
name: typed_data name: typed_data
sha256: "26f87ade979c47a150c9eaab93ccd2bebe70a27dc0b4b29517f2904f04eb11a5" url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "1.3.1" version: "1.3.1"
uuid: uuid:
dependency: "direct main" dependency: "direct main"
description: description:
name: uuid name: uuid
sha256: "648e103079f7c64a36dc7d39369cabb358d377078a051d6ae2ad3aa539519313" url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.7" version: "3.0.7"
vector_math: vector_math:
dependency: transitive dependency: transitive
description: description:
name: vector_math name: vector_math
sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "2.1.4" version: "2.1.2"
win32: win32:
dependency: transitive dependency: transitive
description: description:
name: win32 name: win32
sha256: c9ebe7ee4ab0c2194e65d3a07d8c54c5d00bb001b76081c4a04cdb8448b59e46 url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "3.1.3" version: "3.1.3"
xdg_directories: xdg_directories:
dependency: transitive dependency: transitive
description: description:
name: xdg_directories name: xdg_directories
sha256: bd512f03919aac5f1313eb8249f223bacf4927031bf60b02601f81f687689e86 url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "0.2.0+3" version: "1.0.0"
xml: xml:
dependency: transitive dependency: transitive
description: description:
name: xml name: xml
sha256: ac0e3f4bf00ba2708c33fbabbbe766300e509f8c82dbd4ab6525039813f7e2fb url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "6.1.0" version: "6.1.0"
yaml: yaml:
dependency: transitive dependency: transitive
description: description:
name: yaml name: yaml
sha256: "23812a9b125b48d4007117254bca50abb6c712352927eece9e155207b1db2370" url: "https://pub.dartlang.org"
url: "https://pub.dev"
source: hosted source: hosted
version: "3.1.1" version: "3.1.1"
sdks: sdks:

@ -30,16 +30,28 @@ void main() {
print("Stats:"); print("Stats:");
for (var stat in 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<Player> players = [ List<Player> players = [
Player(Uuid(), "Rami", "https://fastly.picsum.photos/id/1060/2000/2000.jpg?hmac=_RrU8GpkCDUlVKfgyWE-GcX-GS5TKNyUzdFbJAGXHV4"), Player(Uuid(), "Rami",
Player(Uuid(), "Emre", "https://fastly.picsum.photos/id/670/2000/2000.jpg?hmac=zWqTr_vDEab3dBtp7JZgJP8TRCPNanJ4tYwDDd-jGYA"), "https://fastly.picsum.photos/id/1060/2000/2000.jpg?hmac=_RrU8GpkCDUlVKfgyWE-GcX-GS5TKNyUzdFbJAGXHV4"),
Guest(Uuid(), "Bot1","https://fastly.picsum.photos/id/820/2000/2000.jpg?hmac=Ctxx2feJNZnG1S7UPx_YrWcEw89tKb7fR8i1W-VTOz4"), Player(Uuid(), "Emre",
Guest(Uuid(), "Bot2","https://fastly.picsum.photos/id/288/2000/2000.jpg?hmac=AUboE-jzAzofYj_O3w_EqtZU3JHzcg7HR1IQd1Ce7lY"), "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, ami,
User( User(
Uuid(), Uuid(),
@ -51,21 +63,19 @@ void main() {
Achievement("2 strikes in a row"), Achievement("2 strikes in a row"),
Achievement("Win a game") Achievement("Win a game")
], ],
[ [ami],
ami stats[0])
],
stats[0]
)
]; ];
print("Players :"); 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) { for (var player in players) {
if (player is Guest) { 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) { } 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:"); print("\tAchievements:");
for (var achievement in player.achievements) { for (var achievement in player.achievements) {
print("\t\tNom: ${achievement.name}"); print("\t\tNom: ${achievement.name}");
@ -74,22 +84,101 @@ void main() {
for (var amis in player.friends) { for (var amis in player.friends) {
print("\t\tNom: ${amis.name}, Mail: ${amis.mail}"); 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 { } 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 //GameDetail
List<GameDetail> games = [ List<GameDetail> 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(
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]] ), Uuid(), DateTime.now(), players[0].id, 290, true, null, players[0].id, [
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]] ), Round(10, null, 10, players[0]),
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]] ), Round(5, 2, 7, players[1]),
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]] ), Round(5, 1, 12, players[0]),
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]] ), Round(5, 2, 7, players[1]),
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]] ) ], [
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 :"); print("GameDetail :");
@ -101,6 +190,7 @@ void main() {
print("\tIs Finished: ${game.isFinished}"); print("\tIs Finished: ${game.isFinished}");
print("\tCurrent Round: ${game.currentRound}"); print("\tCurrent Round: ${game.currentRound}");
print("\tHost: ${game.host}"); print("\tHost: ${game.host}");
print("\tRank: ${game.getRank()}");
print("\tRounds:"); print("\tRounds:");
for (var round in game.rounds) { for (var round in game.rounds) {
@ -119,8 +209,5 @@ void main() {
print("\t-----------------------------------------"); print("\t-----------------------------------------");
print("StubManager:"); print("StubManager:");
} }
} }

Loading…
Cancel
Save