Package jadex.micro.quiz
Class QuizMasterAgent
java.lang.Object
jadex.micro.quiz.QuizMasterAgent
- All Implemented Interfaces:
IQuizService
The quiz master agent.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected jadex.core.IComponent
The agent.protected long
The delay between questions.protected int
The current question no.protected Quiz
The quiz.protected Map
<jadex.core.ComponentIdentifier, QuizResults> The results.protected Map
<jadex.core.ComponentIdentifier, jadex.future.SubscriptionIntermediateFuture<QuizEvent>> The current participants. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected Quiz
Create a quiz.jadex.future.ISubscriptionIntermediateFuture
<QuizEvent> Method to participate in the quiz.void
publishEvent
(QuizEvent event) Publish a quiz event.void
publishQuestion
(Question question, int questioncnt) Publish a question to all subscribers.void
Publish the results.jadex.future.IFuture
<Void> sendAnswer
(int answer, int questioncnt) Send an answer.void
start()
-
Field Details
-
agent
protected jadex.core.IComponent agentThe agent. -
subscriptions
protected Map<jadex.core.ComponentIdentifier,jadex.future.SubscriptionIntermediateFuture<QuizEvent>> subscriptionsThe current participants. -
quiz
The quiz. -
results
The results. -
delay
protected long delayThe delay between questions. -
questioncnt
protected int questioncntThe current question no.
-
-
Constructor Details
-
QuizMasterAgent
public QuizMasterAgent() -
QuizMasterAgent
public QuizMasterAgent(long delay)
-
-
Method Details
-
start
public void start() -
createQuiz
Create a quiz. -
participate
Method to participate in the quiz.- Specified by:
participate
in interfaceIQuizService
- Returns:
- The subscription for receiving quiz events.
-
sendAnswer
Send an answer.- Specified by:
sendAnswer
in interfaceIQuizService
- Parameters:
answer
- The answer.
-
publishQuestion
Publish a question to all subscribers.- Parameters:
question
- The question.
-
publishResults
public void publishResults()Publish the results. -
publishEvent
Publish a quiz event.- Parameters:
event
- The event.
-