BlackTDN :: 🚀 Sudoku em TL++ com MVC – Uma nova abordagem para um clássico!

_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

Postagens mais visitadas