Chat com agentes java, como construir?

0 respostas
analistaadilson

Procuro uma maneira de adaptar meu código para construção de uma aplicação que usa Agentes Java para um CHAT, tenho o código de um supermercado que usa Agentes para fazer compras, pensei em leitura de dado pelo teclado, armazenar isso num objeto 'Mensagem', e implementação de um método FALAR, que vcs acham? Alguma sugestão? não consigo achar materiais sobre agentes na Web, vcs têm??? abaixo posto um pouco do meu código do Supermercado:

Serv_Agente.java

// copyright 1997, 1998 objectspace
import com.recursionsw.ve.*;
import com.recursionsw.ve.agent.AgentFacet;
import java.util.Vector; 
public class Serv_Agente
 {
 public static void main( String[] args )
 {
 try
 { Voyager.startup();
            // criar o agente
      IAgente agente = (IAgente) Factory.create( Agente.class.getName() );
          // visitar os sites
     agente.work( );
     while(!agente.get_status())     System.out.println("working");
     System.out.println("fim");
     Vector rotas = agente.get_resultado();
// Imprimir visitas realizadas
        double total =0;
	     for (int i = 0; i< rotas.size(); i++)
		{
		  Estado estado = (Estado)rotas.elementAt(i);
		   System.out.println();
		   System.out.println("Site.....: " + estado.get_site());
		   System.out.println("Produto..: " + estado.get_produto());
		   System.out.println("Preco....: " + estado.get_preco());
		   total = total + estado.get_preco();
       		 }	
		   System.out.println("TOTAL....: " + total);
}
    			catch( Exception e )
     			 {
      				System.out.println( e );
      			} } }



IAgente.java
// copyright 1997, 1998 objectspace

import java.util.Vector; 

public interface IAgente
  {		 
  public void work(  );
  public  Vector get_resultado();
   public boolean get_status();
   public void site1(ISite site1 );
   public void site2(ISite site2 );
   public void site3(ISite site3 );
	     public  void visitar( ISite site, String prod );  
  }
Serv_Site1.java
import com.recursionsw.ve.*;
import com.recursionsw.ve.agent.AgentFacet;
public class Serv_Site1
  {
  public static void main( String[] args )
    {
    try
      {
      Voyager.startup();
      // Criar um site	  
      ISite site1 = (ISite) Factory.create( "Site1", "//localhost:8000/Site1" ); }
    catch( Exception e )
      {  System.err.println( e );
      }  } }
Serv_Site2.java
import com.recursionsw.ve.*;
import com.recursionsw.ve.agent.AgentFacet;
public class Serv_Site2
  {
  public static void main( String[] args )
 {
    try{
      Voyager.startup();
  // Criar um site	  
      ISite site2 = (ISite) Factory.create( "Site2", "//localhost:8001/Site2" );
  }
    catch( Exception e )
      {
      System.err.println( e );
      }  }  }
Serv_Site3.java
import com.recursionsw.ve.*;
import com.recursionsw.ve.agent.AgentFacet;
public class Serv_Site3
  {
  public static void main( String[] args )
 {
    try
      {
      Voyager.startup();
      // Criar um site	  
      ISite site3 = (ISite) Factory.create( "Site3", "//localhost:8002/Site3" );
      }
    catch( Exception e )
      {
      System.err.println( e );
      }  }  }
Site1.java
import java.util.*;
import java.io.*;
public class Site1 implements ISite  
  { String[] produto;
  double[] preco ;
  int tamanho;
 public Site1()
    {	  preco = new double[5];
	  produto = new String[5];
    System.out.println( "Site 1 criado" );
	produto[0] = "caneta"; preco[0] = 2;
	produto[1] = "lapis"; preco[1] = 0.5;
	produto[2] = "borracha"; preco[2] = 0.3;
	produto[3] = "caderno"; preco[3] = 2;
tamanho = 3;
 }
public String get_local()
	  {
	   return ("visita ao Site 1");
	  }
public double comprar(String prod)
	  { 
	  int i;
	  double valor;
	  valor =0;
	  for (i =0;i<=tamanho;i++ )
	 	 {
	  	if (prod.equals(produto[i]))
		  {
		 valor = preco[i];}}
return valor;  } }
Site2.java
import java.util.*;
import java.io.*;
public class Site2 implements ISite  
  {
  String[] produto;
  double[] preco ;
  int tamanho;
  public Site2()
    {	  preco = new double[5];
	  produto = new String[5];
    System.out.println( "Site 2 criado" );
	produto[0] = "caneta"; preco[0] = 2;
	produto[1] = "lapis"; preco[1] =  1.0;
	produto[2] = "borracha"; preco[2] = 0.6;
	produto[3] = "caderno"; preco[3] = 4;
	tamanho = 3;  }
  public String get_local()
	  {
	   return ("visita ao Site 2");
	  }
public double comprar(String prod)
  { 
	  int i;
	  double valor;
	  valor =0;
	  for (i =0;i<=tamanho;i++ )
	  {
	  if (prod.equals(produto[i]))
	 	{
			  valor = preco[i];
			  
		  }
	  }
	   return valor;
	  }
  }
Site3.java
import java.util.*;
import java.io.*;
public class Site3 implements ISite  
  {
  String[] produto;
  double[] preco ;
  int tamanho;
 public Site3()
    {
	  preco = new double[5];
	  produto = new String[5];
    System.out.println( "Site 3 criado" );
	produto[0] = "caneta"; preco[0] = 2.5;
	produto[1] = "lapis"; preco[1] = 0.75;
	produto[2] = "borracha"; preco[2] = 0.15;
	tamanho = 2;
  }
public String get_local()
	  {
	   return ("Visita ao Site 3...");
	  }
  public double comprar(String prod)
	  { 
 int i;
	  double valor;
	  valor =0;
	  for (i =0;i<=tamanho;i++ )
	  {
		  if (prod.equals(produto[i]))
		  {
			  valor = preco[i];
			  
		  }
	  }
	  
	  return valor;
	  }
  }
:? :roll:
Criado 6 de novembro de 2009
Respostas 0
Participantes 1