Tic Tac Toe - AI
Da curiosidade em jogos web à prática de algoritmos
Ato 1 — A faísca
Sempre gostei de jogos web nativos. Para exercitar lógica de programação e algoritmos, decidi transformar um clássico em laboratório: o jogo da velha.
Construir uma IA simples, porém convincente, que jogasse bem e respondesse rápido — sem depender de engines externas.
Ato 2 — A ideia
Usar heurísticas claras (bloquear vitória, buscar vitória, priorizar centro/cantos) e garantir uma experiência fluida com uma UI minimalista e responsiva.
Ato 3 — O experimento
Implementação em React + TypeScript com Tailwind CSS, UI com Radix UI e ícones Lucide. O gerenciamento de estado foi feito com Zustand, estruturando histórico de jogadas e um modo alternável contra IA.
Ato 4 — O que aprendi
- Modelagem de estado enxuta e previsível
- Separação de regras (lógica do jogo) da renderização
- Heurísticas simples podem entregar uma IA divertida para jogos casuais
Demo interativa
Funcionalidades Principais
- Jogar contra IA com heurísticas simples e respostas rápidas
- Histórico de partidas com reinício de jogo
- UI responsiva e acessível
- Animações sutis e visual limpo
Arquitetura e Stack Tecnológico
| Categoria | Tecnologia | Propósito |
|---|---|---|
| Framework | React | Interface declarativa baseada em componentes |
| Linguagem | TypeScript | Tipagem estática |
| Estilização | Tailwind CSS | Estilos utilitários |
| UI | Radix UI | Componentes base acessíveis |
| Ícones | Lucide Icons | Ícones otimizados |
| Gerenciamento de estado | Zustand | Store simples e previsível |
| Hospedagem | Vercel | Deploy e CDN |