Feeds:
Posts
Comments

Archive for the ‘spyse’ Category

Antes de mostrar como criar agentes com  o SpySe. Vamos instalar o SpySe.  Para isso basta ir no SVN e baixar tudo pelo link  GNU tarball. Baixado o .tar, descompacte ele no seu local de preferência e dentro da pasta spyse dê um sudo python setup.py install (para quem usa ubuntu).  Feito isso o seu spyse já está instalado e para testar é só abrir o shell do python e testar com : import spyse, se tudo der certo nenhuma mensagem será mostrada, mas se der errado vá na pasta do spyse que você deszipou e copia o arquivo __init__.py, dessa forma:  sudo cp __init__.py /usr/local/lib/python2.6/dist-packages/spyse/.  Depois de feito isso, vai no shell do python e testa novamente com: import spyse, se tudo deu certo vamos começar o trabalho.

Vamos criar um agente que diz “hello world” (mais clichê que isso impossível).  Para tal precisamos que nossa classe agente (HelloWorldAgent) herde da classe agente que é importada como mostra o código abaixo.  Feito isso o seu agente deve ter um método setup para inicializar os seus possíveis parâmetros.  Pronto você já tem um agente prontinho para rodar.  Basta agora criar a classe aplicação e chamar o seu agente, ou seus agentes.  Veja o código abaixo:

CODE

#!/usr/bin/env python
# -*- coding: latin-1 -*-

from spyse.core.agents.agent import Agent
from spyse.app.app import App

class HelloWorldAgent(Agent):

    def setup(self):
        print "Hello world!!"

class MyApp(App):
    def run(self,args):
        self.start_agent(HelloWorldAgent,"Agent")

if __name__=="__main__":
    MyApp()

A sintaxe do spyse é muito similar ao do JADE, então se você já conhece a do JADE fica bem mais fácil manusear com o spyse. Em breve pretendo postar aqui o trabalho que eu fiz, com mais exemplos de código e mais completo. O legal de agente é que eles podem ser utilizados para um número muito grande de problemas. Minha ideia é que no ano que vem eu acaba utilizando eles na criação de um jogo usando spyse e PyGame. Então é isso até a próxima.

Read Full Post »