{"id":22472488,"url":"https://github.com/theduardomaciel/cc-rc","last_synced_at":"2025-03-27T16:22:41.173Z","repository":{"id":256873646,"uuid":"856106828","full_name":"theduardomaciel/cc-rc","owner":"theduardomaciel","description":"Jogo multiplayer, desenvolvido como projeto final da matéria Rede de Computadores, onde os jogadores competem para se tornar o último sobrevivente em uma arena baseada em física e colisões.","archived":false,"fork":false,"pushed_at":"2024-11-13T14:28:03.000Z","size":7001,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-01T20:11:33.273Z","etag":null,"topics":["pickle","pygame","python","socket","tcp","thread","threading","udp","web"],"latest_commit_sha":null,"homepage":"","language":"Python","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/theduardomaciel.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}},"created_at":"2024-09-12T02:10:02.000Z","updated_at":"2024-11-13T14:28:18.000Z","dependencies_parsed_at":"2024-11-11T07:18:15.297Z","dependency_job_id":"6624b9f9-0563-4787-84ed-01ea8b0afa43","html_url":"https://github.com/theduardomaciel/cc-rc","commit_stats":null,"previous_names":["theduardomaciel/cc-rc"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theduardomaciel%2Fcc-rc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theduardomaciel%2Fcc-rc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theduardomaciel%2Fcc-rc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theduardomaciel%2Fcc-rc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/theduardomaciel","download_url":"https://codeload.github.com/theduardomaciel/cc-rc/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245879364,"owners_count":20687377,"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":["pickle","pygame","python","socket","tcp","thread","threading","udp","web"],"created_at":"2024-12-06T12:15:50.097Z","updated_at":"2025-03-27T16:22:41.151Z","avatar_url":"https://github.com/theduardomaciel.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dash Muse\n\n\u003cpicture\u003e\n  \u003cimg alt=\"Capa para o repositório do jogo Dash Muse, desenvolvido para a matéria de Rede de Computadores\" src=\"/.github/cover.png\"\u003e\n\u003c/picture\u003e\n\n**Dash Muse** é um jogo dinâmico multiplayer, desenvolvido em Python, onde os jogadores competem para se tornar o último sobrevivente em uma arena baseada em física e colisões.  \nO jogo foi desenvolvido como projeto final da matéria Rede de Computadores do curso de Ciência da Computação da Universidade Federal de Alagoas (UFAL), e envolve habilidades de estratégia e reflexo, permitindo que os jogadores promovam ou evitem colisões enquanto permanecem dentro de uma área restrita.\n\n## 🕹️ Sobre\n\nNo **Dash Muse**, o objetivo é empurrar outros jogadores para fora da área de jogo, causando-lhes dano.  \nOs jogadores começam com 10 vidas (valor configurável) e podem realizar um dash (impulso) a cada 0,5s (500ms) para aumentar as chances de empurrar os inimigos.  \n\n## 🛠 Tecnologias Utilizadas\n\n| Tecnologia | Descrição |\n|------------|-----------|\n| **Python** | Linguagem principal do desenvolvimento, desde a lógica do jogo até a manutenção do servidor. |\n| **Pygame** | Biblioteca para renderização gráfica e manipulação da interface, permitindo atualizações em tempo real dos jogadores. |\n| **Socket** | Utilizada para configurar a conexão cliente-servidor, possibilitando o multiplayer em rede local. |\n| **Pickle** | Gerenciamento de objetos serializados para envio dos dados dos jogadores. |\n| **Threading** | Gerencia as conexões, monitorando eventos e mantendo a comunicação entre cliente e servidor. |\n\n## 📂 Estrutura do Código\n\n```plaintext\n├── settings.ini             # Configurações de tela, regras do jogo e rede\n├── requirements.txt         # Bibliotecas necessárias para o projeto\n├── src/\n│   ├── classes/             # Componentes e classes para a interface cliente\n│   │   ├── player.py        # Classe com definição de atributos e eventos do jogador\n│   │   └── ...              # Outras classes de componentes\n│   ├── utils/               # Funções auxiliares para renderização e formatação\n│   │   └── ...              # Scripts utilitários\n│   ├── network.py           # Configuração de rede e dados de conexão\n│   ├── client.py            # Interface e lógica do jogo, renderização dos sprites\n│   └── server.py            # Servidor, gerencia partidas e conexão de jogadores\n└── readme.md                # Documentação do projeto\n```\n\n## 🚀 Como Executar\n\nRecomenda-se criar um ambiente virtual para executar o projeto em Python, mas essa etapa é opcional.\n\n1. **Criar e ativar o ambiente virtual:**\n   ```bash\n   python3 -m venv env\n   ```\n   Ativar o ambiente:\n   - **Windows:** `env\\Scripts\\activate`\n   - **Linux/macOS:** `source env/bin/activate`\n\n2. **Instalar as dependências:**\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n3. **Executar o jogo no Visual Studio Code:**\n   - Abra a pasta raiz do projeto no VS Code.\n   - Pressione `Ctrl + Shift + B` e escolha a opção de execução desejada.\n\n## 👀 Demonstrações\n\n### Interfaces do Jogo\n\n- **Menu Inicial:** Tela de boas-vindas.\n    \u003cpicture\u003e\n    \u003cimg alt=\"Print do menu inicial\" src=\"/.github/menu.png\"\u003e\n    \u003c/picture\u003e\n- **Sala de Espera:** Espera por pelo menos um jogador para iniciar a partida.\n    \u003cpicture\u003e\n    \u003cimg alt=\"Print da sala de espera pela quantidade de jogadores suficientes\" src=\"/.github/waiting_room.png\"\u003e\n    \u003c/picture\u003e\n- **Sala de espera por partida:** Espera alguns segundos para que outros jogadores tenham a oportunidade de se juntar à partida.\n    \u003cpicture\u003e\n    \u003cimg alt=\"Print da sala de espera pelo início da partida após quantidade mínima de jogadores\" src=\"/.github/intermission.png\"\u003e\n    \u003c/picture\u003e\n- **Tela de Partida:** Arena onde ocorre o confronto até restar apenas um jogador.\n    \u003cpicture\u003e\n    \u003cimg alt=\"Print da tela de partida, onde o jogo ocorre\" src=\"/.github/match.png\"\u003e\n    \u003c/picture\u003e\n\n### Exemplo de partida\n\nhttps://github.com/user-attachments/assets/9e0d5e84-e444-45c5-949d-49594bb74479\n\n\n## 📄 Licença\n\nEste projeto é distribuído sob a [Licença MIT](LICENSE), permitindo o uso, modificação e distribuição do código com restrições mínimas.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheduardomaciel%2Fcc-rc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftheduardomaciel%2Fcc-rc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheduardomaciel%2Fcc-rc/lists"}