
_Créditos da imagem: ChatGPT
# 🚀 Sudoku em TL++ com MVC – Uma nova abordagem para um clássico!
Olá, devs Protheus! 👋
Se você chegou até aqui, provavelmente já conhece minha forma de codar. Apresento, agora, o clássico jogo **Sudoku**, que há anos encanta tanto os amantes de lógica quanto os programadores que gostam de desafios.
Lá em **2008**, publiquei um [tutorial ensinando a criar um Sudoku em ADVPL](https://www.blacktdn.com.br/2008/11/sudoku-tutorial.html), que foi bastante acessado e ajudou muita gente a aprender conceitos básicos de lógica, programação estruturada e até um pouco de interfaces.
Mas o tempo passou, a linguagem evoluiu, e junto com ela surgiram novos paradigmas e melhores práticas. Pensando nisso, resolvi revisitar esse projeto e aplicá-lo ao **TL++**, utilizando o padrão arquitetural **MVC (Model-View-Controller)**.
---
## 🔥 O que mudou?
* ✅ Código mais limpo e organizado;
* ✅ Separação clara entre **dados (Model)**, **interface (View)** e **lógica de controle (Controller)**;
* ✅ Facilidade para manutenção, expansão e entendimento do código;
* ✅ Aproveitamento dos recursos mais modernos do TL++ no ambiente Protheus.
---
## 🗂️ Estrutura do Projeto
O projeto está organizado da seguinte forma:
```
/src/sudoku/
│
├── README.md --> Documentação do projeto
├── sudoku.tlpp --> Arquivo principal, ponto de entrada
│
└── /mvc/ --> Implementação MVC
├── sudoku.model.tlpp --> Responsável pela lógica dos dados do Sudoku
├── sudoku.view.tlpp --> Responsável pela interface (renderização do tabuleiro)
└── sudoku.controller.tlpp--> Controla as interações e regras de negócio
```
---
## 📜 Arquivos do Projeto
### 🔗 Visualização no GitHub
* [README.md](https://github.com/naldodj/naldodj-advpl-tlpp-games/blob/main/src/sudoku/README.md)
* [sudoku.tlpp](https://github.com/naldodj/naldodj-advpl-tlpp-games/blob/main/src/sudoku/sudoku.tlpp)
* [sudoku.model.tlpp](https://github.com/naldodj/naldodj-advpl-tlpp-games/blob/main/src/sudoku/mvc/sudoku.model.tlpp)
* [sudoku.view.tlpp](https://github.com/naldodj/naldodj-advpl-tlpp-games/blob/main/src/sudoku/mvc/sudoku.view.tlpp)
* [sudoku.controller.tlpp](https://github.com/naldodj/naldodj-advpl-tlpp-games/blob/main/src/sudoku/mvc/sudoku.controller.tlpp)
### 🔗 Links diretos para os arquivos (raw)
* [README.md (raw)](https://raw.githubusercontent.com/naldodj/naldodj-advpl-tlpp-games/refs/heads/main/src/sudoku/README.md)
* [sudoku.tlpp (raw)](https://raw.githubusercontent.com/naldodj/naldodj-advpl-tlpp-games/refs/heads/main/src/sudoku/sudoku.tlpp)
* [sudoku.model.tlpp (raw)](https://raw.githubusercontent.com/naldodj/naldodj-advpl-tlpp-games/refs/heads/main/src/sudoku/mvc/sudoku.model.tlpp)
* [sudoku.view.tlpp (raw)](https://raw.githubusercontent.com/naldodj/naldodj-advpl-tlpp-games/refs/heads/main/src/sudoku/mvc/sudoku.view.tlpp)
* [sudoku.controller.tlpp (raw)](https://raw.githubusercontent.com/naldodj/naldodj-advpl-tlpp-games/refs/heads/main/src/sudoku/mvc/sudoku.controller.tlpp)
---
## 🎯 Objetivos desse projeto
* 📚 Servir como exemplo prático de aplicação do padrão **MVC** em **TL++**;
* 🛠️ Ser uma ferramenta de estudo para quem deseja melhorar suas skills na linguagem ADVPL/TL++;
* 🎮 E claro... se divertir jogando Sudoku diretamente no Protheus! 😄
---
## 🔥 E a versão antiga?
A versão original do Sudoku em ADVPL, criada lá em **2008**, ainda está disponível no meu blog para quem quiser comparar a evolução:
👉 [Sudoku Tutorial - BlackTDN (2008)](https://www.blacktdn.com.br/2008/11/sudoku-tutorial.html)
---
## 🤝 Contribua!
Fique à vontade para explorar, estudar, sugerir melhorias e até contribuir com o projeto!
➡️ Acesse o repositório completo:
**[https://github.com/naldodj/naldodj-advpl-tlpp-games](https://github.com/naldodj/naldodj-advpl-tlpp-games)**
---
## 🚀 Bora codar!
Se você curtiu essa ideia, compartilhe com outros devs que também gostam de aprender, evoluir e, quem sabe, jogar um Sudoku enquanto compila. 😎
---
#Sudoku #SudokuGame #GameDev #ADVPL #TLPP #TOTVS #Programação #Coding #Desenvolvimento #MVC #LogicaDeProgramacao #DevLife #OpenSource
Comentários
Postar um comentário