diff options
Diffstat (limited to 'doc/jrummikub/control/RoundControl.html')
-rw-r--r-- | doc/jrummikub/control/RoundControl.html | 670 |
1 files changed, 632 insertions, 38 deletions
diff --git a/doc/jrummikub/control/RoundControl.html b/doc/jrummikub/control/RoundControl.html index b6a8501..4fce933 100644 --- a/doc/jrummikub/control/RoundControl.html +++ b/doc/jrummikub/control/RoundControl.html @@ -2,12 +2,12 @@ <!--NewPage--> <HTML> <HEAD> -<!-- Generated by javadoc (build 1.6.0_22) on Tue May 10 17:04:56 CEST 2011 --> +<!-- Generated by javadoc (build 1.6.0_22) on Tue Jul 05 21:51:54 CEST 2011 --> <TITLE> RoundControl </TITLE> -<META NAME="date" CONTENT="2011-05-10"> +<META NAME="date" CONTENT="2011-07-05"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style"> @@ -55,8 +55,8 @@ function windowTitle() <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> - <A HREF="../../jrummikub/control/ITurnTimer.html" title="interface in jrummikub.control"><B>PREV CLASS</B></A> - <A HREF="../../jrummikub/control/TurnControl.html" title="class in jrummikub.control"><B>NEXT CLASS</B></A></FONT></TD> + <A HREF="../../jrummikub/control/LoginControl.html" title="class in jrummikub.control"><B>PREV CLASS</B></A> + <A HREF="../../jrummikub/control/RoundControl.InvalidTurnInfo.html" title="class in jrummikub.control"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../index.html?jrummikub/control/RoundControl.html" target="_top"><B>FRAMES</B></A> <A HREF="RoundControl.html" target="_top"><B>NO FRAMES</B></A> @@ -76,9 +76,9 @@ function windowTitle() </TR> <TR> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> - SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> + SUMMARY: <A HREF="#nested_class_summary">NESTED</A> | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> -DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> +DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> </TR> </TABLE> <A NAME="skip-navbar_top"></A> @@ -95,6 +95,9 @@ Class RoundControl</H2> java.lang.Object <IMG SRC="../../resources/inherit.gif" ALT="extended by "><B>jrummikub.control.RoundControl</B> </PRE> +<DL> +<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../jrummikub/control/network/NetworkRoundControl.html" title="class in jrummikub.control.network">NetworkRoundControl</A></DD> +</DL> <HR> <DL> <DT><PRE>public class <B>RoundControl</B><DT>extends java.lang.Object</DL> @@ -108,7 +111,107 @@ Controller that manages a single round of rummikub <HR> <P> +<!-- ======== NESTED CLASS SUMMARY ======== --> + +<A NAME="nested_class_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Nested Class Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../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 + own errors</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>static class</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../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 =========== --> + +<A NAME="field_summary"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> +<B>Field Summary</B></FONT></TH> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected java.util.List<<A HREF="../../jrummikub/util/Connection.html" title="interface in jrummikub.util">Connection</A>></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../jrummikub/control/RoundControl.html#connections">connections</A></B></CODE> + +<BR> + </TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>private <A HREF="../../jrummikub/util/Event1.html" title="class in jrummikub.util">Event1</A><<A HREF="../../jrummikub/model/Score.html" title="class in jrummikub.model">Score</A>></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../jrummikub/control/RoundControl.html#endOfRoundEvent">endOfRoundEvent</A></B></CODE> + +<BR> + </TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>private boolean</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../jrummikub/control/RoundControl.html#mayPause">mayPause</A></B></CODE> + +<BR> + </TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>private <A HREF="../../jrummikub/util/Event1.html" title="class in jrummikub.util">Event1</A><<A HREF="../../jrummikub/model/PlayerSettings.html" title="class in jrummikub.model">PlayerSettings</A>></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../jrummikub/control/RoundControl.html#restartRoundEvent">restartRoundEvent</A></B></CODE> + +<BR> + </TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected <A HREF="../../jrummikub/model/IRoundState.html" title="interface in jrummikub.model">IRoundState</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../jrummikub/control/RoundControl.html#roundState">roundState</A></B></CODE> +<BR> + </TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>private <A HREF="../../jrummikub/util/Event1.html" title="class in jrummikub.util">Event1</A><<A HREF="../../jrummikub/model/IRoundState.html" title="interface in jrummikub.model">IRoundState</A>></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../jrummikub/control/RoundControl.html#roundStateUpdateEvent">roundStateUpdateEvent</A></B></CODE> + +<BR> + </TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>private <A HREF="../../jrummikub/control/turn/ITurnControl.html" title="interface in jrummikub.control.turn">ITurnControl</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../jrummikub/control/RoundControl.html#turnControl">turnControl</A></B></CODE> + +<BR> + </TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>private <A HREF="../../jrummikub/view/IView.html" title="interface in jrummikub.view">IView</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../jrummikub/control/RoundControl.html#view">view</A></B></CODE> + +<BR> + </TD> +</TR> +</TABLE> + <!-- ======== CONSTRUCTOR SUMMARY ======== --> <A NAME="constructor_summary"><!-- --></A> @@ -118,11 +221,23 @@ Controller that manages a single round of rummikub <B>Constructor Summary</B></FONT></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> -<TD><CODE><B><A HREF="../../jrummikub/control/RoundControl.html#RoundControl(jrummikub.model.IGameState, jrummikub.view.IView)">RoundControl</A></B>(<A HREF="../../jrummikub/model/IGameState.html" title="interface in jrummikub.model">IGameState</A> gameState, +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> </CODE></FONT></TD> +<TD><CODE><B><A HREF="../../jrummikub/control/RoundControl.html#RoundControl(jrummikub.model.IRoundState, jrummikub.view.IView)">RoundControl</A></B>(<A HREF="../../jrummikub/model/IRoundState.html" title="interface in jrummikub.model">IRoundState</A> roundState, <A HREF="../../jrummikub/view/IView.html" title="interface in jrummikub.view">IView</A> view)</CODE> <BR> - Create a new RoundControl using the given gameState and view</TD> + Create a new RoundControl using the given roundState and view</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected </CODE></FONT></TD> +<TD><CODE><B><A HREF="../../jrummikub/control/RoundControl.html#RoundControl(jrummikub.model.IRoundState, jrummikub.view.IView, boolean)">RoundControl</A></B>(<A HREF="../../jrummikub/model/IRoundState.html" title="interface in jrummikub.model">IRoundState</A> roundState, + <A HREF="../../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> </TR> </TABLE> @@ -136,30 +251,153 @@ Controller that manages a single round of rummikub </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> -<CODE>(package private) void</CODE></FONT></TD> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../jrummikub/control/RoundControl.html#abortRound()">abortRound</A></B>()</CODE> + +<BR> + Abort round if a new one is started or a saved one is loaded</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../jrummikub/control/RoundControl.html#addTurnControlListeners(jrummikub.control.turn.ITurnControl)">addTurnControlListeners</A></B>(<A HREF="../../jrummikub/control/turn/ITurnControl.html" title="interface in jrummikub.control.turn">ITurnControl</A> turnControl)</CODE> + +<BR> + Override this</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../jrummikub/control/RoundControl.html#continueRound()">continueRound</A></B>()</CODE> + +<BR> + Continue a saved round after loading</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected <A HREF="../../jrummikub/control/turn/ITurnControl.html" title="interface in jrummikub.control.turn">ITurnControl</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../jrummikub/control/RoundControl.html#createTurnControl()">createTurnControl</A></B>()</CODE> + +<BR> + Creates new turn control of the specified type</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../jrummikub/control/RoundControl.html#deal()">deal</A></B>()</CODE> <BR> - </TD> + Deal each player the number of stones specified in the game settings + (numberOfStonesDealt)</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../jrummikub/control/RoundControl.html#doPrepareTurn()">doPrepareTurn</A></B>()</CODE> + +<BR> + Prepare turn by setting the view components</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>(package private) void</CODE></FONT></TD> -<TD><CODE><B><A HREF="../../jrummikub/control/RoundControl.html#dealStone()">dealStone</A></B>()</CODE> +<TD><CODE><B><A HREF="../../jrummikub/control/RoundControl.html#endOfRound()">endOfRound</A></B>()</CODE> <BR> - </TD> + Ends the current round and emits an event setting the score</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> -<CODE> <A HREF="../../jrummikub/util/IEvent.html" title="interface in jrummikub.util">IEvent</A></CODE></FONT></TD> -<TD><CODE><B><A HREF="../../jrummikub/control/RoundControl.html#getEndRoundEvent()">getEndRoundEvent</A></B>()</CODE> +<CODE>protected void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../jrummikub/control/RoundControl.html#endOfTurn(jrummikub.control.RoundControl.InvalidTurnInfo)">endOfTurn</A></B>(<A HREF="../../jrummikub/control/RoundControl.InvalidTurnInfo.html" title="class in jrummikub.control">RoundControl.InvalidTurnInfo</A> invalidTurnInfo)</CODE> + +<BR> + End the players turn</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> <A HREF="../../jrummikub/util/IEvent1.html" title="interface in jrummikub.util">IEvent1</A><<A HREF="../../jrummikub/model/Score.html" title="class in jrummikub.model">Score</A>></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../jrummikub/control/RoundControl.html#getEndOfRoundEvent()">getEndOfRoundEvent</A></B>()</CODE> <BR> End the round</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> <A HREF="../../jrummikub/util/IEvent1.html" title="interface in jrummikub.util">IEvent1</A><<A HREF="../../jrummikub/model/PlayerSettings.html" title="class in jrummikub.model">PlayerSettings</A>></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../jrummikub/control/RoundControl.html#getRestartRoundEvent()">getRestartRoundEvent</A></B>()</CODE> + +<BR> + Emitted when the round is aborted and needs to be restarted</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE> <A HREF="../../jrummikub/util/IEvent1.html" title="interface in jrummikub.util">IEvent1</A><<A HREF="../../jrummikub/model/IRoundState.html" title="interface in jrummikub.model">IRoundState</A>></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../jrummikub/control/RoundControl.html#getRoundStateUpdateEvent()">getRoundStateUpdateEvent</A></B>()</CODE> + +<BR> + Is emitted in network when a new turn starts</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../jrummikub/control/RoundControl.html#nextPlayer()">nextPlayer</A></B>()</CODE> + +<BR> + Set the next player as active player if the round is not finished</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../jrummikub/control/RoundControl.html#prepareTurn()">prepareTurn</A></B>()</CODE> + +<BR> + Prepare a player's turn by checking the player types and setting the + correct turn control</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../jrummikub/control/RoundControl.html#redeal()">redeal</A></B>()</CODE> + +<BR> + Redeal stones and restart round if a player was allowed to redeal and chose + to do so</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>private void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../jrummikub/control/RoundControl.html#removeListeners()">removeListeners</A></B>()</CODE> + +<BR> + Removes all listeners form the connections</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>private <A HREF="../../jrummikub/model/Score.html" title="class in jrummikub.model">Score</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../jrummikub/control/RoundControl.html#score()">score</A></B>()</CODE> + +<BR> + Calculate the score for the current round and the total game score</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../jrummikub/control/RoundControl.html#setRoundState(jrummikub.model.IRoundState)">setRoundState</A></B>(<A HREF="../../jrummikub/model/IRoundState.html" title="interface in jrummikub.model">IRoundState</A> state)</CODE> + +<BR> + Sets the current round state</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>protected <A HREF="../../jrummikub/view/IView.BottomPanelType.html" title="enum in jrummikub.view">IView.BottomPanelType</A></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../jrummikub/control/RoundControl.html#showStartTurnPanel()">showStartTurnPanel</A></B>()</CODE> + +<BR> + </TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../jrummikub/control/RoundControl.html#startRound()">startRound</A></B>()</CODE> @@ -168,12 +406,30 @@ Controller that manages a single round of rummikub </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> -<CODE>(package private) static java.util.Set<<A HREF="../../jrummikub/model/Stone.html" title="class in jrummikub.model">Stone</A>></CODE></FONT></TD> -<TD><CODE><B><A HREF="../../jrummikub/control/RoundControl.html#tableDifference(jrummikub.model.ITable, jrummikub.model.ITable)">tableDifference</A></B>(<A HREF="../../jrummikub/model/ITable.html" title="interface in jrummikub.model">ITable</A> oldTable, - <A HREF="../../jrummikub/model/ITable.html" title="interface in jrummikub.model">ITable</A> newTable)</CODE> +<CODE>protected void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../jrummikub/control/RoundControl.html#startTurn()">startTurn</A></B>()</CODE> <BR> - </TD> + Start a players turn with the correct turn control</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>private static <A HREF="../../jrummikub/util/Pair.html" title="class in jrummikub.util">Pair</A><java.lang.Integer,java.lang.Integer></CODE></FONT></TD> +<TD><CODE><B><A HREF="../../jrummikub/control/RoundControl.html#updateBestScore(jrummikub.util.Pair, int, int)">updateBestScore</A></B>(<A HREF="../../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 + (everybody still has stones on hand)</TD> +</TR> +<TR BGCOLOR="white" CLASS="TableRowColor"> +<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> +<CODE>private void</CODE></FONT></TD> +<TD><CODE><B><A HREF="../../jrummikub/control/RoundControl.html#updateSidePanel()">updateSidePanel</A></B>()</CODE> + +<BR> + Update the side panel to show correct player order and heap size</TD> </TR> </TABLE> <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> @@ -188,6 +444,95 @@ Controller that manages a single round of rummikub <P> +<!-- ============ FIELD DETAIL =========== --> + +<A NAME="field_detail"><!-- --></A> +<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> +<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> +<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> +<B>Field Detail</B></FONT></TH> +</TR> +</TABLE> + +<A NAME="turnControl"><!-- --></A><H3> +turnControl</H3> +<PRE> +private <A HREF="../../jrummikub/control/turn/ITurnControl.html" title="interface in jrummikub.control.turn">ITurnControl</A> <B>turnControl</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="roundState"><!-- --></A><H3> +roundState</H3> +<PRE> +protected <A HREF="../../jrummikub/model/IRoundState.html" title="interface in jrummikub.model">IRoundState</A> <B>roundState</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="view"><!-- --></A><H3> +view</H3> +<PRE> +private <A HREF="../../jrummikub/view/IView.html" title="interface in jrummikub.view">IView</A> <B>view</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="restartRoundEvent"><!-- --></A><H3> +restartRoundEvent</H3> +<PRE> +private <A HREF="../../jrummikub/util/Event1.html" title="class in jrummikub.util">Event1</A><<A HREF="../../jrummikub/model/PlayerSettings.html" title="class in jrummikub.model">PlayerSettings</A>> <B>restartRoundEvent</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="roundStateUpdateEvent"><!-- --></A><H3> +roundStateUpdateEvent</H3> +<PRE> +private <A HREF="../../jrummikub/util/Event1.html" title="class in jrummikub.util">Event1</A><<A HREF="../../jrummikub/model/IRoundState.html" title="interface in jrummikub.model">IRoundState</A>> <B>roundStateUpdateEvent</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="endOfRoundEvent"><!-- --></A><H3> +endOfRoundEvent</H3> +<PRE> +private <A HREF="../../jrummikub/util/Event1.html" title="class in jrummikub.util">Event1</A><<A HREF="../../jrummikub/model/Score.html" title="class in jrummikub.model">Score</A>> <B>endOfRoundEvent</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="connections"><!-- --></A><H3> +connections</H3> +<PRE> +protected java.util.List<<A HREF="../../jrummikub/util/Connection.html" title="interface in jrummikub.util">Connection</A>> <B>connections</B></PRE> +<DL> +<DL> +</DL> +</DL> +<HR> + +<A NAME="mayPause"><!-- --></A><H3> +mayPause</H3> +<PRE> +private boolean <B>mayPause</B></PRE> +<DL> +<DL> +</DL> +</DL> + <!-- ========= CONSTRUCTOR DETAIL ======== --> <A NAME="constructor_detail"><!-- --></A> @@ -198,16 +543,30 @@ Controller that manages a single round of rummikub </TR> </TABLE> -<A NAME="RoundControl(jrummikub.model.IGameState, jrummikub.view.IView)"><!-- --></A><H3> +<A NAME="RoundControl(jrummikub.model.IRoundState, jrummikub.view.IView)"><!-- --></A><H3> RoundControl</H3> <PRE> -public <B>RoundControl</B>(<A HREF="../../jrummikub/model/IGameState.html" title="interface in jrummikub.model">IGameState</A> gameState, +public <B>RoundControl</B>(<A HREF="../../jrummikub/model/IRoundState.html" title="interface in jrummikub.model">IRoundState</A> roundState, <A HREF="../../jrummikub/view/IView.html" title="interface in jrummikub.view">IView</A> view)</PRE> <DL> -<DD>Create a new RoundControl using the given gameState and view +<DD>Create a new RoundControl using the given roundState and view +<P> +<DL> +<DT><B>Parameters:</B><DD><CODE>roundState</CODE> - initial round state<DD><CODE>view</CODE> - view used for user interaction</DL> +</DL> +<HR> + +<A NAME="RoundControl(jrummikub.model.IRoundState, jrummikub.view.IView, boolean)"><!-- --></A><H3> +RoundControl</H3> +<PRE> +protected <B>RoundControl</B>(<A HREF="../../jrummikub/model/IRoundState.html" title="interface in jrummikub.model">IRoundState</A> roundState, + <A HREF="../../jrummikub/view/IView.html" title="interface in jrummikub.view">IView</A> view, + boolean mayPause)</PRE> +<DL> +<DD>Create a new RoundControl using the given roundState and view <P> <DL> -<DT><B>Parameters:</B><DD><CODE>gameState</CODE> - initial game state<DD><CODE>view</CODE> - view used for user interaction</DL> +<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> </DL> <!-- ============ METHOD DETAIL ========== --> @@ -220,16 +579,30 @@ public <B>RoundControl</B>(<A HREF="../../jrummikub/model/IGameState.html" title </TR> </TABLE> -<A NAME="getEndRoundEvent()"><!-- --></A><H3> -getEndRoundEvent</H3> +<A NAME="getRoundStateUpdateEvent()"><!-- --></A><H3> +getRoundStateUpdateEvent</H3> +<PRE> +public <A HREF="../../jrummikub/util/IEvent1.html" title="interface in jrummikub.util">IEvent1</A><<A HREF="../../jrummikub/model/IRoundState.html" title="interface in jrummikub.model">IRoundState</A>> <B>getRoundStateUpdateEvent</B>()</PRE> +<DL> +<DD>Is emitted in network when a new turn starts +<P> +<DD><DL> + +<DT><B>Returns:</B><DD>the event</DL> +</DD> +</DL> +<HR> + +<A NAME="getEndOfRoundEvent()"><!-- --></A><H3> +getEndOfRoundEvent</H3> <PRE> -public <A HREF="../../jrummikub/util/IEvent.html" title="interface in jrummikub.util">IEvent</A> <B>getEndRoundEvent</B>()</PRE> +public <A HREF="../../jrummikub/util/IEvent1.html" title="interface in jrummikub.util">IEvent1</A><<A HREF="../../jrummikub/model/Score.html" title="class in jrummikub.model">Score</A>> <B>getEndOfRoundEvent</B>()</PRE> <DL> <DD>End the round <P> <DD><DL> -<DT><B>Returns:</B><DD>endRoundEvent</DL> +<DT><B>Returns:</B><DD>endOfRoundEvent</DL> </DD> </DL> <HR> @@ -247,34 +620,255 @@ public void <B>startRound</B>()</PRE> </DL> <HR> +<A NAME="continueRound()"><!-- --></A><H3> +continueRound</H3> +<PRE> +public void <B>continueRound</B>()</PRE> +<DL> +<DD>Continue a saved round after loading +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="abortRound()"><!-- --></A><H3> +abortRound</H3> +<PRE> +public void <B>abortRound</B>()</PRE> +<DL> +<DD>Abort round if a new one is started or a saved one is loaded +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="setRoundState(jrummikub.model.IRoundState)"><!-- --></A><H3> +setRoundState</H3> +<PRE> +protected void <B>setRoundState</B>(<A HREF="../../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> + +<A NAME="showStartTurnPanel()"><!-- --></A><H3> +showStartTurnPanel</H3> +<PRE> +protected <A HREF="../../jrummikub/view/IView.BottomPanelType.html" title="enum in jrummikub.view">IView.BottomPanelType</A> <B>showStartTurnPanel</B>()</PRE> +<DL> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="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> + +<A NAME="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> + +<A NAME="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> + +<A NAME="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 +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="addTurnControlListeners(jrummikub.control.turn.ITurnControl)"><!-- --></A><H3> +addTurnControlListeners</H3> +<PRE> +protected void <B>addTurnControlListeners</B>(<A HREF="../../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> + +<A NAME="createTurnControl()"><!-- --></A><H3> +createTurnControl</H3> +<PRE> +protected <A HREF="../../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 +<P> +<DD><DL> + +<DT><B>Returns:</B><DD>the new turn control</DL> +</DD> +</DL> +<HR> + <A NAME="deal()"><!-- --></A><H3> deal</H3> <PRE> -void <B>deal</B>()</PRE> +protected void <B>deal</B>()</PRE> <DL> +<DD>Deal each player the number of stones specified in the game settings + (numberOfStonesDealt) +<P> <DD><DL> </DL> </DD> </DL> <HR> -<A NAME="tableDifference(jrummikub.model.ITable, jrummikub.model.ITable)"><!-- --></A><H3> -tableDifference</H3> +<A NAME="endOfTurn(jrummikub.control.RoundControl.InvalidTurnInfo)"><!-- --></A><H3> +endOfTurn</H3> <PRE> -static java.util.Set<<A HREF="../../jrummikub/model/Stone.html" title="class in jrummikub.model">Stone</A>> <B>tableDifference</B>(<A HREF="../../jrummikub/model/ITable.html" title="interface in jrummikub.model">ITable</A> oldTable, - <A HREF="../../jrummikub/model/ITable.html" title="interface in jrummikub.model">ITable</A> newTable)</PRE> +protected void <B>endOfTurn</B>(<A HREF="../../jrummikub/control/RoundControl.InvalidTurnInfo.html" title="class in jrummikub.control">RoundControl.InvalidTurnInfo</A> invalidTurnInfo)</PRE> <DL> +<DD>End the players turn +<P> <DD><DL> +<DT><B>Parameters:</B><DD><CODE>invalidTurnInfo</CODE> - info about the player's last turn</DL> +</DD> </DL> +<HR> + +<A NAME="nextPlayer()"><!-- --></A><H3> +nextPlayer</H3> +<PRE> +protected void <B>nextPlayer</B>()</PRE> +<DL> +<DD>Set the next player as active player if the round is not finished +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="endOfRound()"><!-- --></A><H3> +endOfRound</H3> +<PRE> +void <B>endOfRound</B>()</PRE> +<DL> +<DD>Ends the current round and emits an event setting the score +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="removeListeners()"><!-- --></A><H3> +removeListeners</H3> +<PRE> +private void <B>removeListeners</B>()</PRE> +<DL> +<DD>Removes all listeners form the connections +<P> +<DD><DL> +</DL> +</DD> +</DL> +<HR> + +<A NAME="score()"><!-- --></A><H3> +score</H3> +<PRE> +private <A HREF="../../jrummikub/model/Score.html" title="class in jrummikub.model">Score</A> <B>score</B>()</PRE> +<DL> +<DD>Calculate the score for the current round and the total game score +<P> +<DD><DL> + +<DT><B>Returns:</B><DD>the new score</DL> +</DD> +</DL> +<HR> + +<A NAME="updateBestScore(jrummikub.util.Pair, int, int)"><!-- --></A><H3> +updateBestScore</H3> +<PRE> +private static <A HREF="../../jrummikub/util/Pair.html" title="class in jrummikub.util">Pair</A><java.lang.Integer,java.lang.Integer> <B>updateBestScore</B>(<A HREF="../../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> + +<A NAME="getRestartRoundEvent()"><!-- --></A><H3> +getRestartRoundEvent</H3> +<PRE> +public <A HREF="../../jrummikub/util/IEvent1.html" title="interface in jrummikub.util">IEvent1</A><<A HREF="../../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 +<P> +<DD><DL> + +<DT><B>Returns:</B><DD>the event</DL> </DD> </DL> <HR> -<A NAME="dealStone()"><!-- --></A><H3> -dealStone</H3> +<A NAME="redeal()"><!-- --></A><H3> +redeal</H3> <PRE> -void <B>dealStone</B>()</PRE> +protected void <B>redeal</B>()</PRE> <DL> +<DD>Redeal stones and restart round if a player was allowed to redeal and chose + to do so +<P> <DD><DL> </DL> </DD> @@ -310,8 +904,8 @@ void <B>dealStone</B>()</PRE> <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> - <A HREF="../../jrummikub/control/ITurnTimer.html" title="interface in jrummikub.control"><B>PREV CLASS</B></A> - <A HREF="../../jrummikub/control/TurnControl.html" title="class in jrummikub.control"><B>NEXT CLASS</B></A></FONT></TD> + <A HREF="../../jrummikub/control/LoginControl.html" title="class in jrummikub.control"><B>PREV CLASS</B></A> + <A HREF="../../jrummikub/control/RoundControl.InvalidTurnInfo.html" title="class in jrummikub.control"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../index.html?jrummikub/control/RoundControl.html" target="_top"><B>FRAMES</B></A> <A HREF="RoundControl.html" target="_top"><B>NO FRAMES</B></A> @@ -331,9 +925,9 @@ void <B>dealStone</B>()</PRE> </TR> <TR> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> - SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> + SUMMARY: <A HREF="#nested_class_summary">NESTED</A> | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> -DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> +DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> </TR> </TABLE> <A NAME="skip-navbar_bottom"></A> |