54 lines
1.1 KiB
C++
54 lines
1.1 KiB
C++
#include "jankenmodule.h"
|
|
|
|
#include "message.h"
|
|
#include "janken.h"
|
|
|
|
JankenModule::JankenModule()
|
|
{
|
|
playing = false;
|
|
jk = new Janken();
|
|
}
|
|
|
|
bool JankenModule::messageHandler(Message msg)
|
|
{
|
|
if(msg.command.compare(QString("PRIVMSG"), Qt::CaseInsensitive) != 0 || !msg.target.contains(getChan()))
|
|
return false;
|
|
|
|
if(msg.args.compare("!janken") == 0)
|
|
{
|
|
answer = say(" Pon !");
|
|
playing = true;
|
|
return true;
|
|
}
|
|
|
|
if(msg.args.compare("!stopjanken") == 0)
|
|
{
|
|
playing = false;
|
|
return false;
|
|
}
|
|
|
|
if(playing && jk->hasPlayed(msg.args)){
|
|
int move = jk->pickMove();
|
|
switch(move){
|
|
case PIERRE:
|
|
answer=say(QString("Pierre\n")) + say(jk->getWinner()) ;
|
|
break;
|
|
case FEUILLE:
|
|
answer=say(QString("Feuille\n"))+ say(jk->getWinner());
|
|
break;
|
|
case CISEAUX:
|
|
answer=say(QString("Ciseaux\n"))+ say(jk->getWinner());
|
|
break;
|
|
};
|
|
jk->updateKnowledge();
|
|
playing = false;
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
QString JankenModule::getName()
|
|
{
|
|
return "janken";
|
|
}
|