Skip to content

Commit 219fd7f

Browse files
thamaraiselvamthamaraiselvam
authored andcommitted
Code refactor
Best Score added
1 parent 6e8bf9c commit 219fd7f

File tree

7 files changed

+45
-9
lines changed

7 files changed

+45
-9
lines changed

lib/component/ScoreCard.dart

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import 'package:flutter/material.dart';
2-
import 'package:numbers/provider/ScoreStore.dart';
2+
import 'package:numbers/store/RecentScoreStore.dart';
33
import 'package:numbers/utils/constants.dart';
44
import 'package:numbers/widgets/dashedLine.dart';
55
import 'package:numbers/widgets/recentScore.dart';
@@ -22,7 +22,7 @@ class _ScoreBoardState extends State<ScoreBoard> {
2222
}
2323

2424
void _getRecentScore() {
25-
ScoreStore().getRecentScore().then((score) {
25+
RecentScoreStore().getRecentScore().then((score) {
2626
setState(() {
2727
this.recentScore = score;
2828
});
@@ -32,6 +32,7 @@ class _ScoreBoardState extends State<ScoreBoard> {
3232
@override
3333
Widget build(BuildContext context) {
3434
return Container(
35+
color: secondaryBGColor,
3536
padding: const EdgeInsets.only(top: 5, left: 10, right: 10, bottom: 5),
3637
child: Column(
3738
children: <Widget>[

lib/provider/BlockDataStream.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,9 @@ class BlockDataStream {
77

88
final _controller = StreamController<Map<String, int>>();
99

10+
void dispose(){
11+
_controller.close();
12+
}
13+
1014
Stream<Map<String, int>> get stream => _controller.stream;
1115
}

lib/screens/GameScreen/GameScreen.dart

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import 'dart:async';
2-
import 'package:numbers/provider/ScoreStore.dart';
2+
import 'package:numbers/store/BestScore.dart';
3+
import 'package:numbers/store/RecentScoreStore.dart';
34
import 'package:numbers/schema/BlockSchema.dart';
45
import 'package:numbers/screens/GameScreen/summaryModel.dart';
56
import 'package:numbers/widgets/bgGradient.dart';
@@ -68,12 +69,17 @@ class _GameScreenState extends State<GameScreen> {
6869
this.isTimeUp = true;
6970
this.gameTimerObject.cancel();
7071
showSummary(context, gameHistory);
71-
ScoreStore().updateRecentScore(gameHistory['success']);
72+
updateScores();
7273
}
7374
});
7475
});
7576
}
7677

78+
void updateScores(){
79+
RecentScoreStore().updateRecentScore(gameHistory['success']);
80+
BestScoreStore().updateScore(gameHistory['success']);
81+
}
82+
7783
void fillBlocksData() {
7884
if (this.isTimeUp) {
7985
return;

lib/screens/HomeScreen/HomeScreen.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ class HomeScreen extends StatelessWidget {
1414
Widget build(BuildContext context) {
1515
return SafeArea(
1616
child: Scaffold(
17+
backgroundColor: secondaryBGColor,
1718
body: SingleChildScrollView(
1819
child: Container(
1920
color: primaryColorLowOpacity,
@@ -42,11 +43,10 @@ class HomeScreen extends StatelessWidget {
4243
],
4344
),
4445
),
45-
SizedBox(
46-
height: 10,
47-
),
46+
// SizedBox(
47+
// height: 10,
48+
// ),
4849
ScoreBoard('Recent Scores'),
49-
// ScoreBoard('recent_score '),
5050
],
5151
),
5252
),

lib/store/BestScore.dart

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import 'package:shared_preferences/shared_preferences.dart';
2+
3+
class BestScoreStore {
4+
SharedPreferences prefs;
5+
final String key = 'bestScore';
6+
init() async {
7+
if (this.prefs == null) {
8+
this.prefs = await SharedPreferences.getInstance();
9+
}
10+
}
11+
12+
updateScore(int currentBest) async {
13+
int bestScore = await getBestScore();
14+
15+
bestScore = bestScore > currentBest ? bestScore : currentBest;
16+
17+
return await this.prefs.setInt(this.key, bestScore);
18+
}
19+
20+
Future getBestScore() async {
21+
await this.init();
22+
return this.prefs.getInt(this.key) == null ? 0 : this.prefs.getInt(this.key);
23+
}
24+
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import 'dart:convert';
22
import 'package:numbers/service/RecentScoreService.dart';
33
import 'package:shared_preferences/shared_preferences.dart';
44

5-
class ScoreStore {
5+
class RecentScoreStore {
66
SharedPreferences prefs;
77

88
final String scoreKey = 'recentScore';

lib/utils/constants.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,6 @@ import 'package:flutter/material.dart';
33
const Color primaryColor = Color.fromRGBO(40, 20, 130, 1);
44
const Color primaryColorLowOpacity = Color.fromRGBO(40, 20, 130, 0.6);
55
const Color secondaryColor = Color.fromRGBO(206, 127, 216, 1);
6+
const Color secondaryBGColor = Color.fromRGBO(136, 112, 201, 1);
67
const Color greyFontColor = Color.fromRGBO(117, 112, 112, 1);
78
const Color blackLowOpacity = Color.fromRGBO(17, 38, 33, 0.5);

0 commit comments

Comments
 (0)