Git Product home page Git Product logo

a3-jogodavelha's Introduction

A3 - Jogo da Velha

Documentação Projeto Jogo da Velha A3

IntroduçãoDesenvolvimentoConclusãoIlustraçõesRodar o ProjetoAutores

Introdução

O jogo da velha consiste em um jogo onde você precisa colocar três símbolos iguais em uma linha reta. o tabuleiro é consiste em uma cerquilha onde cada jogador escolhe se quer ser o "X" ou o "O". Vocês vão se revezar colocando o seu símbolo nas lacunas vazias. O objetivo é fazer uma linha reta com os seus símbolos: pode ser na horizontal, na vertical ou na diagonal. Se ninguém conseguir fazer uma linha e todas as lacunas forem preenchidas, o jogo acaba em empate.

O principal objetivo desse projeto foi realizar a criação de uma plataforma que se comunicasse através de um servidor onde seria possível jogar tanto com uma máquina randômica cliente/servidor, mas também contra outro jogador realizando a comunicação de cliente/cliente.

Foi realizado a escolha do jogo da velha devido a sua simplicidade e de conhecimento de todos por parte de suas regras. No decorrer deste documento, serão abordados os detalhes da implementação, incluindo a escolha das tecnologias a serem utilizadas, a arquitetura do sistema, os recursos oferecidos aos jogadores e os desafios técnicos envolvidos

Desenvolvimento

Durante o desenvolvimento do projeto verificamos quais seriam os requisitos para a produção de um jogo da velha na linguagem de Java, após termos escolhido o jogo e verificar as instruções propostas pelo professor seguimos para parte de desenvolvimento onde buscamos realizar a estruturação do código via Jframe pois buscamos realizar algo interativo ao usuário.

Após termos escolhido a forma que realizaríamos a estrutura do projeto seguimos com a para a comunicação de servidor e cliente onde, inicialmente, a ideia principal foi gerar uma porta e IP fixos para rodar o projeto e começar a produzir o Back-end. Após a implementação do cliente/servidor por meio do método "Try" e "Catch" começamos a realizar a implementação da interface do usuário para que o mesmo conseguisse se comunicar com o servidor e obtém uma resposta.

Durante a etapa de implementação da lógica para a validação de movimentos e armazenamento das informações utilizamos uma array para os jogadores e um método de armazenamento de dados em botões onde, ao jogar contra outro jogador, é possível receber as informações em tempo real de cada jogada e uma função de aviso caso o mesmo tente jogar caso não seja sua vez.

Durante o projeto buscamos melhorar a experiência do usuário utilizando elementos gráficos como tela de carregamento e um ambiente interativo por meio do Jframe e imagens para escolha do modo de jogo.

Conclusão

Ao longo deste projeto, desenvolvemos um jogo da velha em Java, implementando um servidor e cliente para permitir partidas interativas, para garantir a validação dos movimentos e o armazenamento das informações, utilizamos uma matriz de botões e uma lógica para verificar a vez de cada jogador. Também adicionamos recursos visuais, como uma tela de carregamento e imagens para a escolha do modo de jogo, aprimorando a experiência do usuário.

O desenvolvimento deste projeto nos permitiu aplicar conceitos de programação em Java, desenvolvimento de interfaces gráficas e lógica de jogo. Enfrentamos desafios técnicos ao estabelecer a comunicação cliente/servidor e validar os movimentos, mas fomos capazes de superá-los com dedicação e resolução de problemas. Em suma, o resultado final foi um jogo da velha interativo e funcional, que proporciona aos jogadores uma experiência divertida e envolvente. Este projeto nos permitiu aprimorar nossas habilidades de programação, continuaremos explorando novos projetos e expandindo nosso conhecimento em desenvolvimento de jogos e aplicações. Agradecemos a oportunidade de realizar este trabalho e buscaremos expandir nosso conhecimento a fim de cada vez mais desenvolver nossos projetos e aprimorar os já realizados.

Ilustrações

png png png png

Rodar o Projeto

Navegue até o diretório Server e rode o Server.java

png

O programa irá pedir que você insira o Ip e Porta, siga o exemplo 9191 e 127.0.0.1 e o servidor irá permitir conexões de clientes.

Logo após, navegue até o diretório Client e rode o Client.java

png

Assim, insira o IP e Porta para se conectar o servidor. Assim você poderá jogar no modo JogadorVsComputador.

Para jogar no modo dois jogadores você deve navegar até o diretório Server e rodar o ServerDoisJogadores.java

png

insira uma porta (Deve ser diferente da porta do Servidor anterior).

png

No aplicativo já aberto navegue até o menu JogadorVsJogador, e insira a porta do servidor dois jogadores, no nosso exemplo 1818. Dessa forma, quando dois jogadores se conectarem o jogo irá iniciar.

Autores

  • 12522135201 - Henrique Ferreira Marques Costa
  • 12522142460 - João Nicolas Melo Dantas
  • 12522142882 - Wesley Menezes
  • 12522145054 - Vinicius Lordaro
Henrique Marques
Henrique M

Henrique Marques
Nicolas D
Henrique Marques
Wesley M
Henrique Marques
Vinicius L

a3-jogodavelha's People

Contributors

rickymarq avatar

Stargazers

Vinicius Alves Lordaro avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.