From 25d036cc636b9a4a3ed34e6b7e7483f22283c3d6 Mon Sep 17 00:00:00 2001 From: "arthur.valin" Date: Mon, 13 Mar 2023 14:25:13 +0100 Subject: [PATCH] Starting implementation of the bowling game algorithm --- .../bowlin_project/lib/model/AbstractRound.dart | 4 ++-- Sources/bowlin_project/lib/model/GameDetail.dart | 16 +++++----------- Sources/bowlin_project/lib/model/LastRound.dart | 2 +- Sources/bowlin_project/lib/model/Round.dart | 4 ++-- .../lib/model/StubManager/StubData.dart | 10 ++++------ 5 files changed, 14 insertions(+), 22 deletions(-) diff --git a/Sources/bowlin_project/lib/model/AbstractRound.dart b/Sources/bowlin_project/lib/model/AbstractRound.dart index f91756c..1fb357c 100644 --- a/Sources/bowlin_project/lib/model/AbstractRound.dart +++ b/Sources/bowlin_project/lib/model/AbstractRound.dart @@ -66,8 +66,8 @@ abstract class AbstractRound { previousRound?.update(val); } - void unsubscribe(){ - previousRound?.unsubscribe(); + void unsubscribePreviousRound(){ + previousRound?.unsubscribePreviousRound(); previousRound=null; } diff --git a/Sources/bowlin_project/lib/model/GameDetail.dart b/Sources/bowlin_project/lib/model/GameDetail.dart index afee8e4..7676fda 100644 --- a/Sources/bowlin_project/lib/model/GameDetail.dart +++ b/Sources/bowlin_project/lib/model/GameDetail.dart @@ -1,3 +1,5 @@ +import 'package:bowl_in/model/AbstractRound.dart'; + import 'Player.dart'; import 'Round.dart'; @@ -7,9 +9,8 @@ class GameDetail { int _winner; int _nbPoints; bool _isFinished; - Round? _currentRound; int _host; - List _rounds = []; + List _rounds = []; List _players = []; // Constructor @@ -19,7 +20,6 @@ class GameDetail { this._winner, this._nbPoints, this._isFinished, - this._currentRound, this._host, this._rounds, this._players); @@ -55,21 +55,15 @@ class GameDetail { _isFinished = value; } - Round? get currentRound => _currentRound; - - set currentRound(Round? value) { - _currentRound = value; - } - int get host => _host; set host(int value) { _host = value; } - List get rounds => _rounds; + List get rounds => _rounds; - set rounds(List value) { + set rounds(List value) { _rounds = value; } diff --git a/Sources/bowlin_project/lib/model/LastRound.dart b/Sources/bowlin_project/lib/model/LastRound.dart index 018aae7..2500198 100644 --- a/Sources/bowlin_project/lib/model/LastRound.dart +++ b/Sources/bowlin_project/lib/model/LastRound.dart @@ -41,7 +41,7 @@ class LastRound extends AbstractRound{ if(previousRound?.isStrike()??false){ update(points??0); } - unsubscribe(); + unsubscribePreviousRound(); } diff --git a/Sources/bowlin_project/lib/model/Round.dart b/Sources/bowlin_project/lib/model/Round.dart index 1ef4406..529d4bf 100644 --- a/Sources/bowlin_project/lib/model/Round.dart +++ b/Sources/bowlin_project/lib/model/Round.dart @@ -13,7 +13,7 @@ class Round extends AbstractRound{ firstThrow=val; if(previousRound?.isSpare() ?? false){ previousRound?.update(val); - unsubscribe(); + unsubscribePreviousRound(); } return false; //Le round n'est pas fini }else if(firstThrow==10){ @@ -35,7 +35,7 @@ class Round extends AbstractRound{ if(isSpareOrStrike()){ gamePlayer.onSpareOrStrike(); } - unsubscribe(); + unsubscribePreviousRound(); } diff --git a/Sources/bowlin_project/lib/model/StubManager/StubData.dart b/Sources/bowlin_project/lib/model/StubManager/StubData.dart index 2029842..2e8db7e 100644 --- a/Sources/bowlin_project/lib/model/StubManager/StubData.dart +++ b/Sources/bowlin_project/lib/model/StubManager/StubData.dart @@ -128,13 +128,11 @@ class StubData extends IManager { List _gameDetails = []; void _initGameDetails() { - gameDetails.add(GameDetail(1, DateTime.now(), players[7].id, 123, true, - null, players[7].id, rounds, [players[0], players[1]])); - gameDetails.add(GameDetail(2, DateTime.now(), players[0].id, 113, true, - null, players[7].id, rounds, [players[0], players[1], players[7]])); - gameDetails.add(GameDetail(3, DateTime.now(), players[7].id, 93, true, null, + gameDetails.add(GameDetail(1, DateTime.now(), players[7].id, 123, true, players[7].id, rounds, [players[0], players[1]])); + gameDetails.add(GameDetail(2, DateTime.now(), players[0].id, 113, true, players[7].id, rounds, [players[0], players[1], players[7]])); + gameDetails.add(GameDetail(3, DateTime.now(), players[7].id, 93, true, players[7].id, [], [players[0], players[7]])); - gameDetails.add(GameDetail(4, DateTime.now(), players[7].id, 93, true, null, + gameDetails.add(GameDetail(4, DateTime.now(), players[7].id, 93, true, players[7].id, [], [players[1], players[7]])); }