[code]import java.rmi.;
import java.rmi.registry.LocateRegistry;
import java.rmi.server.;
import java.lang.;
import java.util.;
public class Servidor extends UnicastRemoteObject implements ChatInterface {
private ServerList serverList = new ServerList();
public Random myRandom = new Random();
public int NumJogadorCont = 0;
public int Num_X ;
public boolean Acertou = false;
public boolean IniciaJogo = false;
public int j;
public String NomeJogadorVet[] = new String[j];
public int NumJogadorVet[] = new int[j];
private String lado;
private String naipe;
public carta[] carta;
public int atual;
public final int quantidade = 52;
public Random aleatório;
public Servidor() throws RemoteException {
NumJogadorVet[0] = 0 ;
NomeJogadorVet[0] = "";
}
public void NumAleatorio() {
// Gerar inteiros de 1 a m (Outra forma)
int m = 10;
Num_X = myRandom.nextInt(m) + 1;
System.out.println ("O valor de X = "+ Num_X + "\n");
}
public void MostrarMenuCliente()throws RemoteException {
}
public void juntar(Notificar n, String name) throws RemoteException {
for (j=0;j<3;j++)
// My - Incrementa o contador de jogadores -> NumJogador
NumJogadorVet[j] = j;
NomeJogadorVet[j] = name;
serverList.add(n); // Valor de n :
System.out.println ("O Cliente "+ name+ " juntou-se em \nURL : "+n);
serverList.incCounter();
for (Iterator i = serverList.getCollection().iterator();
i.hasNext();) {
Notificar client = (Notificar)i.next();
client.JuntarMensagem(name, NumJogadorCont );
}
serverList.decCounter();
}
public void conversar(String name, String s)
throws RemoteException {
serverList.incCounter();
for (Iterator i = serverList.getCollection().iterator();
i.hasNext();) {
Notificar client = (Notificar)i.next();
client.EnviarMensagem(name,s);
}
serverList.decCounter();
}
public synchronized void deixar(Notificar n, String name) throws RemoteException {
serverList.remove(n);
serverList.incCounter();
for (Iterator i = serverList.getCollection().iterator();
i.hasNext();) {
Notificar client = (Notificar)i.next();
client.SairMensagem(name);
}
serverList.decCounter();
System.out.println ("O Cliente "+ name+" Deixou o Chat\n");
// My - Decrementa numetro de Jogadores
NumJogadorCont --;
}
public static void main(String[] args) {
try {
LocateRegistry.createRegistry(1099);
Servidor server = new Servidor();
Naming.rebind("rmichat", server);
System.out.println ("Servidor Pronto!");
}
catch (java.net.MalformedURLException e) {
System.out.println("nome da URL mal formado para Servidor de Mesagem "
+ e.toString());
}
catch (RemoteException e) {
System.out.println("Erro de comunicação" + e.toString());
}
}
public void baralho () throws RemoteException {
String lado[] = {"Dois", "Tres", "Quatro", "Cinco", "Seis",
"Sete", "Oito", "Nove", "Dez", "Valete", "Dama", "Rei", "As" };
String naipe[] = { "Espadas", "Coração", "Paus", "Ouro" };
carta = new carta[quantidade]; // cria array de objetos Card
atual = 0; // índice de carta atual
aleatório = new Random(); // cria gerador de número aleatório
// preenche baralho com objetos Card
for ( int count = 0; count < carta.length; count++ ){
carta[ count ] =
new carta( lado[ count % 13 ], naipe[ count / 13 ] );
} }
public carta distribui () throws RemoteException{
// determina se ainda há Cards a ser distribuídos
if ( atual < carta.length )
return carta[ atual++ ];
else
System.out.println(“Não há cartas para serem distribuídas”);
return null;
//aqui implementar a distribuição da carta para jogador
}
public void embaralhar () throws RemoteException{
//aqui implementar embaralhar as cartas dentro do array
}
public void trocar () throws RemoteException{
//aqui implementar a troca de cartas quando o jogador solicitar
}
public void encerrar () throws RemoteException{
//aqui implementar o término da participação do jogador quando solicitar
}
}
[/code]
Esta é a classe principal.
Tudo bem, agradeço desde já pela ajuda!