Essa biblioteca provê uma interface homem-computador para Jogo de Truco seguindo as interfaces Java usadas no curso Programação Orientada a Objetos – Java a partir do 1o oferecimento de 2008 até o 2o oferecimento de 2011.

Para usá-la é necessário implementar a lógica de negócio do jogo de truco. Ou seja, aqui não é disponibilizado uma implementação completa de Jogo – cabe a você implementá-la seguindo algumas interfaces básicas.

Licença

CC-GNU LGPL Este Software é licenciado sob a CC-GNU LGPL.

Este software usa as imagens criadas por Jesse Fuchs e Tom Hart sob a licença Creative Commons.

Software

Manual

Para usar a biblioteca é necessário implementar a interface br.usp.poli.java.ihc.JogoDeTruco. Nessa interface são definidos dois métodos: um que inicia um jogo (passando dois jogadores que são criados pela IHC) e um que informa o nome do criador da implementação da interface (que aparecerá na janela “Sobre”).

Uma vez criadas as implementações da interface JogoDeTruco, para que o programa rode é necessário instanciar um objeto da classe Truco, passando para o construtor as classes que implementam o jogo de manilha fixa e o de manilha variável (podem ser nulos, o que impedirá que se jogue com essas regras) e também as classes que representam os Jogadores controlados por computador (para manilha fixa e para manilha variável). Essa classe precisa implementar a interface br.usp.poli.java.IJogadorManilhaFixa oubr.usp.poli.java.IJogadorManilhaVariavel(são as mesmas interfaces que foram usadas para o projeto do curso, apenas em um pacote específico). O uso da classe controlada por computador usa o mecanismo de reflexão do Java. Na prática, é só passar o atributo “class” de uma classe que implementa a interface jogador adequada.

Por fim, chamando o método “iniciar” da classe Truco, a interface se inicia.

Cuidados:

  • As classes jogador devem possuir um construtor sem parâmetros (sem isso não consigo criar jogadores).
  • O pacote br.usp.poli.java possui as interfaces a respeito do Jogador que precisam ser implementadas.

Exemplo

Segue um código básico de uso da biblioteca:

public static void main(String[] args) {
   Truco jogo = new Truco(new JogoManilhaFixa(), new JogoManilhaVariavel(),
   JogadorSimplesManilhaFixa.class, JogadorSimplesManilhaVariavel.class);
   jogo.iniciar();
}

Organização

Os arquivos .properties (cartas e truco) são os arquivos de configuração da interface (um com os detalhes das figuras das cartas e o outro com os detalhes da tela do jogo).

Na pasta “images” estão as figuras das cartas, obtidas daqui, com o arquivo de copyright apropriado.

A outra pasta (br) é já a pasta com o código fonte (é um pacote).

Imagens

Algumas imagens da biblioteca funcionando com uma implementação do Jogo:

  • 22/07/2009
    • Alterações no endereço do site e detalhes do leiame.txt.
  • 28/03/2009
    • Reorganização da tela para caber em resoluções de 800×600.
  • 21/01/2009
    • Correção no acesso aos recursos (pode-se fazer um jar com a interface).
    • Mudança na semântica dos métodos da interface IJogador.
  • 16/06/2008
    • Versão Inicial

One thought on “IHC de Jogo de Truco

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *