miércoles, 20 de noviembre de 2013

SRC Juego distribuido


:D
public interface JugadorPelicula{
public void enviarPista();
public void masterTurn();
public void valida_Gana();
public boolean seguir();

}
////////////////////////////////////////////////
import java.io.*;
import java.net.*;
import java.util.*;
public class cJugador1 implements JugadorPelicula{
public String opcion="";
public String pelicula=null;
public String aux=null;
public String n="1";
public char gamer=' ';
Scanner scaner = new Scanner(System.in);
MulticastSocket s;
InetAddress grupo;
public boolean seguir()
{
if(gamer=='x')
return false;
else
return true;
}
public void masterTurn()
{
System.out.println("Eres el turno MAESTRO");
System.out.println("Teclea la pelicula a adivinar:");
pelicula=scaner.nextLine();
//System.out.println(pelicula);

}
public void enviarPista()
{
String pista = "";
try{
grupo=InetAddress.getByName("239.1.2.3");
s=new MulticastSocket(12345);
s.setTimeToLive(32);
System.out.println("Teclea la pista: ");
pista=n+(scaner.nextLine());
DatagramPacket paquete=new DatagramPacket(pista.getBytes(), pista.length(),grupo,12345);
s.send(paquete);
s.close();
}
catch(Exception ex){
ex.printStackTrace();
}
}
public void valida_Gana(){
String auxP="";
String auxO="";
String win="";
auxP=pelicula.replaceAll(" ","");
auxP=auxP.toLowerCase();
auxO=opcion.replaceAll(" ","");
auxO=auxO.toLowerCase();
//System.out.println(auxO.length());
String magia=auxO.substring(0,auxP.length());
if(auxP.equals(magia))
{  
try{
grupo=InetAddress.getByName("239.1.2.3");
s=new MulticastSocket(12345);
s.setTimeToLive(32);
if(gamer=='1')
{
win="xFELICIDADES Jugador 1, HAS GANADO!!!";
gamer='x';
}
if(gamer=='2')
{
win="xFELICIDADES Jugador 2, HAS GANADO!!!";
gamer='x';
}
if(gamer=='3')
{
win="xFELICIDADES Jugador 3, HAS GANADO!!!";
gamer='x';
}
if(gamer=='4')
{
win="xFELICIDADES Jugador 4, HAS GANADO!!!";
gamer='x';
}
DatagramPacket paquete=new DatagramPacket(win.getBytes(), win.length(),grupo,12345);
s.send(paquete);
s.close();
}
catch(Exception ex){
ex.printStackTrace();
}
}
else
{
try{
grupo=InetAddress.getByName("239.1.2.3");
s=new MulticastSocket(12345);
s.setTimeToLive(4);
String lose="RESPUESTA INCORRECTA, SIGUIENTE TURNO: ";
DatagramPacket paquete=new DatagramPacket(lose.getBytes(), lose.length(),grupo,12345);
s.send(paquete);
s.close();
opcion=null;
}
catch(Exception ex){
ex.printStackTrace();
}
}
}
}
 /////////////////////////////////////////////////////////////////////////////////////
import java.io.*;
import java.net.*;
import java.util.*;

public class Jugador1
{
public static void main(String[] args) throws InterruptedException
{
 
boolean cont=true;
cJugador1 ejecutor = new cJugador1();
ejecutor.masterTurn();
while(cont==true)
{
ejecutor.enviarPista();
ejecutor.escuchar();
Thread.sleep(1000);
ejecutor.valida_Gana();
cont=ejecutor.ValidarContinuar();
// System.out.println(cont);
}  
}
}

No hay comentarios:

Publicar un comentario