{"id":28944053,"url":"https://github.com/gabrielalb5/lig4","last_synced_at":"2026-06-19T21:32:25.271Z","repository":{"id":300249661,"uuid":"1005311731","full_name":"gabrielalb5/lig4","owner":"gabrielalb5","description":"Jogo Multiplayer Online inspirado no Connect4 feito em Java - disciplina de Desenvolvimento Orientado a Objetos (DEOO)","archived":false,"fork":false,"pushed_at":"2025-07-18T19:35:43.000Z","size":631,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-07-19T00:13:02.471Z","etag":null,"topics":["connect4","game","java","lig4","netbeans","socket","sockets","swing","thread","threads","xml"],"latest_commit_sha":null,"homepage":"","language":"Java","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/gabrielalb5.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-20T03:11:56.000Z","updated_at":"2025-07-18T19:35:46.000Z","dependencies_parsed_at":"2025-07-18T21:19:04.213Z","dependency_job_id":"edbc57df-8cb6-4ecf-abd8-7be4091e45bc","html_url":"https://github.com/gabrielalb5/lig4","commit_stats":null,"previous_names":["gabrielalb5/lig4"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gabrielalb5/lig4","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabrielalb5%2Flig4","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabrielalb5%2Flig4/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabrielalb5%2Flig4/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabrielalb5%2Flig4/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gabrielalb5","download_url":"https://codeload.github.com/gabrielalb5/lig4/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabrielalb5%2Flig4/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34549340,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-19T02:00:06.005Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["connect4","game","java","lig4","netbeans","socket","sockets","swing","thread","threads","xml"],"created_at":"2025-06-23T05:17:08.764Z","updated_at":"2026-06-19T21:32:25.267Z","avatar_url":"https://github.com/gabrielalb5.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"## 🪐 Astro - Lig4 Multiplayer Online\n\n### 📌 Definição\n\nAstro é uma implementação multiplayer online do clássico jogo de tabuleiro Lig 4, também conhecido como \u003ci\u003eConnect Four\u003c/i\u003e. Dois jogadores se conectam remotamente e competem para formar uma sequência de quatro fichas consecutivas da mesma cor na horizontal, vertical ou diagonal.\n\nO jogo é estruturado com base no modelo m,n,k (7,6,4), com regras reais de gravidade e turnos. Ele também conta com interface gráfica (Java Swing) e um sistema de comunicação cliente-servidor com sockets, além de persistência em arquivos XML para armazenar placares.\n\n\u003cimg width=\"1377\" height=\"787\" alt=\"image\" src=\"https://github.com/user-attachments/assets/53a22aab-53be-4cc0-a44c-dd53dd993f8a\" /\u003e\n\n### 🚀 Funcionalidades\n- Modo Multiplayer Online com 2 jogadores via rede local ou internet.\n- Interface gráfica interativa feita com Java Swing.\n- Controle de início e reinício de partidas.\n- Armazenamento e exibição de placar entre os jogadores.\n- Salvamento e leitura do histórico de partidas em XML.\n- Utilização de Threads para comunicação assíncrona e fluida entre cliente e servidor.\n- Estrutura baseada em boas práticas de Programação Orientada a Objetos (POO), como encapsulamento, herança e polimorfismo.\n\n### 🛠️ Tecnologias e Ferramentas\u003c/h2\u003e\n- Java 8+\n- Threads e Sockets TCP/IP\n- Java Swing (GUI)\n- Manipulação de arquivos XML\n- IDE recomendada: NetBeans\n\n### ▶️ Como Executar o Projeto\n\n1. Clone o repositório:\n\n```\ngit clone https://github.com/gabrielalb5/lig4.git\n```\n\n2. Abra o projeto preferencialmente no NetBeans (em outra IDE talvez seja necessário realizar uma modificação. Veja [Erros comuns](#erros-comuns) no fim dessa seção).\n3. Descubra seu IP: abra seu terminal e digite ipconfig (prompt de comando no Windows)\n4. Copie seu endereço IPv4, que estará em uma linha semelhante a esta:\n```\nEndereço IPv4. . . . . . . .  . . . . . . . : 192.168.0.0\n```\n5. Abra o arquivo `config.xml` com um editor de texto e troque o valor de `ip` pelo número copiado no passo anterior. Salve e feche.\n6. Compile e execute a classe `ServidorLig4.java` e em seguida `ClienteLig4.java`\n\n#### Modos de Jogo\n- Multiplayer Local (mesmo computador): Execute duas instâncias da classe `ClienteLig4.java` no mesmo computador.\n- Multiplayer em Rede (computadores diferentes): Um dos computadores deve executar o `ServidorLig4.java`. Os demais devem apontar o IP no `config.xml` para o IP do servidor e estar conectados na mesma rede (Wi-Fi ou cabo).\n\n#### Erros comuns\n- Rede Wi-Fi vs Cabo: Computadores conectados via Wi-Fi e Ethernet não se comunicam facilmente. Use o mesmo tipo de conexão em ambos.\n- IDE fora do NetBeans: Se estiver usando outra IDE, e a conexão não encontrar o arquivo de configuração, mova o arquivo `config.xml` da raiz do projeto para dentro da pasta `src`.\n\n### 🧑‍💻 Autores\n\u003ca href=\"https://www.linkedin.com/in/eduardo-bonifacio-0a802b2a8/\"\u003eEduardo Bonifacio\u003c/a\u003e\u003cbr\u003e\n\u003ca href=\"https://www.linkedin.com/in/gabrielalbino05/\"\u003eGabriel Albino\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabrielalb5%2Flig4","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgabrielalb5%2Flig4","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabrielalb5%2Flig4/lists"}