Git Product home page Git Product logo

redes's Introduction

Jogo de Truco em rede

Projeto apresentado ao curso de Ciência da Computação, da Universidade Federal de São João del Rei, como requisito parcial para obtenção da nota final da disciplina de Redes de Computadores.

Para o bom funcionamento deste projeto, recomendamos que o mesmo seja executado em ambiente linux, bem como que suas dependências estejam instaladas no sistema. Sendo elas:

  • biblioteca "pygame" : Pode ser instalada por meio do gerenciador de pacotes "pip", através do comando:

    sudo pip install pygame
    

Caso não tenha o gerenciador "pip" instalado, o mesmo pode ser obtido digitando-se o comando:

  sudo apt-get install pip

Executando

Execução do servidor: Para executar o servidor, acesse a pasta "./servidor" e execute o arquivo "servidorExe":

  ./servidorExe

Execução do cliente: O servidor irá iniciar o jogo apenas após 4 clientes estarem conectados a ele. Caso deseje executar os 4 clientes em um mesmo computador, recomendamos que execute apenas 1 cliente com interface gráfica e os demais sem interface.

  • Para executar um cliente com interface gráfica acesse a pasta Clinte_Interface:

    cd Cliente/Cliente_Interface
    

    e digite o comando:

    python cliente_gui.py
    
  • Para executar um cliente sem interface gráfica acesse a pasta Cliente_Terminal:

    cd Cliente/Cliente_Terminal
    

    e digite o comando:

    python cliente.py
    

Observação: Para o cliente com interface configure o ip e a porta do servidor no arquivo "config" presente na pasta "./Cliente/Cliente_Iterface" .

Desenvolvido por:

Carlos Magno (github)

Lucas Cruz (github)

redes's People

Contributors

cmagnobarbosa avatar lucasgscruz avatar

Stargazers

Gabriel Batista avatar

Watchers

James Cloos avatar  avatar  avatar

redes's Issues

Máquina de Estados

Criar a maquina de estados para indicar as transições das partidas.

Uma versão inicial do projeto da máquina de estados.

  • Estado 0: Preparação para o jogo, embaralhar cartas.
  • Estado 1: Aguardando a conexão dos jogadores.
  • Estado 2: Jogadores Conectados, Definir parceiros.
  • Estado 3: Distribuir cartas, definir quem começa o jogo.
  • Estado 4: Pode começar.
  • Estado 5 ou 7: Recebe a carta, manda todo mundo renderizar.
  • Estado 6: Processa as jogadas. Notifica todos os jogadores.
  • Estado 7 ou 8: Processa jogadas especiais, Truco, Seis e etc.
  • Estado 8: Volta estado 4 até o jogo atingir a sua pontuação máxima

Realizar adaptações no cliente

Adaptar o cliente para:

  • Trabalhar com o modulo de conexão.
  • Distribuir as cartas recebidas pelo servidor.
  • Definir o sistema de pausa para envio e recebimento de instruções.
  • Adaptar a renderização.
  • Realizar demais modificações necessárias para estabelecer a harmonia com o servidor.

Implementar a Versão Simples do Cliente

Implementar um cliente funcional que

  • Realiza conexão com servidor.
  • Processa a mensagem recebida
  • Realize o Lock após o usuário enviar uma carta.

1.Realizar Conexão -> 2.Receber Cartas -> 3.Enviar cartas -> 4.Realiza o lock -> 5.Avaliar Resposta -> Retorna para 2 até não existir mais cartas.

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.