Subversion Repositories sokoban

Rev

Blame | Last modification | View Log | RSS feed

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <!--NewPage-->
  3. <HTML>
  4. <HEAD>
  5. <!-- Generated by javadoc (build 1.6.0-rc) on Sat Jan 24 19:46:57 CET 2009 -->
  6. <TITLE>
  7. SokobanTest
  8. </TITLE>
  9.  
  10. <META NAME="date" CONTENT="2009-01-24">
  11.  
  12. <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
  13.  
  14. <SCRIPT type="text/javascript">
  15. function windowTitle()
  16. {
  17.     if (location.href.indexOf('is-external=true') == -1) {
  18.         parent.document.title="SokobanTest";
  19.     }
  20. }
  21. </SCRIPT>
  22. <NOSCRIPT>
  23. </NOSCRIPT>
  24.  
  25. </HEAD>
  26.  
  27. <BODY BGCOLOR="white" onload="windowTitle();">
  28. <HR>
  29.  
  30.  
  31. <!-- ========= START OF TOP NAVBAR ======= -->
  32. <A NAME="navbar_top"><!-- --></A>
  33. <A HREF="#skip-navbar_top" title="Skip navigation links"></A>
  34. <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
  35. <TR>
  36. <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
  37. <A NAME="navbar_top_firstrow"><!-- --></A>
  38. <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  39.   <TR ALIGN="center" VALIGN="top">
  40.   <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  41.   <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  42.   <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  43.   <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  44.   <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  45.   <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  46.   <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  47.   </TR>
  48. </TABLE>
  49. </TD>
  50. <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
  51. </EM>
  52. </TD>
  53. </TR>
  54.  
  55. <TR>
  56. <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  57. &nbsp;PREV CLASS&nbsp;
  58. &nbsp;<A HREF="../../../gdi/ws0809/test/SokobanTestAdapter.html" title="class in gdi.ws0809.test"><B>NEXT CLASS</B></A></FONT></TD>
  59. <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  60.   <A HREF="../../../index.html?gdi/ws0809/test/SokobanTest.html" target="_top"><B>FRAMES</B></A>  &nbsp;
  61. &nbsp;<A HREF="SokobanTest.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
  62. &nbsp;<SCRIPT type="text/javascript">
  63.   <!--
  64.   if(window==top) {
  65.     document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
  66.   }
  67.   //-->
  68. </SCRIPT>
  69. <NOSCRIPT>
  70.   <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
  71. </NOSCRIPT>
  72.  
  73.  
  74. </FONT></TD>
  75. </TR>
  76. <TR>
  77. <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  78.   SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
  79. <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  80. DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
  81. </TR>
  82. </TABLE>
  83. <A NAME="skip-navbar_top"></A>
  84. <!-- ========= END OF TOP NAVBAR ========= -->
  85.  
  86. <HR>
  87. <!-- ======== START OF CLASS DATA ======== -->
  88. <H2>
  89. <FONT SIZE="-1">
  90. gdi.ws0809.test</FONT>
  91. <BR>
  92. Interface SokobanTest</H2>
  93. <DL>
  94. <DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../gdi/ws0809/test/SokobanTestAdapter.html" title="class in gdi.ws0809.test">SokobanTestAdapter</A></DD>
  95. </DL>
  96. <HR>
  97. <DL>
  98. <DT><PRE>public interface <B>SokobanTest</B></DL>
  99. </PRE>
  100.  
  101. <P>
  102. All public unit tests access your implementation using methods of this interface exclusively.
  103.  You have to provide an implementation of SokobanTestAdapter to map the methods of this interface
  104.  to you implementation.
  105. <P>
  106.  
  107. <P>
  108. <DL>
  109. <DT><B>Author:</B></DT>
  110.   <DD>daniel, Steven Arzt</DD>
  111. </DL>
  112. <HR>
  113.  
  114. <P>
  115.  
  116. <!-- ========== METHOD SUMMARY =========== -->
  117.  
  118. <A NAME="method_summary"><!-- --></A>
  119. <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
  120. <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
  121. <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
  122. <B>Method Summary</B></FONT></TH>
  123. </TR>
  124. <TR BGCOLOR="white" CLASS="TableRowColor">
  125. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  126. <CODE>&nbsp;boolean</CODE></FONT></TD>
  127. <TD><CODE><B><A HREF="../../../gdi/ws0809/test/SokobanTest.html#canMoveCrate(int, int, char)">canMoveCrate</A></B>(int&nbsp;i,
  128.              int&nbsp;j,
  129.              char&nbsp;c)</CODE>
  130.  
  131. <BR>
  132. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Checks whether the crate at position (x, y) can be moved in direction c</TD>
  133. </TR>
  134. <TR BGCOLOR="white" CLASS="TableRowColor">
  135. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  136. <CODE>&nbsp;void</CODE></FONT></TD>
  137. <TD><CODE><B><A HREF="../../../gdi/ws0809/test/SokobanTest.html#clearHighscoreList()">clearHighscoreList</A></B>()</CODE>
  138.  
  139. <BR>
  140. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clears the highscore list.</TD>
  141. </TR>
  142. <TR BGCOLOR="white" CLASS="TableRowColor">
  143. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  144. <CODE>&nbsp;boolean</CODE></FONT></TD>
  145. <TD><CODE><B><A HREF="../../../gdi/ws0809/test/SokobanTest.html#createHighscoreEntry(java.lang.String, int, int, int)">createHighscoreEntry</A></B>(java.lang.String&nbsp;playername,
  146.                      int&nbsp;i,
  147.                      int&nbsp;j,
  148.                      int&nbsp;k)</CODE>
  149.  
  150. <BR>
  151. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new entry in the highscore list if the given data describes a
  152.  new highscore entry.</TD>
  153. </TR>
  154. <TR BGCOLOR="white" CLASS="TableRowColor">
  155. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  156. <CODE>&nbsp;java.lang.String</CODE></FONT></TD>
  157. <TD><CODE><B><A HREF="../../../gdi/ws0809/test/SokobanTest.html#currentLevelToString()">currentLevelToString</A></B>()</CODE>
  158.  
  159. <BR>
  160. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the String representation of the <i>current</i> level.</TD>
  161. </TR>
  162. <TR BGCOLOR="white" CLASS="TableRowColor">
  163. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  164. <CODE>&nbsp;java.lang.String</CODE></FONT></TD>
  165. <TD><CODE><B><A HREF="../../../gdi/ws0809/test/SokobanTest.html#getBestPlayerName()">getBestPlayerName</A></B>()</CODE>
  166.  
  167. <BR>
  168. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the name of the best player (the one with with the least moves)
  169.  over all levels.</TD>
  170. </TR>
  171. <TR BGCOLOR="white" CLASS="TableRowColor">
  172. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  173. <CODE>&nbsp;int</CODE></FONT></TD>
  174. <TD><CODE><B><A HREF="../../../gdi/ws0809/test/SokobanTest.html#getCrateCount()">getCrateCount</A></B>()</CODE>
  175.  
  176. <BR>
  177. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the total number of crates in the current levels</TD>
  178. </TR>
  179. <TR BGCOLOR="white" CLASS="TableRowColor">
  180. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  181. <CODE>&nbsp;int</CODE></FONT></TD>
  182. <TD><CODE><B><A HREF="../../../gdi/ws0809/test/SokobanTest.html#getGoalCount()">getGoalCount</A></B>()</CODE>
  183.  
  184. <BR>
  185. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the total number of goals in the current levels</TD>
  186. </TR>
  187. <TR BGCOLOR="white" CLASS="TableRowColor">
  188. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  189. <CODE>&nbsp;int</CODE></FONT></TD>
  190. <TD><CODE><B><A HREF="../../../gdi/ws0809/test/SokobanTest.html#getHighscoreCount()">getHighscoreCount</A></B>()</CODE>
  191.  
  192. <BR>
  193. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the count of entries in the highscore list</TD>
  194. </TR>
  195. <TR BGCOLOR="white" CLASS="TableRowColor">
  196. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  197. <CODE>&nbsp;int</CODE></FONT></TD>
  198. <TD><CODE><B><A HREF="../../../gdi/ws0809/test/SokobanTest.html#getLevelHeight()">getLevelHeight</A></B>()</CODE>
  199.  
  200. <BR>
  201. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the current level's height</TD>
  202. </TR>
  203. <TR BGCOLOR="white" CLASS="TableRowColor">
  204. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  205. <CODE>&nbsp;int</CODE></FONT></TD>
  206. <TD><CODE><B><A HREF="../../../gdi/ws0809/test/SokobanTest.html#getLevelWidth()">getLevelWidth</A></B>()</CODE>
  207.  
  208. <BR>
  209. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the current level's width</TD>
  210. </TR>
  211. <TR BGCOLOR="white" CLASS="TableRowColor">
  212. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  213. <CODE>&nbsp;int</CODE></FONT></TD>
  214. <TD><CODE><B><A HREF="../../../gdi/ws0809/test/SokobanTest.html#getStepsInCurrentLevel()">getStepsInCurrentLevel</A></B>()</CODE>
  215.  
  216. <BR>
  217. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the steps performed in the <i>current</i> level, since
  218.  the last restart of the level.</TD>
  219. </TR>
  220. <TR BGCOLOR="white" CLASS="TableRowColor">
  221. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  222. <CODE>&nbsp;int</CODE></FONT></TD>
  223. <TD><CODE><B><A HREF="../../../gdi/ws0809/test/SokobanTest.html#getWallCount()">getWallCount</A></B>()</CODE>
  224.  
  225. <BR>
  226. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the total number of walls in the current levels</TD>
  227. </TR>
  228. <TR BGCOLOR="white" CLASS="TableRowColor">
  229. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  230. <CODE>&nbsp;int</CODE></FONT></TD>
  231. <TD><CODE><B><A HREF="../../../gdi/ws0809/test/SokobanTest.html#getWorkerPositionX()">getWorkerPositionX</A></B>()</CODE>
  232.  
  233. <BR>
  234. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the Y coordinate of the worker's current position</TD>
  235. </TR>
  236. <TR BGCOLOR="white" CLASS="TableRowColor">
  237. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  238. <CODE>&nbsp;int</CODE></FONT></TD>
  239. <TD><CODE><B><A HREF="../../../gdi/ws0809/test/SokobanTest.html#getWorkerPositionY()">getWorkerPositionY</A></B>()</CODE>
  240.  
  241. <BR>
  242. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the X coordinate of the worker's current position</TD>
  243. </TR>
  244. <TR BGCOLOR="white" CLASS="TableRowColor">
  245. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  246. <CODE>&nbsp;boolean</CODE></FONT></TD>
  247. <TD><CODE><B><A HREF="../../../gdi/ws0809/test/SokobanTest.html#isCrateAt(int, int)">isCrateAt</A></B>(int&nbsp;i,
  248.           int&nbsp;j)</CODE>
  249.  
  250. <BR>
  251. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets whether there is a crate at the position identified by the specified
  252.  X and Y coordinate</TD>
  253. </TR>
  254. <TR BGCOLOR="white" CLASS="TableRowColor">
  255. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  256. <CODE>&nbsp;boolean</CODE></FONT></TD>
  257. <TD><CODE><B><A HREF="../../../gdi/ws0809/test/SokobanTest.html#isDeadlock()">isDeadlock</A></B>()</CODE>
  258.  
  259. <BR>
  260. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns whether the current level is in a deadlock position.</TD>
  261. </TR>
  262. <TR BGCOLOR="white" CLASS="TableRowColor">
  263. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  264. <CODE>&nbsp;boolean</CODE></FONT></TD>
  265. <TD><CODE><B><A HREF="../../../gdi/ws0809/test/SokobanTest.html#isGoalAt(int, int)">isGoalAt</A></B>(int&nbsp;i,
  266.          int&nbsp;j)</CODE>
  267.  
  268. <BR>
  269. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets whether there is a goal at the position identified by the specified
  270.  X and Y coordinate</TD>
  271. </TR>
  272. <TR BGCOLOR="white" CLASS="TableRowColor">
  273. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  274. <CODE>&nbsp;boolean</CODE></FONT></TD>
  275. <TD><CODE><B><A HREF="../../../gdi/ws0809/test/SokobanTest.html#isSolved()">isSolved</A></B>()</CODE>
  276.  
  277. <BR>
  278. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns whether the <i>current</i> level is solved.</TD>
  279. </TR>
  280. <TR BGCOLOR="white" CLASS="TableRowColor">
  281. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  282. <CODE>&nbsp;boolean</CODE></FONT></TD>
  283. <TD><CODE><B><A HREF="../../../gdi/ws0809/test/SokobanTest.html#isWallAt(int, int)">isWallAt</A></B>(int&nbsp;i,
  284.          int&nbsp;j)</CODE>
  285.  
  286. <BR>
  287. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets whether there is a wall at the position identified by the specified
  288.  X and Y coordinate</TD>
  289. </TR>
  290. <TR BGCOLOR="white" CLASS="TableRowColor">
  291. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  292. <CODE>&nbsp;void</CODE></FONT></TD>
  293. <TD><CODE><B><A HREF="../../../gdi/ws0809/test/SokobanTest.html#loadGame(java.io.File)">loadGame</A></B>(java.io.File&nbsp;f)</CODE>
  294.  
  295. <BR>
  296. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Save the current game state to the File.</TD>
  297. </TR>
  298. <TR BGCOLOR="white" CLASS="TableRowColor">
  299. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  300. <CODE>&nbsp;void</CODE></FONT></TD>
  301. <TD><CODE><B><A HREF="../../../gdi/ws0809/test/SokobanTest.html#loadLevel(java.io.File)">loadLevel</A></B>(java.io.File&nbsp;lvl)</CODE>
  302.  
  303. <BR>
  304. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Load a level and parse it into the internal representation.</TD>
  305. </TR>
  306. <TR BGCOLOR="white" CLASS="TableRowColor">
  307. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  308. <CODE>&nbsp;void</CODE></FONT></TD>
  309. <TD><CODE><B><A HREF="../../../gdi/ws0809/test/SokobanTest.html#moveWorker(char)">moveWorker</A></B>(char&nbsp;direction)</CODE>
  310.  
  311. <BR>
  312. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Move the worker according to the rules.</TD>
  313. </TR>
  314. <TR BGCOLOR="white" CLASS="TableRowColor">
  315. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  316. <CODE>&nbsp;void</CODE></FONT></TD>
  317. <TD><CODE><B><A HREF="../../../gdi/ws0809/test/SokobanTest.html#moveWorkerSequence(java.lang.String)">moveWorkerSequence</A></B>(java.lang.String&nbsp;Sequence)</CODE>
  318.  
  319. <BR>
  320. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Moves the worker with the steps specified in the move sequence string
  321.  which needs to be in the RLUD format.</TD>
  322. </TR>
  323. <TR BGCOLOR="white" CLASS="TableRowColor">
  324. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  325. <CODE>&nbsp;void</CODE></FONT></TD>
  326. <TD><CODE><B><A HREF="../../../gdi/ws0809/test/SokobanTest.html#redoLastUndoneMove()">redoLastUndoneMove</A></B>()</CODE>
  327.  
  328. <BR>
  329. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Redo the last undone move.</TD>
  330. </TR>
  331. <TR BGCOLOR="white" CLASS="TableRowColor">
  332. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  333. <CODE>&nbsp;void</CODE></FONT></TD>
  334. <TD><CODE><B><A HREF="../../../gdi/ws0809/test/SokobanTest.html#saveGame(java.io.File)">saveGame</A></B>(java.io.File&nbsp;f)</CODE>
  335.  
  336. <BR>
  337. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Save the current game state to the File.</TD>
  338. </TR>
  339. <TR BGCOLOR="white" CLASS="TableRowColor">
  340. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  341. <CODE>&nbsp;void</CODE></FONT></TD>
  342. <TD><CODE><B><A HREF="../../../gdi/ws0809/test/SokobanTest.html#setLevelDir(java.io.File)">setLevelDir</A></B>(java.io.File&nbsp;levelDir)</CODE>
  343.  
  344. <BR>
  345. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Load a set of levels from a directory.</TD>
  346. </TR>
  347. <TR BGCOLOR="white" CLASS="TableRowColor">
  348. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  349. <CODE>&nbsp;void</CODE></FONT></TD>
  350. <TD><CODE><B><A HREF="../../../gdi/ws0809/test/SokobanTest.html#setPlayerName(java.lang.String)">setPlayerName</A></B>(java.lang.String&nbsp;name)</CODE>
  351.  
  352. <BR>
  353. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the player name used for highscores.</TD>
  354. </TR>
  355. <TR BGCOLOR="white" CLASS="TableRowColor">
  356. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  357. <CODE>&nbsp;void</CODE></FONT></TD>
  358. <TD><CODE><B><A HREF="../../../gdi/ws0809/test/SokobanTest.html#startNextLevel()">startNextLevel</A></B>()</CODE>
  359.  
  360. <BR>
  361. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The next level in a set of levels loaded with loadLevelDir
  362.  becomes the <i>current</i> level.</TD>
  363. </TR>
  364. <TR BGCOLOR="white" CLASS="TableRowColor">
  365. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  366. <CODE>&nbsp;void</CODE></FONT></TD>
  367. <TD><CODE><B><A HREF="../../../gdi/ws0809/test/SokobanTest.html#undoLastMove()">undoLastMove</A></B>()</CODE>
  368.  
  369. <BR>
  370. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Undo the last move.</TD>
  371. </TR>
  372. <TR BGCOLOR="white" CLASS="TableRowColor">
  373. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  374. <CODE>&nbsp;void</CODE></FONT></TD>
  375. <TD><CODE><B><A HREF="../../../gdi/ws0809/test/SokobanTest.html#writeHighScoreFile()">writeHighScoreFile</A></B>()</CODE>
  376.  
  377. <BR>
  378. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tells the Sokoban implementation to write the current
  379.  highscores to disk, as detailed in the documentation.</TD>
  380. </TR>
  381. </TABLE>
  382. &nbsp;
  383. <P>
  384.  
  385. <!-- ============ METHOD DETAIL ========== -->
  386.  
  387. <A NAME="method_detail"><!-- --></A>
  388. <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
  389. <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
  390. <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
  391. <B>Method Detail</B></FONT></TH>
  392. </TR>
  393. </TABLE>
  394.  
  395. <A NAME="loadLevel(java.io.File)"><!-- --></A><H3>
  396. loadLevel</H3>
  397. <PRE>
  398. void <B>loadLevel</B>(java.io.File&nbsp;lvl)
  399.                throws java.lang.Exception</PRE>
  400. <DL>
  401. <DD>Load a level and parse it into the internal representation.
  402.  The loaded level is now the  and should
  403.  e.g. be shown in the GUI.
  404. <P>
  405. <DD><DL>
  406. <DT><B>Parameters:</B><DD><CODE>lvl</CODE> - The file from which to load the level
  407. <DT><B>Throws:</B>
  408. <DD><CODE>java.lang.Exception</CODE> - in case the level is not syntactically correct</DL>
  409. </DD>
  410. </DL>
  411. <HR>
  412.  
  413. <A NAME="currentLevelToString()"><!-- --></A><H3>
  414. currentLevelToString</H3>
  415. <PRE>
  416. java.lang.String <B>currentLevelToString</B>()</PRE>
  417. <DL>
  418. <DD>Returns the String representation of the <i>current</i> level.
  419. <P>
  420. <DD><DL>
  421.  
  422. <DT><B>Returns:</B><DD>the String representation</DL>
  423. </DD>
  424. </DL>
  425. <HR>
  426.  
  427. <A NAME="isSolved()"><!-- --></A><H3>
  428. isSolved</H3>
  429. <PRE>
  430. boolean <B>isSolved</B>()</PRE>
  431. <DL>
  432. <DD>Returns whether the <i>current</i> level is solved.
  433. <P>
  434. <DD><DL>
  435.  
  436. <DT><B>Returns:</B><DD>True if the current level has been solved, otherwise false</DL>
  437. </DD>
  438. </DL>
  439. <HR>
  440.  
  441. <A NAME="getLevelWidth()"><!-- --></A><H3>
  442. getLevelWidth</H3>
  443. <PRE>
  444. int <B>getLevelWidth</B>()</PRE>
  445. <DL>
  446. <DD>Gets the current level's width
  447. <P>
  448. <DD><DL>
  449.  
  450. <DT><B>Returns:</B><DD>The width of the current level</DL>
  451. </DD>
  452. </DL>
  453. <HR>
  454.  
  455. <A NAME="getLevelHeight()"><!-- --></A><H3>
  456. getLevelHeight</H3>
  457. <PRE>
  458. int <B>getLevelHeight</B>()</PRE>
  459. <DL>
  460. <DD>Gets the current level's height
  461. <P>
  462. <DD><DL>
  463.  
  464. <DT><B>Returns:</B><DD>The height of the current level</DL>
  465. </DD>
  466. </DL>
  467. <HR>
  468.  
  469. <A NAME="getWallCount()"><!-- --></A><H3>
  470. getWallCount</H3>
  471. <PRE>
  472. int <B>getWallCount</B>()</PRE>
  473. <DL>
  474. <DD>Gets the total number of walls in the current levels
  475. <P>
  476. <DD><DL>
  477.  
  478. <DT><B>Returns:</B><DD>The number of walls in the current level</DL>
  479. </DD>
  480. </DL>
  481. <HR>
  482.  
  483. <A NAME="getCrateCount()"><!-- --></A><H3>
  484. getCrateCount</H3>
  485. <PRE>
  486. int <B>getCrateCount</B>()</PRE>
  487. <DL>
  488. <DD>Gets the total number of crates in the current levels
  489. <P>
  490. <DD><DL>
  491.  
  492. <DT><B>Returns:</B><DD>The number of crates in the current level</DL>
  493. </DD>
  494. </DL>
  495. <HR>
  496.  
  497. <A NAME="getGoalCount()"><!-- --></A><H3>
  498. getGoalCount</H3>
  499. <PRE>
  500. int <B>getGoalCount</B>()</PRE>
  501. <DL>
  502. <DD>Gets the total number of goals in the current levels
  503. <P>
  504. <DD><DL>
  505.  
  506. <DT><B>Returns:</B><DD>The number of goals in the current level</DL>
  507. </DD>
  508. </DL>
  509. <HR>
  510.  
  511. <A NAME="moveWorker(char)"><!-- --></A><H3>
  512. moveWorker</H3>
  513. <PRE>
  514. void <B>moveWorker</B>(char&nbsp;direction)</PRE>
  515. <DL>
  516. <DD>Move the worker according to the rules. The direction to move is either
  517.  right, left, up or down, encoded as 'R','L','U' or 'D'.
  518. <P>
  519. <DD><DL>
  520. <DT><B>Parameters:</B><DD><CODE>direction</CODE> - The encoded direction to move the worker</DL>
  521. </DD>
  522. </DL>
  523. <HR>
  524.  
  525. <A NAME="setLevelDir(java.io.File)"><!-- --></A><H3>
  526. setLevelDir</H3>
  527. <PRE>
  528. void <B>setLevelDir</B>(java.io.File&nbsp;levelDir)</PRE>
  529. <DL>
  530. <DD>Load a set of levels from a directory. The levels should be
  531.  sorted alphabetically. It should not load the first level yet.
  532.  Loading the first level should only happen after a call to
  533.  startNextLevel().
  534. <P>
  535. <DD><DL>
  536. <DT><B>Parameters:</B><DD><CODE>levelDir</CODE> - the directory from which to load the levels</DL>
  537. </DD>
  538. </DL>
  539. <HR>
  540.  
  541. <A NAME="startNextLevel()"><!-- --></A><H3>
  542. startNextLevel</H3>
  543. <PRE>
  544. void <B>startNextLevel</B>()
  545.                     throws java.lang.Exception</PRE>
  546. <DL>
  547. <DD>The next level in a set of levels loaded with loadLevelDir
  548.  becomes the <i>current</i> level. If there is no more level
  549.  left, an exception may be thrown.
  550. <P>
  551. <DD><DL>
  552.  
  553. <DT><B>Throws:</B>
  554. <DD><CODE>java.lang.Exception</CODE></DL>
  555. </DD>
  556. </DL>
  557. <HR>
  558.  
  559. <A NAME="getStepsInCurrentLevel()"><!-- --></A><H3>
  560. getStepsInCurrentLevel</H3>
  561. <PRE>
  562. int <B>getStepsInCurrentLevel</B>()</PRE>
  563. <DL>
  564. <DD>Return the steps performed in the <i>current</i> level, since
  565.  the last restart of the level. Remember that only the legal moves
  566.  count.
  567. <P>
  568. <DD><DL>
  569.  
  570. <DT><B>Returns:</B><DD>performed steps.</DL>
  571. </DD>
  572. </DL>
  573. <HR>
  574.  
  575. <A NAME="writeHighScoreFile()"><!-- --></A><H3>
  576. writeHighScoreFile</H3>
  577. <PRE>
  578. void <B>writeHighScoreFile</B>()</PRE>
  579. <DL>
  580. <DD>Tells the Sokoban implementation to write the current
  581.  highscores to disk, as detailed in the documentation.
  582. <P>
  583. <DD><DL>
  584. </DL>
  585. </DD>
  586. </DL>
  587. <HR>
  588.  
  589. <A NAME="setPlayerName(java.lang.String)"><!-- --></A><H3>
  590. setPlayerName</H3>
  591. <PRE>
  592. void <B>setPlayerName</B>(java.lang.String&nbsp;name)</PRE>
  593. <DL>
  594. <DD>Set the player name used for highscores.
  595. <P>
  596. <DD><DL>
  597. <DT><B>Parameters:</B><DD><CODE>name</CODE> - The player name.</DL>
  598. </DD>
  599. </DL>
  600. <HR>
  601.  
  602. <A NAME="getWorkerPositionY()"><!-- --></A><H3>
  603. getWorkerPositionY</H3>
  604. <PRE>
  605. int <B>getWorkerPositionY</B>()</PRE>
  606. <DL>
  607. <DD>Gets the X coordinate of the worker's current position
  608. <P>
  609. <DD><DL>
  610.  
  611. <DT><B>Returns:</B><DD>The worker's position's current X coordinate</DL>
  612. </DD>
  613. </DL>
  614. <HR>
  615.  
  616. <A NAME="getWorkerPositionX()"><!-- --></A><H3>
  617. getWorkerPositionX</H3>
  618. <PRE>
  619. int <B>getWorkerPositionX</B>()</PRE>
  620. <DL>
  621. <DD>Gets the Y coordinate of the worker's current position
  622. <P>
  623. <DD><DL>
  624.  
  625. <DT><B>Returns:</B><DD>The worker's position's current Y coordinate</DL>
  626. </DD>
  627. </DL>
  628. <HR>
  629.  
  630. <A NAME="isCrateAt(int, int)"><!-- --></A><H3>
  631. isCrateAt</H3>
  632. <PRE>
  633. boolean <B>isCrateAt</B>(int&nbsp;i,
  634.                   int&nbsp;j)</PRE>
  635. <DL>
  636. <DD>Gets whether there is a crate at the position identified by the specified
  637.  X and Y coordinate
  638. <P>
  639. <DD><DL>
  640. <DT><B>Parameters:</B><DD><CODE>i</CODE> - The X coordinate of the grid position to check<DD><CODE>j</CODE> - The Y coordinate of the grid position to check
  641. <DT><B>Returns:</B><DD>True if there is a crate at the specified position, otherwise
  642.  false</DL>
  643. </DD>
  644. </DL>
  645. <HR>
  646.  
  647. <A NAME="isWallAt(int, int)"><!-- --></A><H3>
  648. isWallAt</H3>
  649. <PRE>
  650. boolean <B>isWallAt</B>(int&nbsp;i,
  651.                  int&nbsp;j)</PRE>
  652. <DL>
  653. <DD>Gets whether there is a wall at the position identified by the specified
  654.  X and Y coordinate
  655. <P>
  656. <DD><DL>
  657. <DT><B>Parameters:</B><DD><CODE>i</CODE> - The X coordinate of the grid position to check<DD><CODE>j</CODE> - The Y coordinate of the grid position to check
  658. <DT><B>Returns:</B><DD>True if there is a wall at the specified position, otherwise
  659.  false</DL>
  660. </DD>
  661. </DL>
  662. <HR>
  663.  
  664. <A NAME="isGoalAt(int, int)"><!-- --></A><H3>
  665. isGoalAt</H3>
  666. <PRE>
  667. boolean <B>isGoalAt</B>(int&nbsp;i,
  668.                  int&nbsp;j)</PRE>
  669. <DL>
  670. <DD>Gets whether there is a goal at the position identified by the specified
  671.  X and Y coordinate
  672. <P>
  673. <DD><DL>
  674. <DT><B>Parameters:</B><DD><CODE>i</CODE> - The X coordinate of the grid position to check<DD><CODE>j</CODE> - The Y coordinate of the grid position to check
  675. <DT><B>Returns:</B><DD>True if there is a goal at the specified position, otherwise
  676.  false</DL>
  677. </DD>
  678. </DL>
  679. <HR>
  680.  
  681. <A NAME="canMoveCrate(int, int, char)"><!-- --></A><H3>
  682. canMoveCrate</H3>
  683. <PRE>
  684. boolean <B>canMoveCrate</B>(int&nbsp;i,
  685.                      int&nbsp;j,
  686.                      char&nbsp;c)</PRE>
  687. <DL>
  688. <DD>Checks whether the crate at position (x, y) can be moved in direction c
  689. <P>
  690. <DD><DL>
  691. <DT><B>Parameters:</B><DD><CODE>i</CODE> - The x coordinate of the crate to check<DD><CODE>j</CODE> - The y coordinate of the crate to check<DD><CODE>c</CODE> - The direction in which the crate move shall be tested
  692. <DT><B>Returns:</B><DD>True if the crate at the specified position can be moved in the
  693.  given direction, otherwise false</DL>
  694. </DD>
  695. </DL>
  696. <HR>
  697.  
  698. <A NAME="getBestPlayerName()"><!-- --></A><H3>
  699. getBestPlayerName</H3>
  700. <PRE>
  701. java.lang.String <B>getBestPlayerName</B>()</PRE>
  702. <DL>
  703. <DD>Gets the name of the best player (the one with with the least moves)
  704.  over all levels. If Player A has completed level L1 with 10 moves and
  705.  level L2 with 15 moves and player B has completed level L2 with 11 moves,
  706.  the correct return value would be "A" as he has achieved to complete a
  707.  level with only 10 moves.
  708.  If the highscore list is empty, an empty string shall be returned.
  709. <P>
  710. <DD><DL>
  711.  
  712. <DT><B>Returns:</B><DD>The name of the player with the least moves</DL>
  713. </DD>
  714. </DL>
  715. <HR>
  716.  
  717. <A NAME="clearHighscoreList()"><!-- --></A><H3>
  718. clearHighscoreList</H3>
  719. <PRE>
  720. void <B>clearHighscoreList</B>()</PRE>
  721. <DL>
  722. <DD>Clears the highscore list. You can either remove all entries from the
  723.  "highscore.txt" file or remove the whole file. If there is no highscore
  724.  file at the moment, nothing should happen.
  725. <P>
  726. <DD><DL>
  727. </DL>
  728. </DD>
  729. </DL>
  730. <HR>
  731.  
  732. <A NAME="createHighscoreEntry(java.lang.String, int, int, int)"><!-- --></A><H3>
  733. createHighscoreEntry</H3>
  734. <PRE>
  735. boolean <B>createHighscoreEntry</B>(java.lang.String&nbsp;playername,
  736.                              int&nbsp;i,
  737.                              int&nbsp;j,
  738.                              int&nbsp;k)</PRE>
  739. <DL>
  740. <DD>Creates a new entry in the highscore list if the given data describes a
  741.  new highscore entry. If the specified entry already exists or has too
  742.  many steps to be a highscore, nothing happens and false is returned.
  743. <P>
  744. <DD><DL>
  745. <DT><B>Parameters:</B><DD><CODE>playername</CODE> - The name of the player that has achieved the score<DD><CODE>i</CODE> - A unique number identifying the level in which the score has
  746.  been reached<DD><CODE>j</CODE> - The count of moves the player has needed to complete the
  747.  specified level<DD><CODE>k</CODE> - The time the player has needed to solve the level in seconds
  748. <DT><B>Returns:</B><DD>True if a new entry in the highscore list has been created,
  749.  otherwise false</DL>
  750. </DD>
  751. </DL>
  752. <HR>
  753.  
  754. <A NAME="getHighscoreCount()"><!-- --></A><H3>
  755. getHighscoreCount</H3>
  756. <PRE>
  757. int <B>getHighscoreCount</B>()</PRE>
  758. <DL>
  759. <DD>Gets the count of entries in the highscore list
  760. <P>
  761. <DD><DL>
  762.  
  763. <DT><B>Returns:</B><DD>The count of entries in the highscore list</DL>
  764. </DD>
  765. </DL>
  766. <HR>
  767.  
  768. <A NAME="undoLastMove()"><!-- --></A><H3>
  769. undoLastMove</H3>
  770. <PRE>
  771. void <B>undoLastMove</B>()
  772.                   throws java.lang.Exception</PRE>
  773. <DL>
  774. <DD>Undo the last move. If no move can be undone (e.g. no move has been performed) an Exception is thrown.
  775. <P>
  776. <DD><DL>
  777.  
  778. <DT><B>Throws:</B>
  779. <DD><CODE>java.lang.Exception</CODE> - notifying the client that no move could be undone</DL>
  780. </DD>
  781. </DL>
  782. <HR>
  783.  
  784. <A NAME="redoLastUndoneMove()"><!-- --></A><H3>
  785. redoLastUndoneMove</H3>
  786. <PRE>
  787. void <B>redoLastUndoneMove</B>()
  788.                         throws java.lang.Exception</PRE>
  789. <DL>
  790. <DD>Redo the last undone move. If no move can be redone (e.g. no move has been undone) an Exception is thrown.
  791. <P>
  792. <DD><DL>
  793.  
  794. <DT><B>Throws:</B>
  795. <DD><CODE>java.lang.Exception</CODE> - notifying the client that no move could be redone</DL>
  796. </DD>
  797. </DL>
  798. <HR>
  799.  
  800. <A NAME="saveGame(java.io.File)"><!-- --></A><H3>
  801. saveGame</H3>
  802. <PRE>
  803. void <B>saveGame</B>(java.io.File&nbsp;f)</PRE>
  804. <DL>
  805. <DD>Save the current game state to the File.
  806. <P>
  807. <DD><DL>
  808. <DT><B>Parameters:</B><DD><CODE>f</CODE> - the file to save the game state in.</DL>
  809. </DD>
  810. </DL>
  811. <HR>
  812.  
  813. <A NAME="loadGame(java.io.File)"><!-- --></A><H3>
  814. loadGame</H3>
  815. <PRE>
  816. void <B>loadGame</B>(java.io.File&nbsp;f)</PRE>
  817. <DL>
  818. <DD>Save the current game state to the File.
  819. <P>
  820. <DD><DL>
  821. <DT><B>Parameters:</B><DD><CODE>f</CODE> - the file to save the game state in.</DL>
  822. </DD>
  823. </DL>
  824. <HR>
  825.  
  826. <A NAME="isDeadlock()"><!-- --></A><H3>
  827. isDeadlock</H3>
  828. <PRE>
  829. boolean <B>isDeadlock</B>()</PRE>
  830. <DL>
  831. <DD>Returns whether the current level is in a deadlock position.
  832. <P>
  833. <DD><DL>
  834.  
  835. <DT><B>Returns:</B><DD>returns whether the current level is in a deadlock position.</DL>
  836. </DD>
  837. </DL>
  838. <HR>
  839.  
  840. <A NAME="moveWorkerSequence(java.lang.String)"><!-- --></A><H3>
  841. moveWorkerSequence</H3>
  842. <PRE>
  843. void <B>moveWorkerSequence</B>(java.lang.String&nbsp;Sequence)</PRE>
  844. <DL>
  845. <DD>Moves the worker with the steps specified in the move sequence string
  846.  which needs to be in the RLUD format.
  847. <P>
  848. <DD><DL>
  849. <DT><B>Parameters:</B><DD><CODE>Sequence</CODE> - The move sequence in the RLUD format</DL>
  850. </DD>
  851. </DL>
  852. <!-- ========= END OF CLASS DATA ========= -->
  853. <HR>
  854.  
  855.  
  856. <!-- ======= START OF BOTTOM NAVBAR ====== -->
  857. <A NAME="navbar_bottom"><!-- --></A>
  858. <A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
  859. <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
  860. <TR>
  861. <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
  862. <A NAME="navbar_bottom_firstrow"><!-- --></A>
  863. <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  864.   <TR ALIGN="center" VALIGN="top">
  865.   <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  866.   <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  867.   <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  868.   <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  869.   <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  870.   <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  871.   <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  872.   </TR>
  873. </TABLE>
  874. </TD>
  875. <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
  876. </EM>
  877. </TD>
  878. </TR>
  879.  
  880. <TR>
  881. <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  882. &nbsp;PREV CLASS&nbsp;
  883. &nbsp;<A HREF="../../../gdi/ws0809/test/SokobanTestAdapter.html" title="class in gdi.ws0809.test"><B>NEXT CLASS</B></A></FONT></TD>
  884. <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  885.   <A HREF="../../../index.html?gdi/ws0809/test/SokobanTest.html" target="_top"><B>FRAMES</B></A>  &nbsp;
  886. &nbsp;<A HREF="SokobanTest.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
  887. &nbsp;<SCRIPT type="text/javascript">
  888.   <!--
  889.   if(window==top) {
  890.     document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
  891.   }
  892.   //-->
  893. </SCRIPT>
  894. <NOSCRIPT>
  895.   <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
  896. </NOSCRIPT>
  897.  
  898.  
  899. </FONT></TD>
  900. </TR>
  901. <TR>
  902. <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  903.   SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
  904. <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  905. DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
  906. </TR>
  907. </TABLE>
  908. <A NAME="skip-navbar_bottom"></A>
  909. <!-- ======== END OF BOTTOM NAVBAR ======= -->
  910.  
  911. <HR>
  912.  
  913. </BODY>
  914. </HTML>
  915.