Correction of errors in the model and start of the StubManager
continuous-integration/drone/push Build is passing Details

pull/17/head
Emre KARTAL 2 years ago
parent 9d9606b960
commit 9da23d8b28

@ -8,7 +8,7 @@ class GameDetail {
Uuid _winner; Uuid _winner;
int _nbPoints; int _nbPoints;
bool _isFinished; bool _isFinished;
Round _currentRound; Round? _currentRound;
Player _host; Player _host;
List<Round> _rounds = []; List<Round> _rounds = [];
List<Player> _players = []; List<Player> _players = [];
@ -56,9 +56,9 @@ class GameDetail {
_isFinished = value; _isFinished = value;
} }
Round get currentRound => _currentRound; Round? get currentRound => _currentRound;
set currentRound(Round value) { set currentRound(Round? value) {
_currentRound = value; _currentRound = value;
} }

@ -2,6 +2,7 @@ import 'package:uuid/uuid.dart';
import 'package:uuid/uuid_util.dart'; import 'package:uuid/uuid_util.dart';
import 'GameDetail.dart'; import 'GameDetail.dart';
import 'Player.dart'; import 'Player.dart';
import 'User.dart';
abstract class IGameManager { abstract class IGameManager {
// Methods // Methods

@ -7,11 +7,8 @@ import 'Game.dart';
abstract class IManager { abstract class IManager {
late User _userCurrent; late User _userCurrent;
late Game _gameCurrent; late Game _gameCurrent;
IUserManager _userMgr; late IUserManager _userMgr;
IGameManager _gameMgr; late IGameManager _gameMgr;
// Constructor
IManager(this._userCurrent, this._gameCurrent);
// Getters and setters // Getters and setters
User get userCurrent => _userCurrent; User get userCurrent => _userCurrent;

@ -5,6 +5,9 @@ import 'IAuthManager.dart';
abstract class IUserManager { abstract class IUserManager {
IAuthManager _authMgr; IAuthManager _authMgr;
// Constructor
IUserManager(this._authMgr);
// Methods // Methods
IAuthManager get authMgr => _authMgr; IAuthManager get authMgr => _authMgr;
List<User> getUsersByName(String name); List<User> getUsersByName(String name);

@ -2,7 +2,7 @@ import 'Player.dart';
class Round { class Round {
int _firstThrow; int _firstThrow;
int _secondThrow; int? _secondThrow;
int _points; int _points;
Player _player; Player _player;
@ -16,9 +16,9 @@ class Round {
_firstThrow = value; _firstThrow = value;
} }
int get secondThrow => _secondThrow; int? get secondThrow => _secondThrow;
set secondThrow(int value) { set secondThrow(int? value) {
_secondThrow = value; _secondThrow = value;
} }

@ -6,7 +6,7 @@ class Stat {
int _nbStrikes; int _nbStrikes;
int _nbSpares; int _nbSpares;
int _nbScore; int _nbScore;
int _avgScore; double _avgScore;
double _avgPinsPerRound; double _avgPinsPerRound;
// Constructor // Constructor
@ -65,9 +65,9 @@ class Stat {
_nbScore = value; _nbScore = value;
} }
int get avgScore => _avgScore; double get avgScore => _avgScore;
set avgScore(int value) { set avgScore(double value) {
_avgScore = value; _avgScore = value;
} }

@ -1,9 +1,14 @@
library StubLib; library StubLib;
import '../IAuthManager.dart'; import '../IAuthManager.dart';
import 'StubData.dart';
class AuthManager extends IAuthManager { class AuthManager extends IAuthManager {
// Methods final StubData parent;
bool verifiedUser(String name, String password) {
} // Constructor
AuthManager(this.parent);
// Methods
bool verifiedUser(String name, String password) {
return false;
}
} }

@ -1,26 +1,37 @@
library StubLib; library StubLib;
import '../IGameManager.dart'; 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 { class GameManager extends IGameManager {
List<GameDetail> games = []; List<GameDetail> games = [];
final StubData parent;
// Constructor
GameManager(this.parent);
// Methods // Methods
GameDetail getGameById(Uuid id) { GameDetail getGameById(Uuid id) {
return new GameDetail(Uuid(), DateTime.now(), Uuid(), 290, true, null, Guest(Uuid(),"",""), [ ], [] );
} }
List<GameDetail> getGamesByPlayerId(Uuid id) { List<GameDetail> getGamesByPlayerId(Uuid id) {
return [];
} }
List<GameDetail> getGamesByPlayer(Player user) { List<GameDetail> getGamesByPlayer(Player user) {
return [];
} }
List<GameDetail> getGamesByPlayers(List<Player> users) { List<GameDetail> getGamesByPlayers(List<Player> users) {
return [];
} }
List<User> getPlayersByIdGame(Uuid id) { List<User> getPlayersByIdGame(Uuid id) {
return [];
} }
Map<int, Uuid> getRankByIdGame(Uuid id) { Map<int, Uuid> getRankByIdGame(Uuid id) {
return {};
} }
} }

@ -1,7 +1,26 @@
library StubLib; library StubLib;
import '../IManager.dart'; 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 { class StubData extends IManager {
IUserManager _userMgr = new UserManager(); late IUserManager _userMgr;
IGameManager _gameMgr = new GameManger(); late IGameManager _gameMgr;
StubData() {
_userMgr = UserManager(this);
_gameMgr = GameManager(this);
}
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(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))
];
} }

@ -1,15 +1,23 @@
library StubLib; library StubLib;
import '../IUserManager.dart'; 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 { class UserManager extends IUserManager {
IAuthManager _authMgr = new AuthManager(); final StubData parent;
// Constructor
UserManager(this.parent):super(AuthManager(parent));
// Methods // Methods
IAuthManager get authMgr => _authMgr;
List<User> getUsersByName(String name) { List<User> getUsersByName(String name) {
return [];
} }
User getUserById(Uuid id) { User getUserById(Uuid id) {
return User(Uuid(),"","","",[],[], Stat(10,10,10,10,10,10,10,10,10));
} }
} }

@ -7,10 +7,10 @@ class User extends Player {
String _mail; String _mail;
List<Achievement> _achievements = <Achievement>[]; List<Achievement> _achievements = <Achievement>[];
List<User> _friends = <User>[]; List<User> _friends = <User>[];
List<Stat> _stats = <Stat>[]; Stat _stat;
// Constructor // 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); : super(id, name, image);
// Getters and setters // Getters and setters
@ -32,9 +32,9 @@ class User extends Player {
_friends = value; _friends = value;
} }
List<Stat> get stats => _stats; Stat get stat => _stat;
set stats(List<Stat> value) { set stats(Stat value) {
_stats = value; _stat = value;
} }
} }

@ -2,16 +2,19 @@ import '../lib/model/Player.dart';
import '../lib/model/Guest.dart'; import '../lib/model/Guest.dart';
import '../lib/model/User.dart'; import '../lib/model/User.dart';
import '../lib/model/Stat.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 'dart:math';
import '../lib/model/Achievement.dart'; import '../lib/model/Achievement.dart';
import 'package:uuid/uuid.dart'; import 'package:uuid/uuid.dart';
void main() { void main() {
List<Stat> stats = []; List<Stat> stats = [];
Random random = new Random(); Random random = Random();
for (int i = 0; i < 10; i++) { 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(50) + 1, // valeur aléatoire entre 1 et 50
random.nextInt(20) + 1, // valeur aléatoire entre 1 et 20 random.nextInt(20) + 1, // valeur aléatoire entre 1 et 20
random.nextInt(30) + 1, // valeur aléatoire entre 1 et 30 random.nextInt(30) + 1, // valeur aléatoire entre 1 et 30
@ -25,28 +28,33 @@ void main() {
stats.add(stat); 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<Player> players = [ List<Player> players = [
new Player(Uuid(), "Rami", "https://fastly.picsum.photos/id/1060/2000/2000.jpg?hmac=_RrU8GpkCDUlVKfgyWE-GcX-GS5TKNyUzdFbJAGXHV4"), 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"), 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"), 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"), Guest(Uuid(), "Bot2","https://fastly.picsum.photos/id/288/2000/2000.jpg?hmac=AUboE-jzAzofYj_O3w_EqtZU3JHzcg7HR1IQd1Ce7lY"),
ami, ami,
new User( User(
Uuid(), Uuid(),
"Louison", "Louison",
"https://fastly.picsum.photos/id/1029/2000/2000.jpg?hmac=_K3pMobVk00dfNR7rsj1NLnEBB5Gf88SvGPbbjoH-Uc", "https://fastly.picsum.photos/id/1029/2000/2000.jpg?hmac=_K3pMobVk00dfNR7rsj1NLnEBB5Gf88SvGPbbjoH-Uc",
"louison.parant@etu.uca.fr", "louison.parant@etu.uca.fr",
[ [
new Achievement("5 games"), Achievement("5 games"),
new Achievement("2 strikes in a row"), Achievement("2 strikes in a row"),
new Achievement("Win a game") Achievement("Win a game")
], ],
[ [
ami ami
], ],
stats stats[0]
) )
]; ];
@ -62,15 +70,11 @@ void main() {
for (var achievement in player.achievements) { for (var achievement in player.achievements) {
print("\t\tNom: ${achievement.name}"); 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:"); print("\tAmis:");
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}");
} 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");
} }
@ -79,41 +83,43 @@ void main() {
//GameDetail //GameDetail
List<GameDetail> games = [ List<GameDetail> 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]] ), 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]] ),
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]] ), 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]] ),
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]] ), 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]] ),
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]] ), 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]] ),
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]] ), 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]] ),
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]] ), 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]] ),
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().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 :"); print("GameDetail :");
for (var game in games) { for (var game in games) {
print("Game ID: ${game.id}"); print("\tGame ID: ${game.id}");
print("Time: ${game.time}"); print("\tTime: ${game.time}");
print("Winner: ${game.winner}"); print("\tWinner: ${game.winner}");
print("Number of Points: ${game.nbPoints}"); print("\tNumber of Points: ${game.nbPoints}");
print("Is Finished: ${game.isFinished}"); print("\tIs Finished: ${game.isFinished}");
print("Current Round: ${game.currentRound}"); print("\tCurrent Round: ${game.currentRound}");
print("Host: ${game.host}"); print("\tHost: ${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:"); print("\tRounds:");
for (var player in game.players) { for (var round in game.rounds) {
print("Player ID: ${player.id}"); print("\t\tRound Score: ${round.firstThrow}");
print("Player Name: ${player.name}"); print("\t\tRound Bonus: ${round.secondThrow}");
print("Player Score: ${player.score}"); 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("----------------------------");
} }

Loading…
Cancel
Save