Computing ID and correcting bugs with ScoreBoard modal
continuous-integration/drone/push Build is passing Details

pull/25/head
Arthur VALIN 2 years ago
parent 36031ebf07
commit 316eda5ef6

@ -51,7 +51,7 @@ final GoRouter router = GoRouter(
GoRoute( GoRoute(
path: 'scoreboard', path: 'scoreboard',
builder: (BuildContext context, GoRouterState state) { builder: (BuildContext context, GoRouterState state) {
return FinalScoreBoard(gameDeatil: state.extra as GameDetail); return FinalScoreBoard(gameDetail: state.extra as GameDetail);
}, },
), ),
], ],

@ -1,3 +1,4 @@
import 'package:bowl_in/model/IManager.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'GameDetail.dart'; import 'GameDetail.dart';
@ -7,8 +8,11 @@ import 'Round.dart';
class GamePlayer { class GamePlayer {
late GameDetail _game; late GameDetail _game;
final IManager _parent;
int currentRoundIndex = 0; int currentRoundIndex = 0;
GamePlayer(this._parent);
GameDetail get game => _game; GameDetail get game => _game;
set game(GameDetail value) { set game(GameDetail value) {
@ -23,6 +27,10 @@ class GamePlayer {
} }
if (currentRoundIndex >= game.rounds.length) { if (currentRoundIndex >= game.rounds.length) {
print("FINISHED"); print("FINISHED");
game.id=_parent.gameMgr.getNextId();
_parent.gameMgr.addGame(game);
game.computeScores(); game.computeScores();
context.go("/scoreboard", extra: game); context.go("/scoreboard", extra: game);
} else { } else {

@ -10,5 +10,6 @@ abstract class IGameManager {
List<GameDetail> getGamesByPlayers(List<Player> users); List<GameDetail> getGamesByPlayers(List<Player> users);
List<Player> getPlayersByIdGame(int id); List<Player> getPlayersByIdGame(int id);
Map<Player, int> getRankByIdGame(int id); Map<Player, int> getRankByIdGame(int id);
int getNextId();
addGame(GameDetail gd); addGame(GameDetail gd);
} }

@ -10,7 +10,7 @@ import 'Game.dart';
abstract class IManager { abstract class IManager {
late User _userCurrent; late User _userCurrent;
late GameDetail _gameCurrent; late GameDetail _gameCurrent;
late GamePlayer _gamePlayer = GamePlayer(); late GamePlayer _gamePlayer = GamePlayer(this);
late IUserManager _userMgr; late IUserManager _userMgr;
late IGameManager _gameMgr; late IGameManager _gameMgr;

@ -86,4 +86,9 @@ class GameManager extends IGameManager {
addGame(GameDetail gd) { addGame(GameDetail gd) {
parent.gameDetails.add(gd); parent.gameDetails.add(gd);
} }
@override
int getNextId() {
return parent.gameDetails.length;
}
} }

@ -58,17 +58,16 @@ class _InGameScreenState extends State<InGameScreen> {
ElevatedButton( ElevatedButton(
onPressed: () { onPressed: () {
GameDetail gd = GameDetail( GameDetail gd = GameDetail(
1, -1,
DateTime.now(), DateTime.now(),
null, null,
123, 0,
false, false,
MyApp.controller.userCurrent.id, listPlayers); MyApp.controller.userCurrent.id, listPlayers);
MyApp.controller.gamePlayer.game = gd; MyApp.controller.gamePlayer.game = gd;
MyApp.controller.gameCurrent = gd; MyApp.controller.gameCurrent = gd;
MyApp.controller.gamePlayer.onNext(false, context); MyApp.controller.gamePlayer.onNext(false, context);
MyApp.controller.gameMgr.addGame(gd);
}, },
child: Text( child: Text(
"PLAY", "PLAY",

@ -15,8 +15,8 @@ import '../model/Player.dart';
import '../model/User.dart'; import '../model/User.dart';
class FinalScoreBoard extends StatefulWidget { class FinalScoreBoard extends StatefulWidget {
final GameDetail gameDeatil; final GameDetail gameDetail;
const FinalScoreBoard({Key? key, required this.gameDeatil}) : super(key: key); const FinalScoreBoard({Key? key, required this.gameDetail}) : super(key: key);
@override @override
State<FinalScoreBoard> createState() => _FinalScoreBoardState(); State<FinalScoreBoard> createState() => _FinalScoreBoardState();
@ -28,7 +28,7 @@ class _FinalScoreBoardState extends State<FinalScoreBoard> {
late List<int> scoreList; late List<int> scoreList;
@override @override
void initState() { void initState() {
rank = widget.gameDeatil.getRank(); rank = widget.gameDetail.getRank();
pseudoList = rank.keys.toList(); pseudoList = rank.keys.toList();
scoreList = rank.values.toList(); scoreList = rank.values.toList();
super.initState(); super.initState();

Loading…
Cancel
Save