p1.aplic.cartas
Class Mao

java.lang.Object
  |
  +--p1.aplic.cartas.Mao
Direct Known Subclasses:
MaoPoquer

public class Mao
extends java.lang.Object

Uma mão de cartas.

Version:
1.1
Copyright (C) 1999 Universidade Federal da Paraíba.
Author:
Jacques Philippe Sauvé, jacques@dsc.ufpb.br

Constructor Summary
Mao()
          Construtor de uma mão (vazia) de cartas.
 
Method Summary
 void adicionar(Carta carta)
          Adiciona uma carta à mão.
 Carta cartaEm(int posição)
          Recupera a carta que está numa determinada posição na mão.
 Carta cartaNoTopo()
          Recupera a carta que está "no topo" da mão (isto é, a carta mais à direita).
 int compareTo(Mao outra)
          Compare esta mão a outra de acordo com seu respectivo valor.
 java.util.Iterator iterator()
          Recupera um iterador para poder varrer todas as cartas da mão.
 int númeroDeCartas()
          Recupera o número de cartas na mão.
 boolean remover(Carta carta)
          Remove uma determinada carta da mão.
 Carta remover(int i)
          Remove a carta que está numa determinada posição na mão.
 java.lang.String toString()
          Formata a mão como string.
 void trocar(Carta c1, Carta c2)
          Troca duas cartas da mão.
 void trocar(int i, int j)
          Troca duas cartas da mão, dadas duas posições na mão.
 int valor()
          Calcula o valor da mão.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Mao

public Mao()
Construtor de uma mão (vazia) de cartas.
Method Detail

númeroDeCartas

public int númeroDeCartas()
Recupera o número de cartas na mão.
Returns:
O número de cartas na mão.

iterator

public java.util.Iterator iterator()
Recupera um iterador para poder varrer todas as cartas da mão.
Returns:
Um iterador da mão.

valor

public int valor()
Calcula o valor da mão. O valor da mão vai depender normalmente de todas as cartas que tem nela. O valor absoluto da mão poderá ter algum significado ou não, dependendo do jogo em particular. O mais importante é que duas mãos podem ser comparadas de acordo com este valor.
Returns:
O valor da mão.

adicionar

public void adicionar(Carta carta)
Adiciona uma carta à mão.
Parameters:
carta - A carta a adicionar.

cartaEm

public Carta cartaEm(int posição)
Recupera a carta que está numa determinada posição na mão. A carta mais à esquerda é de posição 0, e esta posição cresce para as cartas à direita. A carta permanece na mão após este método.
Parameters:
posição - A posição da carta desejada.
Returns:
A carta na posição desejada.

cartaNoTopo

public Carta cartaNoTopo()
Recupera a carta que está "no topo" da mão (isto é, a carta mais à direita).
Returns:
A carta desejada.

remover

public Carta remover(int i)
Remove a carta que está numa determinada posição na mão. A carta mais à esquerda é de posição 0, e esta posição cresce para as cartas à direita.
Parameters:
posição - A posição da carta desejada.
Returns:
A carta desejada.

remover

public boolean remover(Carta carta)
Remove uma determinada carta da mão.
Parameters:
carta - A carta a ser removida da mão.
Returns:
true se a carta foi removida, false caso contrário.

trocar

public void trocar(int i,
                   int j)
Troca duas cartas da mão, dadas duas posições na mão. A carta mais à esquerda é de posição 0, e esta posição cresce para as cartas à direita.
Parameters:
i - A posição da primeira carta a trocar.
j - A posição da segunda carta a trocar.

trocar

public void trocar(Carta c1,
                   Carta c2)
Troca duas cartas da mão.
Parameters:
c1 - A primeira carta a trocar.
c2 - A segunda carta a trocar.

compareTo

public int compareTo(Mao outra)
Compare esta mão a outra de acordo com seu respectivo valor.
Parameters:
outra - A outra mão a comparar.
Returns:
0 se as mãos forem de mesmo valor; um valor < 0 se esta mão for de valor menor; e um valor > 0 se esta mão for de valor menor.

toString

public java.lang.String toString()
Formata a mão como string.
Overrides:
toString in class java.lang.Object
Returns:
Um string que represente a mão de cartas.