TWiki home XP > XP > CodigoFrameworkJogo ( vs. r1.1) XP webs:
Main | TWiki | Sandbox | Portugues
XP . { Bugzilla Últimas atualizações Busca Registro Sobre o TWiki }
 <<O>>  Difference Topic CodigoFrameworkJogo (r1.1 - 08 Jul 2005 - NeyZunino)
Line: 1 to 1
Added:
>
>
META TOPICPARENT MauMau
-- NeyZunino - 08 Jul 2005

package fwjogos;

import java.util.HashSet;
import java.util.Set;

public abstract class Jogo {

   private Resultado resultado;
   protected final Set<Jogador> jogadores = new HashSet<Jogador>();
   private int numeroMinimoDeJogadores, numeroMaximoDeJogadores;

   public Jogo(Set<String> p, int i, int j) {
      numeroMinimoDeJogadores = i;
      numeroMaximoDeJogadores = j;

      for (String nome : p) {
         jogadores.add(new Jogador(nome));
      }

      assert this.númeroDeParticipantes() == p.size() : "Os candidatos são os jogadores";
      assert numeroMinimoDeJogadores <= númeroDeParticipantes() : "O jogo não conta com o número minimo de jogadores";
      assert numeroMaximoDeJogadores >= númeroDeParticipantes() : "O jogo extrapolou o número máximo de jogadores";
   }

   public abstract void jogue();

   protected final void crieResultado(Set<String> vencedores, Set<String> descricao) {
      Set<String> jogadoresJogo = new HashSet<String>();
      for (Jogador jog : jogadores){
         jogadoresJogo.add(jog.getNome());
      }

      for (String v : vencedores ){
         assert (jogadoresJogo.contains(v)): "Resultado com vencedores invalidos";
      }

      resultado = new Resultado(vencedores, descricao);
   }

   public final Resultado resultado(){
      if (resultado == null)
         throw new AssertionError("Impossivel obter resultado sem jogar");
      return resultado;
   }

   public int númeroDeParticipantes() {
      return jogadores.size();
   }

}

Topic CodigoFrameworkJogo . { View | Diffs | r1.1 | More }
Revision -
Revision r1.1 - 08 Jul 2005 - 12:04 - NeyZunino
Copyright © 1999-2003 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding XP? Send feedback.