diff --git a/.idea/Bowl_in.iml b/.idea/Bowl_in.iml
index eed4b67..f1b2d07 100644
--- a/.idea/Bowl_in.iml
+++ b/.idea/Bowl_in.iml
@@ -9,5 +9,7 @@
+
+
\ No newline at end of file
diff --git a/Sources/bowlin_project/lib/model/Game.dart b/Sources/bowlin_project/lib/model/Game.dart
index bf0065b..16cc875 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 _playersId = [];
// 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
Uuid get id => _id;
@@ -35,9 +36,9 @@ class Game {
_isFinished = value;
}
- List get playerImages => _playerImages;
+ List get playersId => _playersId;
- set playerImages(List value) {
- _playerImages = value;
+ set playersId(List value) {
+ _playersId = value;
}
}
diff --git a/Sources/bowlin_project/lib/model/GameDetail.dart b/Sources/bowlin_project/lib/model/GameDetail.dart
index 12a86f2..2085b49 100644
--- a/Sources/bowlin_project/lib/model/GameDetail.dart
+++ b/Sources/bowlin_project/lib/model/GameDetail.dart
@@ -1,3 +1,5 @@
+import 'dart:developer';
+
import 'package:uuid/uuid.dart';
import 'Player.dart';
import 'Round.dart';
@@ -9,7 +11,7 @@ class GameDetail {
int _nbPoints;
bool _isFinished;
Round? _currentRound;
- Player _host;
+ Uuid _host;
List _rounds = [];
List _players = [];
@@ -24,7 +26,7 @@ class GameDetail {
this._host,
this._rounds,
this._players);
-
+
// Getters and setters
Uuid get id => _id;
@@ -62,9 +64,9 @@ class GameDetail {
_currentRound = value;
}
- Player get host => _host;
+ Uuid get host => _host;
- set host(Player value) {
+ set host(Uuid value) {
_host = value;
}
@@ -79,4 +81,30 @@ class GameDetail {
set players(List 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 getRank() {
+ Map 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;
+ }
}
diff --git a/Sources/bowlin_project/lib/model/StubManager/GameManager.dart b/Sources/bowlin_project/lib/model/StubManager/GameManager.dart
index 01b7dbb..a81b9bf 100644
--- a/Sources/bowlin_project/lib/model/StubManager/GameManager.dart
+++ b/Sources/bowlin_project/lib/model/StubManager/GameManager.dart
@@ -1,4 +1,6 @@
library StubLib;
+
+import '../Game.dart';
import '../IGameManager.dart';
import '../GameDetail.dart';
import '../Player.dart';
@@ -7,7 +9,6 @@ import '../Guest.dart';
import 'StubData.dart';
import 'package:uuid/uuid.dart';
-
class GameManager extends IGameManager {
List games = [];
final StubData parent;
@@ -17,21 +18,37 @@ class GameManager extends IGameManager {
// Methods
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 getGamesByPlayerId(Uuid id) {
- return [];
+ List games = [];
+ for (var element in parent.gameDetails) {
+ if (element.players.contains(id)) {
+ games.add(element);
+ }
+ }
+ throw Exception("Game not found.");
}
+
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/StubManager/StubData.dart b/Sources/bowlin_project/lib/model/StubManager/StubData.dart
index 08b9dc4..0be09df 100644
--- a/Sources/bowlin_project/lib/model/StubManager/StubData.dart
+++ b/Sources/bowlin_project/lib/model/StubManager/StubData.dart
@@ -1,9 +1,15 @@
library StubLib;
+
+import 'package:bowl_in/model/Game.dart';
+
import '../IManager.dart';
import '../IUserManager.dart';
import '../IGameManager.dart';
+import '../Player.dart';
+import '../Round.dart';
import '../User.dart';
import '../Achievement.dart';
+import '../GameDetail.dart';
import '../Stat.dart';
import 'UserManager.dart';
import 'GameManager.dart';
@@ -16,11 +22,84 @@ class StubData extends IManager {
StubData() {
_userMgr = UserManager(this);
_gameMgr = GameManager(this);
+ _initRounds();
+ _initGameDetails();
+ _initGame();
}
+ List 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 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))
+ 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
+ List 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 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 games = [];
+ void _initGame() {
+ games.add(Game(gameDetails[0].id, DateTime.now(), 123, true, []));
+ games.add(Game(gameDetails[1].id, DateTime.now(), 101, true, []));
+ }
+}
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/pubspec.lock b/Sources/bowlin_project/pubspec.lock
index da2a4e6..581d755 100644
--- a/Sources/bowlin_project/pubspec.lock
+++ b/Sources/bowlin_project/pubspec.lock
@@ -5,120 +5,105 @@ packages:
dependency: transitive
description:
name: archive
- sha256: ed7cc591a948744994714375caf9a2ce89e1d82e8243997c8a2994d57181c212
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "3.3.5"
+ version: "3.3.6"
args:
dependency: transitive
description:
name: args
- sha256: "139d809800a412ebb26a3892da228b2d0ba36f0ef5d9a82166e5e52ec8d61611"
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "2.3.2"
+ version: "2.4.0"
async:
dependency: transitive
description:
name: async
- sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "2.10.0"
+ version: "2.9.0"
boolean_selector:
dependency: transitive
description:
name: boolean_selector
- sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "2.1.1"
+ version: "2.1.0"
characters:
dependency: transitive
description:
name: characters
- sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.2.1"
checked_yaml:
dependency: transitive
description:
name: checked_yaml
- sha256: "3d1505d91afa809d177efd4eed5bb0eb65805097a1463abdd2add076effae311"
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.0.2"
cli_util:
dependency: transitive
description:
name: cli_util
- sha256: "66f86e916d285c1a93d3b79587d94bd71984a66aac4ff74e524cfa7877f1395c"
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
version: "0.3.5"
clock:
dependency: transitive
description:
name: clock
- sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.1.1"
collection:
dependency: transitive
description:
name: collection
- sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "1.17.0"
+ version: "1.16.0"
convert:
dependency: transitive
description:
name: convert
- sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592"
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
version: "3.1.1"
crypto:
dependency: transitive
description:
name: crypto
- sha256: aa274aa7774f8964e4f4f38cc994db7b6158dd36e9187aaceaddc994b35c6c67
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
version: "3.0.2"
cupertino_icons:
dependency: "direct main"
description:
name: cupertino_icons
- sha256: e35129dc44c9118cee2a5603506d823bab99c68393879edb440e0090d07586be
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.0.5"
fake_async:
dependency: transitive
description:
name: fake_async
- sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.3.1"
ffi:
dependency: transitive
description:
name: ffi
- sha256: a38574032c5f1dd06c4aee541789906c12ccaab8ba01446e800d9c5b79c4a978
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.0.1"
file:
dependency: transitive
description:
name: file
- sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d"
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
version: "6.1.4"
flutter:
@@ -130,16 +115,14 @@ packages:
dependency: "direct dev"
description:
name: flutter_launcher_icons
- sha256: ce0e501cfc258907842238e4ca605e74b7fd1cdf04b3b43e86c43f3e40a1592c
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
version: "0.11.0"
flutter_lints:
dependency: "direct dev"
description:
name: flutter_lints
- sha256: aeb0b80a8b3709709c9cc496cdc027c5b3216796bc0af0ce1007eaf24464fd4c
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.0.1"
flutter_test:
@@ -156,200 +139,175 @@ packages:
dependency: "direct main"
description:
name: go_router
- sha256: f611d4396469c46db1c61e934a86e2a590ce02de2a6050d01f677879ce151f4a
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "6.0.1"
+ version: "6.2.0"
google_fonts:
dependency: "direct main"
description:
name: google_fonts
- sha256: "8f099045e2f2a30e4d4d0a35f40c6bc941a8f2ca0e10ad9d214ee9edd3f37483"
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
version: "3.0.1"
http:
dependency: transitive
description:
name: http
- sha256: "6aa2946395183537c8b880962d935877325d6a09a2867c3970c05c0fed6ac482"
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
version: "0.13.5"
http_parser:
dependency: transitive
description:
name: http_parser
- sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b"
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
version: "4.0.2"
image:
dependency: transitive
description:
name: image
- sha256: "8e9d133755c3e84c73288363e6343157c383a0c6c56fc51afcc5d4d7180306d6"
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
version: "3.3.0"
js:
dependency: transitive
description:
name: js
- sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7"
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "0.6.5"
+ version: "0.6.4"
json_annotation:
dependency: transitive
description:
name: json_annotation
- sha256: c33da08e136c3df0190bd5bbe51ae1df4a7d96e7954d1d7249fea2968a72d317
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
version: "4.8.0"
lints:
dependency: transitive
description:
name: lints
- sha256: "5e4a9cd06d447758280a8ac2405101e0e2094d2a1dbdd3756aec3fe7775ba593"
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
version: "2.0.1"
logging:
dependency: transitive
description:
name: logging
- sha256: c0bbfe94d46aedf9b8b3e695cf3bd48c8e14b35e3b2c639e0aa7755d589ba946
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "1.1.0"
+ version: "1.1.1"
matcher:
dependency: transitive
description:
name: matcher
- sha256: "16db949ceee371e9b99d22f88fa3a73c4e59fd0afed0bd25fc336eb76c198b72"
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "0.12.13"
+ version: "0.12.12"
material_color_utilities:
dependency: transitive
description:
name: material_color_utilities
- sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "0.2.0"
+ version: "0.1.5"
meta:
dependency: transitive
description:
name: meta
- sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42"
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.8.0"
path:
dependency: transitive
description:
name: path
- sha256: db9d4f58c908a4ba5953fcee2ae317c94889433e5024c27ce74a37f94267945b
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.8.2"
path_provider:
dependency: transitive
description:
name: path_provider
- sha256: dcea5feb97d8abf90cab9e9030b497fb7c3cbf26b7a1fe9e3ef7dcb0a1ddec95
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.12"
+ version: "2.0.13"
path_provider_android:
dependency: transitive
description:
name: path_provider_android
- sha256: a776c088d671b27f6e3aa8881d64b87b3e80201c64e8869b811325de7a76c15e
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.22"
+ version: "2.0.23"
path_provider_foundation:
dependency: transitive
description:
name: path_provider_foundation
- sha256: "6637955e38a5f1851c023482c25a60c93972ea06c8608e2f25ad0064c46c0939"
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "2.1.0"
+ version: "2.1.2"
path_provider_linux:
dependency: transitive
description:
name: path_provider_linux
- sha256: ab0987bf95bc591da42dffb38c77398fc43309f0b9b894dcc5d6f40c4b26c379
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "2.1.7"
+ version: "2.1.9"
path_provider_platform_interface:
dependency: transitive
description:
name: path_provider_platform_interface
- sha256: f0abc8ebd7253741f05488b4813d936b4d07c6bae3e86148a09e342ee4b08e76
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.5"
+ version: "2.0.6"
path_provider_windows:
dependency: transitive
description:
name: path_provider_windows
- sha256: bcabbe399d4042b8ee687e17548d5d3f527255253b4a639f5f8d2094a9c2b45c
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "2.1.3"
+ version: "2.1.4"
petitparser:
dependency: transitive
description:
name: petitparser
- sha256: "49392a45ced973e8d94a85fdb21293fbb40ba805fc49f2965101ae748a3683b4"
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
version: "5.1.0"
platform:
dependency: transitive
description:
name: platform
- sha256: "4a451831508d7d6ca779f7ac6e212b4023dd5a7d08a27a63da33756410e32b76"
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
version: "3.1.0"
plugin_platform_interface:
dependency: transitive
description:
name: plugin_platform_interface
- sha256: dbf0f707c78beedc9200146ad3cb0ab4d5da13c246336987be6940f026500d3a
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "2.1.3"
+ version: "2.1.4"
pointycastle:
dependency: transitive
description:
name: pointycastle
- sha256: db7306cf0249f838d1a24af52b5a5887c5bf7f31d8bb4e827d071dc0939ad346
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
version: "3.6.2"
process:
dependency: transitive
description:
name: process
- sha256: "53fd8db9cec1d37b0574e12f07520d582019cb6c44abf5479a01505099a34a09"
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
version: "4.2.4"
simple_gradient_text:
dependency: "direct main"
description:
name: simple_gradient_text
- sha256: "075a2cbabac021d3713d0d199b2d1b0d40f6293e1e9d37b25e84936ae43c90fa"
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.2.4"
sky_engine:
@@ -361,104 +319,91 @@ packages:
dependency: transitive
description:
name: source_span
- sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "1.9.1"
+ version: "1.9.0"
stack_trace:
dependency: transitive
description:
name: stack_trace
- sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "1.11.0"
+ version: "1.10.0"
stream_channel:
dependency: transitive
description:
name: stream_channel
- sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8"
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "2.1.1"
+ version: "2.1.0"
string_scanner:
dependency: transitive
description:
name: string_scanner
- sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "1.2.0"
+ version: "1.1.1"
term_glyph:
dependency: transitive
description:
name: term_glyph
- sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.2.1"
test_api:
dependency: transitive
description:
name: test_api
- sha256: ad540f65f92caa91bf21dfc8ffb8c589d6e4dc0c2267818b4cc2792857706206
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "0.4.16"
+ version: "0.4.12"
typed_data:
dependency: transitive
description:
name: typed_data
- sha256: "26f87ade979c47a150c9eaab93ccd2bebe70a27dc0b4b29517f2904f04eb11a5"
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
version: "1.3.1"
uuid:
dependency: "direct main"
description:
name: uuid
- sha256: "648e103079f7c64a36dc7d39369cabb358d377078a051d6ae2ad3aa539519313"
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
version: "3.0.7"
vector_math:
dependency: transitive
description:
name: vector_math
- sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "2.1.4"
+ version: "2.1.2"
win32:
dependency: transitive
description:
name: win32
- sha256: c9ebe7ee4ab0c2194e65d3a07d8c54c5d00bb001b76081c4a04cdb8448b59e46
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
version: "3.1.3"
xdg_directories:
dependency: transitive
description:
name: xdg_directories
- sha256: bd512f03919aac5f1313eb8249f223bacf4927031bf60b02601f81f687689e86
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
- version: "0.2.0+3"
+ version: "1.0.0"
xml:
dependency: transitive
description:
name: xml
- sha256: ac0e3f4bf00ba2708c33fbabbbe766300e509f8c82dbd4ab6525039813f7e2fb
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
version: "6.1.0"
yaml:
dependency: transitive
description:
name: yaml
- sha256: "23812a9b125b48d4007117254bca50abb6c712352927eece9e155207b1db2370"
- url: "https://pub.dev"
+ url: "https://pub.dartlang.org"
source: hosted
version: "3.1.1"
sdks:
diff --git a/Sources/bowlin_project/test/model_test.dart b/Sources/bowlin_project/test/model_test.dart
index 25685c3..c4e01e8 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, 1, 12, players[0]),
+ Round(5, 2, 7, players[1]),
+ ], [
+ 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 :");
@@ -101,6 +190,7 @@ void main() {
print("\tIs Finished: ${game.isFinished}");
print("\tCurrent Round: ${game.currentRound}");
print("\tHost: ${game.host}");
+ print("\tRank: ${game.getRank()}");
print("\tRounds:");
for (var round in game.rounds) {
@@ -116,11 +206,8 @@ void main() {
print("\t\tPlayer Name: ${player.name}");
}
- print("\t-----------------------------------------");
-
- print("StubManager:");
-
-}
-
+ print("\t-----------------------------------------");
+ print("StubManager:");
+ }
}