Skip to content

👨🏻‍💻 🎮 Tic Tac Toe desenvolvido em React utilizando useReducer para gerenciamento de estado. Inclui animações CSS e efeitos de celebração com react-confetti.

License

Notifications You must be signed in to change notification settings

bmenegidio/react-challenge-tic-tac-toe

Repository files navigation

👨🏻‍💻 Desafio Técnico - Tic Tac Toe

🙃 ❤️ Preview

preview

🎮 Acesse o Projeto Online

Você pode acessar a versão online do projeto de Tic Tac Toe clicando no link abaixo:

react-challenge-tic-tac-toe.vercel.app

O projeto está hospedado na plataforma Vercel.

📋 Descrição

Este projeto é uma implementação funcional do jogo da velha (Tic Tac Toe). O objetivo é desenvolver um jogo completo que permita a dois jogadores competirem em um tabuleiro 3x3. O projeto utiliza técnicas de estilização de sua escolha, como CSS Modules, SASS, ou Styled Components.

✅ Funcionalidades

  • Tabuleiro 3x3: O jogo é jogado em um tabuleiro de 3x3 células.
  • Dois Jogadores: Permite que dois jogadores façam suas jogadas alternadamente.
  • Preenchimento de Jogadas: Ao clicar em um quadrado, ele será preenchido com a jogada do jogador atual.
  • Finalização do Jogo: O jogo avisa quando um jogador vence ou quando ocorre um empate (velha).

🧠 Abordagens Utilizadas

Gerenciamento de Estado com useReducer

Para lidar com o estado da aplicação, optei por utilizar o hook useReducer em vez do useState. Essa decisão foi tomada para abstrair as regras do jogo e centralizar as ações do usuário em um único local. Com isso, consegui facilitar a manutenção e o entendimento do código, uma vez que todas as mudanças de estado são tratadas através de um único reducer, que gerencia o fluxo das ações de forma previsível e organizada.

Animações e Efeitos Visuais

Para melhorar a experiência do usuário, implementei animações CSS utilizando keyframes que são ativadas quando um jogador vence. Além disso, utilizei a biblioteca react-confetti para incrementar as animações de celebração, adicionando um toque visual dinâmico e festivo ao jogo.


Essas abordagens foram escolhidas para proporcionar uma experiência de usuário mais fluida e visualmente atraente, ao mesmo tempo em que mantêm o código limpo e modular.

🔨 Como Rodar o Projeto

  1. Clone o repositório:
git clone https://github.com/bmenegidio/react-challenge-tic-tac-toe.git
  1. Navegue até o diretório do projeto:
cd react-challenge-tic-tac-toe
  1. Instale as dependências:
npm install # ou o seu gerenciador de dependências favorito
  1. Inicie o servidor de desenvolvimento:
npm run dev
  1. Abra o navegador:
vá para http://localhost:5173 para ver a aplicação em execução

About

👨🏻‍💻 🎮 Tic Tac Toe desenvolvido em React utilizando useReducer para gerenciamento de estado. Inclui animações CSS e efeitos de celebração com react-confetti.

Topics

Resources

License

Stars

Watchers

Forks