<DT><B>Direct Known Subclasses:</B><DD><AHREF="../../jrummikub/control/network/NetworkRoundControl.html"title="class in jrummikub.control.network">NetworkRoundControl</A></DD>
<TD><CODE><B><AHREF="../../jrummikub/control/RoundControl.InvalidTurnInfo.html"title="class in jrummikub.control">RoundControl.InvalidTurnInfo</A></B></CODE>
<BR>
Table, stone sets and type of an invalid turn to allow a user to track his
<TD><CODE><B><AHREF="../../jrummikub/control/RoundControl.InvalidTurnType.html"title="enum in jrummikub.control">RoundControl.InvalidTurnType</A></B></CODE>
<BR>
Enum summarizing the different types of invalid turns to set the correct
panel message</TD>
</TR>
</TABLE>
<!-- =========== FIELD SUMMARY =========== -->
<CODE>protected java.util.List<<AHREF="../../jrummikub/util/Connection.html"title="interface in jrummikub.util">Connection</A>></CODE></FONT></TD>
<CODE>private <AHREF="../../jrummikub/util/Event1.html"title="class in jrummikub.util">Event1</A><<AHREF="../../jrummikub/model/Score.html"title="class in jrummikub.model">Score</A>></CODE></FONT></TD>
<CODE>private <AHREF="../../jrummikub/util/Event1.html"title="class in jrummikub.util">Event1</A><<AHREF="../../jrummikub/model/PlayerSettings.html"title="class in jrummikub.model">PlayerSettings</A>></CODE></FONT></TD>
<CODE>private <AHREF="../../jrummikub/util/Event1.html"title="class in jrummikub.util">Event1</A><<AHREF="../../jrummikub/model/IRoundState.html"title="interface in jrummikub.model">IRoundState</A>></CODE></FONT></TD>
<CODE>private <AHREF="../../jrummikub/control/turn/ITurnControl.html"title="interface in jrummikub.control.turn">ITurnControl</A></CODE></FONT></TD>
<TD><CODE><B><AHREF="../../jrummikub/control/RoundControl.html#RoundControl(jrummikub.model.IRoundState, jrummikub.view.IView)">RoundControl</A></B>(<AHREF="../../jrummikub/model/IRoundState.html"title="interface in jrummikub.model">IRoundState</A> roundState,
<TD><CODE><B><AHREF="../../jrummikub/control/RoundControl.html#RoundControl(jrummikub.model.IRoundState, jrummikub.view.IView, boolean)">RoundControl</A></B>(<AHREF="../../jrummikub/model/IRoundState.html"title="interface in jrummikub.model">IRoundState</A> roundState,
<AHREF="../../jrummikub/view/IView.html"title="interface in jrummikub.view">IView</A> view,
boolean mayPause)</CODE>
<BR>
Create a new RoundControl using the given roundState and view</TD>
<TD><CODE><B><AHREF="../../jrummikub/control/RoundControl.html#addTurnControlListeners(jrummikub.control.turn.ITurnControl)">addTurnControlListeners</A></B>(<AHREF="../../jrummikub/control/turn/ITurnControl.html"title="interface in jrummikub.control.turn">ITurnControl</A> turnControl)</CODE>
<CODE>protected <AHREF="../../jrummikub/control/turn/ITurnControl.html"title="interface in jrummikub.control.turn">ITurnControl</A></CODE></FONT></TD>
<TD><CODE><B><AHREF="../../jrummikub/control/RoundControl.html#endOfTurn(jrummikub.control.RoundControl.InvalidTurnInfo)">endOfTurn</A></B>(<AHREF="../../jrummikub/control/RoundControl.InvalidTurnInfo.html"title="class in jrummikub.control">RoundControl.InvalidTurnInfo</A> invalidTurnInfo)</CODE>
<BR>
End the players turn</TD>
<CODE> <AHREF="../../jrummikub/util/IEvent1.html"title="interface in jrummikub.util">IEvent1</A><<AHREF="../../jrummikub/model/Score.html"title="class in jrummikub.model">Score</A>></CODE></FONT></TD>
<CODE> <AHREF="../../jrummikub/util/IEvent1.html"title="interface in jrummikub.util">IEvent1</A><<AHREF="../../jrummikub/model/PlayerSettings.html"title="class in jrummikub.model">PlayerSettings</A>></CODE></FONT></TD>
<CODE> <AHREF="../../jrummikub/util/IEvent1.html"title="interface in jrummikub.util">IEvent1</A><<AHREF="../../jrummikub/model/IRoundState.html"title="interface in jrummikub.model">IRoundState</A>></CODE></FONT></TD>
<TD><CODE><B><AHREF="../../jrummikub/control/RoundControl.html#setRoundState(jrummikub.model.IRoundState)">setRoundState</A></B>(<AHREF="../../jrummikub/model/IRoundState.html"title="interface in jrummikub.model">IRoundState</A> state)</CODE>
<BR>
Sets the current round state</TD>
<CODE>protected <AHREF="../../jrummikub/view/IView.BottomPanelType.html"title="enum in jrummikub.view">IView.BottomPanelType</A></CODE></FONT></TD>
<CODE>private static <AHREF="../../jrummikub/util/Pair.html"title="class in jrummikub.util">Pair</A><java.lang.Integer,java.lang.Integer></CODE></FONT></TD>
<TD><CODE><B><AHREF="../../jrummikub/control/RoundControl.html#updateBestScore(jrummikub.util.Pair, int, int)">updateBestScore</A></B>(<AHREF="../../jrummikub/util/Pair.html"title="class in jrummikub.util">Pair</A><java.lang.Integer,java.lang.Integer> bestScore,
int stonePoints,
int size)</CODE>
<BR>
Update the best score to find the winner in case of special game end
private <AHREF="../../jrummikub/control/turn/ITurnControl.html"title="interface in jrummikub.control.turn">ITurnControl</A><B>turnControl</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<ANAME="roundState"><!----></A><H3>
roundState</H3>
<PRE>
protected <AHREF="../../jrummikub/model/IRoundState.html"title="interface in jrummikub.model">IRoundState</A><B>roundState</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<ANAME="view"><!----></A><H3>
view</H3>
<PRE>
private <AHREF="../../jrummikub/view/IView.html"title="interface in jrummikub.view">IView</A><B>view</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<ANAME="restartRoundEvent"><!----></A><H3>
restartRoundEvent</H3>
<PRE>
private <AHREF="../../jrummikub/util/Event1.html"title="class in jrummikub.util">Event1</A><<AHREF="../../jrummikub/model/PlayerSettings.html"title="class in jrummikub.model">PlayerSettings</A>><B>restartRoundEvent</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<ANAME="roundStateUpdateEvent"><!----></A><H3>
roundStateUpdateEvent</H3>
<PRE>
private <AHREF="../../jrummikub/util/Event1.html"title="class in jrummikub.util">Event1</A><<AHREF="../../jrummikub/model/IRoundState.html"title="interface in jrummikub.model">IRoundState</A>><B>roundStateUpdateEvent</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<ANAME="endOfRoundEvent"><!----></A><H3>
endOfRoundEvent</H3>
<PRE>
private <AHREF="../../jrummikub/util/Event1.html"title="class in jrummikub.util">Event1</A><<AHREF="../../jrummikub/model/Score.html"title="class in jrummikub.model">Score</A>><B>endOfRoundEvent</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<ANAME="connections"><!----></A><H3>
connections</H3>
<PRE>
protected java.util.List<<AHREF="../../jrummikub/util/Connection.html"title="interface in jrummikub.util">Connection</A>><B>connections</B></PRE>
<DT><B>Parameters:</B><DD><CODE>roundState</CODE> - initial round state<DD><CODE>view</CODE> - view used for user interaction<DD><CODE>mayPause</CODE> - true when players are allowed to pause</DL>
public <AHREF="../../jrummikub/util/IEvent1.html"title="interface in jrummikub.util">IEvent1</A><<AHREF="../../jrummikub/model/IRoundState.html"title="interface in jrummikub.model">IRoundState</A>><B>getRoundStateUpdateEvent</B>()</PRE>
public <AHREF="../../jrummikub/util/IEvent1.html"title="interface in jrummikub.util">IEvent1</A><<AHREF="../../jrummikub/model/Score.html"title="class in jrummikub.model">Score</A>><B>getEndOfRoundEvent</B>()</PRE>
protected void <B>setRoundState</B>(<AHREF="../../jrummikub/model/IRoundState.html"title="interface in jrummikub.model">IRoundState</A> state)</PRE>
<DL>
<DD>Sets the current round state
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>state</CODE> - to be set</DL>
</DD>
</DL>
<HR>
<ANAME="showStartTurnPanel()"><!----></A><H3>
showStartTurnPanel</H3>
<PRE>
protected <AHREF="../../jrummikub/view/IView.BottomPanelType.html"title="enum in jrummikub.view">IView.BottomPanelType</A><B>showStartTurnPanel</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<ANAME="prepareTurn()"><!----></A><H3>
prepareTurn</H3>
<PRE>
protected void <B>prepareTurn</B>()</PRE>
<DL>
<DD>Prepare a player's turn by checking the player types and setting the
correct turn control
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<ANAME="doPrepareTurn()"><!----></A><H3>
doPrepareTurn</H3>
<PRE>
protected void <B>doPrepareTurn</B>()</PRE>
<DL>
<DD>Prepare turn by setting the view components
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<ANAME="startTurn()"><!----></A><H3>
startTurn</H3>
<PRE>
protected void <B>startTurn</B>()</PRE>
<DL>
<DD>Start a players turn with the correct turn control
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<ANAME="updateSidePanel()"><!----></A><H3>
updateSidePanel</H3>
<PRE>
private void <B>updateSidePanel</B>()</PRE>
<DL>
<DD>Update the side panel to show correct player order and heap size
protected void <B>addTurnControlListeners</B>(<AHREF="../../jrummikub/control/turn/ITurnControl.html"title="interface in jrummikub.control.turn">ITurnControl</A> turnControl)</PRE>
<DL>
<DD>Override this
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>turnControl</CODE> - current turn control</DL>
</DD>
</DL>
<HR>
<ANAME="createTurnControl()"><!----></A><H3>
createTurnControl</H3>
<PRE>
protected <AHREF="../../jrummikub/control/turn/ITurnControl.html"title="interface in jrummikub.control.turn">ITurnControl</A><B>createTurnControl</B>()</PRE>
<DL>
<DD>Creates new turn control of the specified type
protected void <B>endOfTurn</B>(<AHREF="../../jrummikub/control/RoundControl.InvalidTurnInfo.html"title="class in jrummikub.control">RoundControl.InvalidTurnInfo</A> invalidTurnInfo)</PRE>
private static <AHREF="../../jrummikub/util/Pair.html"title="class in jrummikub.util">Pair</A><java.lang.Integer,java.lang.Integer><B>updateBestScore</B>(<AHREF="../../jrummikub/util/Pair.html"title="class in jrummikub.util">Pair</A><java.lang.Integer,java.lang.Integer> bestScore,
int stonePoints,
int size)</PRE>
<DL>
<DD>Update the best score to find the winner in case of special game end
(everybody still has stones on hand)
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>bestScore</CODE> - of previous rounds<DD><CODE>stonePoints</CODE> - sum of points still left on hands<DD><CODE>size</CODE> - number of players in game (= size of score list in columns)
<DT><B>Returns:</B><DD>Pair of maximum points and hand size</DL>
</DD>
</DL>
<HR>
<ANAME="getRestartRoundEvent()"><!----></A><H3>
getRestartRoundEvent</H3>
<PRE>
public <AHREF="../../jrummikub/util/IEvent1.html"title="interface in jrummikub.util">IEvent1</A><<AHREF="../../jrummikub/model/PlayerSettings.html"title="class in jrummikub.model">PlayerSettings</A>><B>getRestartRoundEvent</B>()</PRE>
<DL>
<DD>Emitted when the round is aborted and needs to be restarted