{"id":28470750,"url":"https://github.com/ruan-luidy/spectris","last_synced_at":"2026-04-24T23:34:23.723Z","repository":{"id":297621029,"uuid":"995622002","full_name":"ruan-luidy/Spectris","owner":"ruan-luidy","description":"🎮 Jogo de Tetris completo em C# com interface colorida, DAS configurável, T-Spins, temas customizáveis e sistema de pontuação oficial. Console game usando Spectre.Console.","archived":false,"fork":false,"pushed_at":"2025-06-06T13:24:54.000Z","size":116,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-06T13:28:08.433Z","etag":null,"topics":["console-game","csharp","dotnet","game-development","gaming","puzzle-game","recreation","spectre-console","terminal-ui","tetris"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ruan-luidy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-03T19:10:12.000Z","updated_at":"2025-06-06T13:24:55.000Z","dependencies_parsed_at":"2025-06-06T13:38:20.505Z","dependency_job_id":null,"html_url":"https://github.com/ruan-luidy/Spectris","commit_stats":null,"previous_names":["ruan-luidy/spectris"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ruan-luidy/Spectris","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruan-luidy%2FSpectris","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruan-luidy%2FSpectris/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruan-luidy%2FSpectris/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruan-luidy%2FSpectris/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruan-luidy","download_url":"https://codeload.github.com/ruan-luidy/Spectris/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruan-luidy%2FSpectris/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263033068,"owners_count":23403087,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["console-game","csharp","dotnet","game-development","gaming","puzzle-game","recreation","spectre-console","terminal-ui","tetris"],"created_at":"2025-06-07T10:06:16.653Z","updated_at":"2026-04-24T23:34:23.718Z","avatar_url":"https://github.com/ruan-luidy.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🎮 Tetris C#\n\nUm jogo de Tetris completo desenvolvido em C# com interface de console avançada usando Spectre.Console.\n\n![.NET](https://img.shields.io/badge/.NET-9.0-512BD4?style=flat-square\u0026logo=dotnet)\n![C#](https://img.shields.io/badge/C%23-239120?style=flat-square\u0026logo=c-sharp)\n![Spectre.Console](https://img.shields.io/badge/Spectre.Console-0.50.0-FF6B6B?style=flat-square)\n![License](https://img.shields.io/badge/License-MIT-green?style=flat-square)\n\n## ✨ Características\n\n### 🎯 Jogabilidade Completa\n- **Sistema de pontuação oficial do Tetris** com T-Spins, Perfect Clears e combos\n- **DAS (Delayed Auto Shift)** configurável para movimento preciso\n- **Sistema Hold** para armazenar peças\n- **Bag System** oficial do Tetris para geração de peças\n- **Ghost piece** no modo fácil\n- **Wall kicks** e **SRS** (Super Rotation System)\n\n### 🎨 Interface Visual\n- **Interface colorida** usando Spectre.Console\n- **4 temas pré-definidos** (Default, Autumn Haze, Ocean, Neon)\n- **Editor de temas integrado** no menu\n- **Painéis organizados** com estatísticas, próxima peça e hold\n- **Modo debug** com informações técnicas\n\n### ⚙️ Configuração Avançada\n- **Controles totalmente configuráveis**\n- **Configuração DAS** (delay e repeat rate)\n- **Sistema de níveis** com gravidade progressiva\n- **Configurações salvas em JSON**\n- **FPS configurável**\n\n## 🚀 Instalação e Execução\n\n### Pré-requisitos\n- [.NET 9.0 SDK](https://dotnet.microsoft.com/download)\n\n### Instalação Rápida\n\n#### Windows\n```bash\n# Clone o repositório\ngit clone https://github.com/seuusuario/tetris-csharp.git\ncd tetris-csharp\n\n# Execute o setup automático\nsetup.bat\n```\n\n#### Linux/macOS\n```bash\n# Clone o repositório\ngit clone https://github.com/seuusuario/tetris-csharp.git\ncd tetris-csharp/Tetris\n\n# Restaurar dependências\ndotnet restore\n\n# Compilar e executar\ndotnet run\n```\n\n### Instalação Manual\n```bash\n# Criar projeto\ndotnet new console -n Tetris\ncd Tetris\n\n# Adicionar dependências\ndotnet add package Spectre.Console --version 0.50.0\n\n# Copiar arquivos do código fonte\n# Compilar e executar\ndotnet run\n```\n\n## 🎮 Como Jogar\n\n### Controles Padrão\n- **A / D** - Mover esquerda/direita\n- **\u003c / \u003e** (vírgula/ponto) - Rotacionar esquerda/direita\n- **S** - Soft drop (queda suave)\n- **Espaço** - Hard drop (queda instantânea)\n- **Z** - Hold (segurar/trocar peça)\n- **T** - Forfeit (sair para menu)\n- **R** - Retry (reiniciar jogo)\n\n*Todos os controles são configuráveis no menu!*\n\n### Sistema de Pontuação\n- **Single** (1 linha): 100 × nível\n- **Double** (2 linhas): 300 × nível\n- **Triple** (3 linhas): 500 × nível\n- **Tetris** (4 linhas): 800 × nível\n- **T-Spins**: Bônus especiais\n- **Perfect Clear**: Bônus máximo\n- **Combos**: +50 por combo × nível\n\n## 🛠️ Arquitetura do Projeto\n\n```\nTetris/\n├── Config/          # Sistema de configuração e controles\n├── Engine/          # Motor de renderização\n├── Enums/           # Enumerações do jogo\n├── Extensions/      # Extensões e funcionalidades extras\n├── Game/            # Lógica principal do jogo\n├── Menu/            # Sistema de menus\n├── Renderer/        # Renderização e temas\n└── Program.cs       # Ponto de entrada\n```\n\n### Principais Classes\n- **`TetrisGame`** - Coordena toda a lógica do jogo\n- **`Board`** - Gerencia o tabuleiro e colisões\n- **`Tetromino`** - Representa as peças do Tetris\n- **`Score`** - Sistema de pontuação e níveis\n- **`Controls`** - Gerenciamento de controles\n- **`GameConfig`** - Configurações e temas\n\n## ⚡ Características Técnicas\n\n### Performance\n- **240 UPS** (Updates Per Second) por padrão\n- **60 FPS** de renderização\n- **Otimizado** para baixo uso de CPU\n- **Renderização diferencial** usando Spectre.Console\n\n### Precisão\n- **Sub-pixel positioning** para movimento suave\n- **Frame-perfect timing** para DAS\n- **Implementação oficial** do SRS\n\n### Configurabilidade\n- **DAS configurável** (167ms - 500ms delay, 33ms - 100ms repeat)\n- **Gravidade por nível** seguindo padrões oficiais\n- **Timings ajustáveis** para todas as mecânicas\n\n## 🎨 Temas Disponíveis\n\n### Default\nCores clássicas do Tetris com verde principal.\n\n### Autumn Haze\nPaleta outonal com tons quentes e suaves.\n\n### Ocean\nTema oceânico com azuis e cyans vibrantes.\n\n### Neon\nCores neon vibrantes para uma estética cyberpunk.\n\n*Você pode criar seus próprios temas usando o editor integrado!*\n\n## 🔧 Configuração\n\nO arquivo `config.json` é gerado automaticamente e contém:\n\n```json\n{\n  \"config\": {\n    \"easyMode\": true,\n    \"level\": 1,\n    \"dasDelayMs\": 200,\n    \"dasRepeatRateMs\": 70,\n    \"currentTheme\": 0\n  },\n  \"themes\": [...],\n  \"controls\": {...}\n}\n```\n\n## 🤝 Contribuindo\n\n1. Fork o projeto\n2. Crie uma branch para sua feature (`git checkout -b feature/nova-feature`)\n3. Commit suas mudanças (`git commit -am 'Adiciona nova feature'`)\n4. Push para a branch (`git push origin feature/nova-feature`)\n5. Abra um Pull Request\n\n## 📝 Licença\n\nEste projeto está sob a licença MIT. Veja o arquivo [LICENSE](LICENSE) para mais detalhes.\n\n## 🙏 Agradecimentos\n\n- **Tetris Company** pela criação do jogo original\n- **Spectre.Console** pela excelente biblioteca de interface\n- **SRS Documentation** pelas especificações técnicas\n- **Comunidade Tetris** pelas diretrizes de implementação\n\n---\n\n⭐ **Se você gostou do projeto, deixe uma estrela!**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fruan-luidy%2Fspectris","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fruan-luidy%2Fspectris","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fruan-luidy%2Fspectris/lists"}