madkit.games.tictactoe
Class TicTacToeAgent

java.lang.Object
  extended by madkit.kernel.AbstractAgent
      extended by madkit.kernel.Agent
          extended by madkit.games.tictactoe.TicTacToeAgent
All Implemented Interfaces:
java.io.Serializable, java.lang.Runnable

public class TicTacToeAgent
extends Agent

The TicTacToe shows how to easily implement a distributed application in MadKit. The TicTacToeAgent class is the agent class which encapsulates both the GUI (the GameCasesFrame class) and the game class (GameCases).

Copyright: Copyright (c) 2002 - MadKit Team. goto: www.madkit.org

Version:
1.0
Author:
J. Ferber
See Also:
Serialized Form

Constructor Summary
TicTacToeAgent()
           
TicTacToeAgent(java.lang.String gr)
           
 
Method Summary
 void activate()
          This method is initially called when the micro-kernel registers the agent.
 void initGUI()
          This method is called by the specific external graphic system (as the G-Box) to ask the agent to prepare a graphical interface.
 void live()
          This method defines the main behavior of threaded agents.
 
Methods inherited from class madkit.kernel.Agent
connectAgencyToAgency, createPlace, createPlace, enableMobility, enableMobility, exitImmediatlyOnKill, getAgencyNamed, joinPlace, joinPlace, joinPlace, pause, receiveMessage, run, waitNextMessage, waitNextMessage
 
Methods inherited from class madkit.kernel.AbstractAgent
broadcastMessage, broadcastMessage, connectedWithCommunity, createGroup, createGroup, debug, destroyGroup, disposeMyGUI, end, foundGroup, getAddress, getAgentsWithRole, getAgentsWithRole, getAgentWithRole, getAgentWithRole, getAvailableCommunities, getBean, getController, getCurrentKernelAddress, getDebug, getExistingGroups, getExistingGroups, getExistingRoles, getExistingRoles, getGroups, getGUIObject, getMessageBoxSize, getMyGroups, getMyGroups, getMyRoles, getMyRoles, getName, getRoles, hasGUI, hashCode, hideMyGUI, isBelongingToGroup, isBelongingToGroup, isCommunity, isGroup, isGroup, isMemberOf, isMemberOf, isMessageBoxEmpty, isRole, isRole, joinGroup, killAgent, launchAgent, launchAgent, leaveGroup, leaveGroup, leaveRole, leaveRole, nextMessage, print, println, redisplayMyGUI, requestRole, requestRole, requestRole, restoreAgent, sendMessage, sendMessage, sendMessage, setBean, setController, setDebug, setGUIObject, setName, setOutput, setOutputWriter, toString, windowClosing
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TicTacToeAgent

public TicTacToeAgent()

TicTacToeAgent

public TicTacToeAgent(java.lang.String gr)
Method Detail

initGUI

public void initGUI()
Description copied from class: AbstractAgent
This method is called by the specific external graphic system (as the G-Box) to ask the agent to prepare a graphical interface. The agent developer should use a setGUIObject(...) within this method, as well as other necessary initializations. If the developer does not overload this method, a vanilla text output might be used as the default interface.

Overrides:
initGUI in class AbstractAgent

activate

public void activate()
Description copied from class: AbstractAgent
This method is initially called when the micro-kernel registers the agent. Usually a good place to set up some initial groups and roles.

Here is a typical example (taken from the PingPong agent of MadKit (plugin demos)) :

public void activate()
{
        try {
                createGroup(true,"ping-pong",null,null);
                println ("No ping-pong group : I created one");
                creator=true;
        } catch (OrganizationRequestException e) { // the group already exists
                creator=false;
                println ("A ping-pong group already exists : I will join");
        }
        requestRole("ping-pong","player",null);
}
 

Overrides:
activate in class AbstractAgent

live

public void live()
Description copied from class: Agent
This method defines the main behavior of threaded agents.

Overrides:
live in class Agent


Copyright © Madkit Team (O. Gutknecht, J. Ferber, F. Michel et al.) All Rights Reserved.