[syndicate]
Auriea Harvey
a at e8z.org
Thu Apr 25 09:58:43 CEST 2002
ScissorsPaperStone(Agent p1, Agent p2, int max_score)
needs p1, p2
constructor
{
int score1=0;
int score2=0;
int NumGoes=0;
AGENT_LIST Players;
enum actions
{
scissors,
paper,
stone
};
Players.push_back(p1);
Players.push_back(p2);
-> Play
}
state Play
{
needs score1<max_score && score2<max_score !-> Finished
requests
Players do CHOOSE(scissors, paper, stone) !-> GiveUp
->
Evaluate
}
state Evaluate
{
if (p1.GetChoice() > p2.GetChoice())
{
score1++;
}
else
{
score2++;
}
-> Play
}
state Finished
{
if (score1 > score2)
{
=> UpdateScoreFromResult(p1) // send message to parent
-> WinnerCelebrates(p1, p2)
}
else
{
=> UpdateScoreFromResult(p2) // send message to parent
-> WinnerCelebrates(p2, p1)
}
}
state WinnerCelebrates(Agent winner, Agent loser)
{
requests
winner do CELEBRATE() !-> GiveUp
->
LoserCries(loser)
}
state LoserCries(Agent loser)
{
needs loser
requests loser do CRY() -> GiveUp
}
state GiveUp
{
-> Delete
}
--
http://entropy8zuper.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://tekspost.no/mailman/private/syndicate/attachments/20020425/e665b1c5/attachment-0001.html>
More information about the Syndicate
mailing list