import 'package:flutter/material.dart'; import 'state.dart'; import 'game.dart'; class ClassicGame extends StatefulWidget { const ClassicGame({super.key}); @override State createState() => _ClassicGameState(); } class _ClassicGameState extends State { TTCState turn = TTCState.x; late TTCGame game; String get turnText => switch (turn) { TTCState.empty => "", TTCState.x => "X", TTCState.o => "O", }; void onTurnEnd() { setState(() { turn = switch (turn) { TTCState.x => TTCState.o, TTCState.o => TTCState.x, _ => TTCState.x }; }); } @override void initState() { super.initState(); game = TTCGame( turn: turn, onClick: onTurnEnd, ); } @override Widget build(BuildContext context) { return Column( mainAxisSize: MainAxisSize.min, children: [ const Spacer(flex: 5), Center( child: Text( "$turnText's turn", style: const TextStyle(fontSize: 30, fontWeight: FontWeight.bold), )), const Spacer(flex: 1), TTCGame( turn: turn, onClick: onTurnEnd, ), const Spacer(flex: 5), ], ); } }