Skip to content

cardetas-commits/sudoku-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sudoku — Jogo em Python com Streamlit

Jogo de Sudoku com geração de puzzles, validação e resolução automática. Interface web com Streamlit. Projeto pronto para versionamento em Git e deploy no Streamlit Cloud.

Obter o projeto (Git)

Se o projeto estiver num repositório Git (GitHub, GitLab, etc.):

git clone https://github.com/SEU_UTILIZADOR/sudoku-python.git
cd sudoku-python

Se já tiver a pasta local e quiser associar a um repositório remoto:

cd sudoku-python
git init
git remote add origin https://github.com/SEU_UTILIZADOR/sudoku-python.git
git add .
git commit -m "Sudoku em Python com Streamlit"
git branch -M main
git push -u origin main

Substitua SEU_UTILIZADOR/sudoku-python pelo URL real do seu repositório.

Requisitos

  • Python 3.10 ou superior

Instalação local

1. Criar e ativar o ambiente virtual

Windows (PowerShell):

python -m venv .venv
.\.venv\Scripts\Activate.ps1

Windows (CMD):

python -m venv .venv
.venv\Scripts\activate.bat

Linux/macOS:

python3 -m venv .venv
source .venv/bin/activate

Se o venv for criado sem o pip (erro no ensurepip), instale o pip dentro do ambiente:

.\.venv\Scripts\python.exe -m ensurepip --upgrade

2. Instalar dependências

pip install -r requirements.txt

3. Executar o jogo

streamlit run app.py

O navegador abrirá em http://localhost:8501.

Deploy em produção (Streamlit Community Cloud)

  1. Crie uma conta em share.streamlit.io.
  2. Conecte o repositório GitHub onde está este projeto (ou faça upload do código).
  3. No deploy, configure:
    • Main file path: app.py
    • Python version: 3.10 ou superior (definido em configuração do app, se disponível).
  4. O Streamlit usará automaticamente o requirements.txt da raiz do repositório.
  5. Clique em Deploy. O app ficará disponível em um URL público.

Estrutura do repositório (Git)

O repositório deve conter estes ficheiros para o app ser lido e executado corretamente:

sudoku-python/
├── .gitignore          # Ignora .venv, __pycache__, etc.
├── app.py               # Ponto de entrada (streamlit run app.py)
├── sudoku.py            # Lógica do jogo
├── requirements.txt     # streamlit>=1.28.0
├── .streamlit/
│   └── config.toml      # Tema e servidor
└── README.md

O .gitignore já está configurado para não versionar o ambiente virtual (.venv), ficheiros Python compilados (__pycache__) e segredos (.streamlit/secrets.toml).

Funcionalidades

  • Dificuldades: Fácil, Média, Difícil, Especialista, Mestra, Génio.
  • Novo jogo: gera um puzzle novo com a dificuldade escolhida.
  • Teclado numérico: preenche a célula selecionada com 1–9.
  • Desfazer / Apagar: reverte jogadas ou apaga a célula selecionada.
  • Dicas (3): revela o valor correto numa célula vazia.
  • Tempo e erros: cronómetro e contador de erros (máx. 3).
  • Grelha delineada: blocos 3×3 visíveis; hover na linha e coluna.

Estrutura do projeto

Ficheiro Descrição
app.py Interface Streamlit do jogo
sudoku.py Geração, validação e resolução
requirements.txt Dependências (Streamlit)

Licença

Uso livre para fins educacionais e pessoais.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages