Tic Tac Toe Game
Tic Tac Toe Game Using Flutter
In this guide, we’ll create a simple Tic Tac Toe game using Flutter. We’ll use a GridView.builder
to create the game grid and manage the game state.
1. Setup and Project Creation
First, ensure Flutter is installed on your machine. Create a new Flutter project with the following command:
flutter create tic_tac_toe_game
2. Designing the User Interface
Edit the lib/main.dart file with the following code to design the game’s interface:
import 'package:flutter/material.dart';
void main() => runApp(TicTacToeApp());
class TicTacToeApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Tic Tac Toe',
home: TicTacToeScreen(),
);
}
}
class TicTacToeScreen extends StatefulWidget {
@override
_TicTacToeScreenState createState() => _TicTacToeScreenState();
}
class _TicTacToeScreenState extends State<TicTacToeScreen> {
List<String> board = List.filled(9, '', growable: false);
String currentPlayer = 'X';
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('Tic Tac Toe')),
body: GridView.builder(
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 3),
itemCount: board.length,
itemBuilder: (context, index) {
return GestureDetector(
onTap: () => _markCell(index),
child: Container(
decoration: BoxDecoration(
border: Border.all(color: Colors.black),
),
child: Center(
child: Text(
board[index],
style: TextStyle(fontSize: 40),
),
),
),
);
},
),
);
}
void _markCell(int index) {
if (board[index] == '') {
setState(() {
board[index] = currentPlayer;
currentPlayer = currentPlayer == 'X' ? 'O' : 'X';
});
}
}
}
Explanation
- TicTacToeApp: Sets up the MaterialApp.
- TicTacToeScreen: A StatefulWidget that contains the UI and logic for the game.
- board: A list that represents the 3x3 grid of the game.
- GridView.builder: Used to create the game grid.
- _markCell: A function to mark a cell with the current player’s symbol.
Game Logic
- The game alternates between two players, ‘X’ and ‘O’.
- Players tap on a cell to mark it with their symbol.
- The game continues until all cells are marked.
Run the App
To run the application, use the flutter run command, or press F5 in Visual Studio Code to start debugging.