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

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

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

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

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

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

Loading…
Cancel
Save