From e9362706a1a3f023ec1a864192ee16ed0a9dbdd7 Mon Sep 17 00:00:00 2001 From: Andrei Stoica Date: Mon, 30 Dec 2024 12:18:12 -0500 Subject: [PATCH] rendering update --- lib/classic.dart | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/lib/classic.dart b/lib/classic.dart index b1ab5ae..dad63da 100644 --- a/lib/classic.dart +++ b/lib/classic.dart @@ -23,8 +23,8 @@ class _ClassicGameState extends State { TTCState.empty, TTCState.empty, ]; - bool ended = false; - TTCState? winner; + TTCState get winner => Util.checkWin(data); + bool get ended => winner != TTCState.empty; String get turnText => switch (turn) { TTCState.empty => "", @@ -32,13 +32,7 @@ class _ClassicGameState extends State { TTCState.o => "O", }; - void _nextTurn() { - turn = switch (turn) { - TTCState.x => TTCState.o, - TTCState.o => TTCState.x, - _ => TTCState.x - }; - } + void _nextTurn() => turn = Util.nextTurn(turn); Widget _invalidChoiceAlert(TTCState existingValue) { return Dialog( @@ -52,7 +46,7 @@ class _ClassicGameState extends State { "INVALID CHOICE", style: TextStyle(fontWeight: FontWeight.bold), ), - Text("${existingValue.name.toUpperCase()} already claimed that"), + Text("${Util.stateText(existingValue)} already claimed that"), ElevatedButton( onPressed: () => Navigator.pop(context), child: const Text("Ok")), @@ -80,10 +74,6 @@ class _ClassicGameState extends State { setState(() { data[index] = turn; - winner = Util.checkWin(data); - if (winner != null && winner != TTCState.empty) { - ended = true; - } _nextTurn(); }); } @@ -103,7 +93,7 @@ class _ClassicGameState extends State { "GAME OVER", style: TextStyle(fontWeight: FontWeight.bold), ), - Text("${winner?.name.toUpperCase()} has already won"), + Text("${Util.stateText(winner)} has already won"), ElevatedButton( onPressed: () => Navigator.pop(context), child: const Text("Ok")), @@ -122,7 +112,7 @@ class _ClassicGameState extends State { const Spacer(flex: 5), Center( child: Text( - !ended ? "$turnText's turn" : "${winner?.name.toUpperCase()} wins", + !ended ? "$turnText's turn" : "${Util.stateText(winner)} wins", style: const TextStyle(fontSize: 30, fontWeight: FontWeight.bold), )), const Spacer(flex: 1),