<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.kram.nz/index.php?action=history&amp;feed=atom&amp;title=SE306%3AGroup_3%3ASubgroup_1</id>
	<title>SE306:Group 3:Subgroup 1 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.kram.nz/index.php?action=history&amp;feed=atom&amp;title=SE306%3AGroup_3%3ASubgroup_1"/>
	<link rel="alternate" type="text/html" href="https://wiki.kram.nz/index.php?title=SE306:Group_3:Subgroup_1&amp;action=history"/>
	<updated>2026-04-29T23:03:27Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki.kram.nz/index.php?title=SE306:Group_3:Subgroup_1&amp;diff=9957&amp;oldid=prev</id>
		<title>Mark: 62 revision(s)</title>
		<link rel="alternate" type="text/html" href="https://wiki.kram.nz/index.php?title=SE306:Group_3:Subgroup_1&amp;diff=9957&amp;oldid=prev"/>
		<updated>2008-11-03T05:21:11Z</updated>

		<summary type="html">&lt;p&gt;62 revision(s)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Subgroup 1==&lt;br /&gt;
&lt;br /&gt;
*Shruthi&lt;br /&gt;
*Geoffrey&lt;br /&gt;
*Danver&lt;br /&gt;
&lt;br /&gt;
Our test-bed for the Elmo game engine is hosted at&lt;br /&gt;
 https://subversion.sfac.auckland.ac.nz/svn/prj_G31_SOFTENG_306_C_S2_2008/&lt;br /&gt;
&lt;br /&gt;
===Game building checklist===&lt;br /&gt;
&lt;br /&gt;
*Specifying images&lt;br /&gt;
&lt;br /&gt;
*Connecting to Database&lt;br /&gt;
&lt;br /&gt;
*Writing game &lt;br /&gt;
&lt;br /&gt;
*Getting move&lt;br /&gt;
**Click&lt;br /&gt;
**text&lt;br /&gt;
&lt;br /&gt;
*Updating Game state&lt;br /&gt;
&lt;br /&gt;
*Communicating with client succintly&lt;br /&gt;
&lt;br /&gt;
* Client does not exhibit high levels of modularity, in particular, Game seems to need to be migrated to the client to work.&lt;br /&gt;
&lt;br /&gt;
* Thin clients are a sham.&lt;br /&gt;
&lt;br /&gt;
... to be discussed&lt;br /&gt;
&lt;br /&gt;
====Non functional issues identified ====&lt;br /&gt;
*Too many classes have the same name: elmo.Graph and ClientElmo.graph&lt;br /&gt;
&lt;br /&gt;
*Two servers cannot exist together&lt;br /&gt;
&lt;br /&gt;
*Clients require open DataBase connections&lt;br /&gt;
&lt;br /&gt;
*Cannot make Reversi easily, as reversi does not involve moving pieces, but adding them.&lt;br /&gt;
&lt;br /&gt;
*Fat client:- Why does Chess have to be migrated to Client class? Without this, it doesn&amp;#039;t work&lt;br /&gt;
&lt;br /&gt;
*Very inelegant architecture in that the game calls back to the engine instead of using &amp;#039;&amp;#039;template pattern&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
*Cntrl C Cntrl V style of programming:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	/**&lt;br /&gt;
	 * Moves the chit and ends the clients turn&lt;br /&gt;
	 * &lt;br /&gt;
	 * @param chitIndex - the index of the chit to be moved&lt;br /&gt;
	 * @param nodeDest - the index of the node the chit is to be moved to&lt;br /&gt;
	 */&lt;br /&gt;
	public void MoveChit(int chitIndex, int nodeDest)&lt;br /&gt;
	{&lt;br /&gt;
		ChangeTurn();&lt;br /&gt;
		super.MoveChit(chitIndex, nodeDest);&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Moves the chit and ends the clients turn&lt;br /&gt;
	 * &lt;br /&gt;
	 * @param chit - the Chit object of the chit to be moved&lt;br /&gt;
	 * @param nodeDest - the index of the node the chit is to be moved to&lt;br /&gt;
	 */&lt;br /&gt;
	public void MoveChit(Chit chit, int nodeDest)&lt;br /&gt;
	{&lt;br /&gt;
		ChangeTurn();&lt;br /&gt;
		super.MoveChit(chit, nodeDest);&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Moves the chit and ends the clients turn&lt;br /&gt;
	 * &lt;br /&gt;
	 * @param chit - the Chit object of the chit to be moved&lt;br /&gt;
	 * @param nodeDest - the Node object of the node the chit is to be moved to&lt;br /&gt;
	 */&lt;br /&gt;
	public void MoveChit(Chit chit, Node nodeDest)&lt;br /&gt;
	{&lt;br /&gt;
		ChangeTurn();&lt;br /&gt;
		super.MoveChit(chit, nodeDest);&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	 * Moves the chit and ends the clients turn&lt;br /&gt;
	 * &lt;br /&gt;
	 * @param chit - the index of the chit to be moved&lt;br /&gt;
	 * @param nodeDest - the Node object of the node the chit is to be moved to&lt;br /&gt;
	 */&lt;br /&gt;
	public void MoveChit(int chitIndex, Node nodeDest)&lt;br /&gt;
	{&lt;br /&gt;
		ChangeTurn();&lt;br /&gt;
		super.MoveChit(chitIndex, nodeDest);&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Movement code for pieces is separated from the rest of the game, yet pieces don&amp;#039;t move in isolation.  This is why they don&amp;#039;t have &amp;quot;check&amp;quot; working in chess.  To test if a king is in check requires knowledge of every other piece in the board, which is impossible in their system.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Acceptance Testing====&lt;br /&gt;
Our testing plan was as follows:&lt;br /&gt;
*Mix of white-box and black box testing&lt;br /&gt;
*Two testers involved at all times&lt;br /&gt;
*Testing the requirements&lt;br /&gt;
*implementing game and verifying good behaviour&lt;br /&gt;
*code inspection&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Next line&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
*fulfils requirements&lt;br /&gt;
&lt;br /&gt;
*user interface works?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*performance is within constraints?&lt;br /&gt;
&lt;br /&gt;
*loading requirements&lt;br /&gt;
&lt;br /&gt;
*compatible modules&lt;br /&gt;
&lt;br /&gt;
*error handling?&lt;br /&gt;
&lt;br /&gt;
*database rollback and committing?&lt;br /&gt;
&lt;br /&gt;
Functional AND non-functional&lt;br /&gt;
&lt;br /&gt;
*C-B A.  Mention budgeting time to bug fixes.  All the bugs we didn&amp;#039;t fix are because they would take too long.&lt;br /&gt;
&lt;br /&gt;
===Work hours===&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
!Name&lt;br /&gt;
!Date&lt;br /&gt;
!Start time&lt;br /&gt;
!End time &lt;br /&gt;
!Notes &lt;br /&gt;
|-&lt;br /&gt;
|All&lt;br /&gt;
|23-9-08&lt;br /&gt;
|2:00 pm&lt;br /&gt;
| 3:00 pm&lt;br /&gt;
| Reading Documentation and sorting out logistics issues&lt;br /&gt;
|-&lt;br /&gt;
|All&lt;br /&gt;
|25-9-08&lt;br /&gt;
|1:00 pm&lt;br /&gt;
|2:30 pm&lt;br /&gt;
| Set up subversion, partitioned problem, initial analysis&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#55AA55;color:white;&amp;quot; |Geoffrey&lt;br /&gt;
|28-9-08&lt;br /&gt;
|12:30 pm&lt;br /&gt;
|5:30 pm&lt;br /&gt;
| Tried running the server/client on uni desktops, testing game/client, started writting testcase for elmo.Engine&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#AA5555;color:white;&amp;quot;| Danver&lt;br /&gt;
|28-9-08&lt;br /&gt;
|1:30 pm&lt;br /&gt;
|4:00 pm&lt;br /&gt;
| Running server, just messing around&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#5555AA;color:white;&amp;quot; |Shruthi&lt;br /&gt;
|29-9-08&lt;br /&gt;
|11:00 am&lt;br /&gt;
|12:00 pm&lt;br /&gt;
|Just tried getting elmo set up for running, got a few errors so fixed them&lt;br /&gt;
|-&lt;br /&gt;
|All&lt;br /&gt;
|29-9-08&lt;br /&gt;
|3:00 pm&lt;br /&gt;
|5:00 pm&lt;br /&gt;
| Succeeded in getting game running, updated subversion to hold working testbed copy, identified a number of bugs. Needed to move Chess/images into the client.  (sounds like bad design)&lt;br /&gt;
|-&lt;br /&gt;
|All&lt;br /&gt;
|30-9-08&lt;br /&gt;
|2:00 pm&lt;br /&gt;
|3:00 pm&lt;br /&gt;
| Tried to do reversi, but engine doesn&amp;#039;t support it&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#55AAAA;color:white;&amp;quot;| Geoffrey &amp;amp; Shruthi&lt;br /&gt;
|02-10-08&lt;br /&gt;
|10:00 am&lt;br /&gt;
|11:00 am&lt;br /&gt;
| Started developing checkers game&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#AAAA55;color:white;&amp;quot;| Danver and Geoffry&lt;br /&gt;
|3-10-08&lt;br /&gt;
|3:00 pm&lt;br /&gt;
|5:00 pm&lt;br /&gt;
|Running Checkers, finding bugs&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#AA5555;color:white;&amp;quot;| Danver&lt;br /&gt;
|3-10-08&lt;br /&gt;
|5:00 pm&lt;br /&gt;
|7:00 pm&lt;br /&gt;
|Running Checkers, finding bugs&lt;br /&gt;
|-&lt;br /&gt;
|All&lt;br /&gt;
|4-10-08&lt;br /&gt;
|11:00 am&lt;br /&gt;
|5:00 pm&lt;br /&gt;
|Running Checkers, finding bugs&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#AAAA55;color:white;&amp;quot;| Danver and Geoffrey&lt;br /&gt;
|4-10-08&lt;br /&gt;
|5:00 pm&lt;br /&gt;
|7:00 pm&lt;br /&gt;
|Running Checkers, finding bugs&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#AAAA55;color:white;&amp;quot;| Danver and Geoffrey&lt;br /&gt;
|5-10-08&lt;br /&gt;
|12:00 am&lt;br /&gt;
|??&lt;br /&gt;
|Writing report&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Notes====&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
!BugId&lt;br /&gt;
!Allocated To&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
!Module&lt;br /&gt;
!Discovered Time&lt;br /&gt;
!Status&lt;br /&gt;
!Fixed Time&lt;br /&gt;
|-style=&amp;quot;background:yellow; color:black&amp;quot;&lt;br /&gt;
|0&lt;br /&gt;
|style=&amp;quot;background:#55AA55;color:white;&amp;quot;| Geoffrey&lt;br /&gt;
|The Chess and Chess.image sub packages had to be moved from the Server package to the Client Server. &lt;br /&gt;
|This showed another fat client implementation which is not ideal.&lt;br /&gt;
|Structure&lt;br /&gt;
|15:00 30-9-08&lt;br /&gt;
|workaround&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-style=&amp;quot;background:red; color:white&amp;quot;&lt;br /&gt;
|1&lt;br /&gt;
|style=&amp;quot;background:#AA5555;color:white;&amp;quot;| Danver&lt;br /&gt;
|SocketTimeOutException&lt;br /&gt;
|Socket times out (cause unknown) at clientElmo.ClientNetReceive.run(ClientNetReceive.java:51)&lt;br /&gt;
|Network Interface&lt;br /&gt;
|13:57 25-9-08&lt;br /&gt;
|Unfixed&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;background:green; color:white&amp;quot;&lt;br /&gt;
|2&lt;br /&gt;
|style=&amp;quot;background:#55AA55;color:white;&amp;quot; |Geoffrey&lt;br /&gt;
|Infinite sleep&lt;br /&gt;
|An exception is caught for &amp;quot;File games.txt&amp;quot; not existing, but then you log in and it sleeps. Client Thread never disposed from server&lt;br /&gt;
|Server&lt;br /&gt;
|14:04 25-9-08&lt;br /&gt;
|fixed&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;background:red; color:white&amp;quot;&lt;br /&gt;
|3&lt;br /&gt;
|style=&amp;quot;background:#5555AA;color:white;&amp;quot; |Shruthi&lt;br /&gt;
|Ugly exception thrown if no connection to server exists&lt;br /&gt;
|Network Interface/Client&lt;br /&gt;
|14:09 25-9-08&lt;br /&gt;
|Unfixed&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;background:red; color:white&amp;quot;&lt;br /&gt;
|4&lt;br /&gt;
|style=&amp;quot;background:#AA5555;color:white;&amp;quot;| Danver&lt;br /&gt;
|IndexOutOfBounds from server message at clientElmo.ClientEngine.decodeMessage(ClientEngine.java:186)&lt;br /&gt;
|&lt;br /&gt;
|Client/ Network Interface&lt;br /&gt;
|14:12 25-9-08&lt;br /&gt;
|Unfixed&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;background:red; color:white&amp;quot;&lt;br /&gt;
|5&lt;br /&gt;
|style=&amp;quot;background:#55AA55;color:white;&amp;quot; |Geoffrey&lt;br /&gt;
|at clientElmo.ImageRenderComponent.paintComponent(ImageRenderComponent.java:80)&lt;br /&gt;
|&lt;br /&gt;
|Server or Rendering&lt;br /&gt;
|14:20 25-9-08&lt;br /&gt;
|Unfixed&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;background:red; color:white&amp;quot;&lt;br /&gt;
|6&lt;br /&gt;
|style=&amp;quot;background:#5555AA;color:white;&amp;quot; |Shruthi&lt;br /&gt;
|One game goes away when it&amp;#039;s the other player&amp;#039;s turn&lt;br /&gt;
|&lt;br /&gt;
|Rendering&lt;br /&gt;
|14:21 25-9-08&lt;br /&gt;
|Unfixed&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;background:red; color:white&amp;quot;&lt;br /&gt;
|7&lt;br /&gt;
|style=&amp;quot;background:#55AA55;color:white;&amp;quot; |Geoffrey&lt;br /&gt;
|&amp;lt;pre&amp;gt;Exception in thread &amp;quot;main&amp;quot; java.lang.ArrayIndexOutOfBoundsException: 0 &amp;gt;= 0&lt;br /&gt;
	at java.util.Vector.elementAt(Unknown Source)&lt;br /&gt;
	at elmo.Node.getChit(Node.java:235)&lt;br /&gt;
	at elmo.Engine.start(Engine.java:686)&lt;br /&gt;
	at elmo.GameServer.main(GameServer.java:30)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|Server&lt;br /&gt;
|14:21 25-9-08&lt;br /&gt;
|Unfixed&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;background:red; color:white&amp;quot;&lt;br /&gt;
|8&lt;br /&gt;
|style=&amp;quot;background:#5555AA;color:white;&amp;quot; |Shruthi&lt;br /&gt;
|Client updates with YourTurn but no display&lt;br /&gt;
|&lt;br /&gt;
|Server&lt;br /&gt;
|14:25 25-9-08&lt;br /&gt;
|Unfixed&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;background:red; color:white&amp;quot;&lt;br /&gt;
|8&lt;br /&gt;
|style=&amp;quot;background:#5555AA;color:white;&amp;quot; |Shruthi&lt;br /&gt;
|&amp;lt;pre&amp;gt;Game is are made!&lt;br /&gt;
   Exception in thread &amp;quot;AWT-EventQueue-0&amp;quot; java.lang.ClassCastException&amp;lt;/pre&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|Client&lt;br /&gt;
|15:45 29-9-08&lt;br /&gt;
|Unfixed&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;background:red; color:white&amp;quot;&lt;br /&gt;
|9&lt;br /&gt;
|style=&amp;quot;background:#AA5555;color:white;&amp;quot;| Danver&lt;br /&gt;
|Buffered reader fills up? Something breaks at d.readline (clientNetReceive.java:51)&lt;br /&gt;
|Interface&lt;br /&gt;
|15:45 29-9-08&lt;br /&gt;
|Unfixed&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;background:blue; color:white&amp;quot;&lt;br /&gt;
|10&lt;br /&gt;
|style=&amp;quot;background:#AA5555;color:white;&amp;quot;| Danver&lt;br /&gt;
|Making sure the client doesn&amp;#039;t display first window without connection to server.&lt;br /&gt;
|Interface&lt;br /&gt;
|15:45 29-9-08&lt;br /&gt;
|Unfixed&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;background:green; color:white&amp;quot;&lt;br /&gt;
|11&lt;br /&gt;
|style=&amp;quot;background:#AA5555;color:white;&amp;quot;| Danver&lt;br /&gt;
|Changed the network interface to read messages in a quicker, lighter more robust way.  More specifically, &amp;quot;KILL&amp;quot; messages were parsed in a bug-prone way.&lt;br /&gt;
|Interface&lt;br /&gt;
|15:45 29-9-08&lt;br /&gt;
|Fixed&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;background:red; color:white&amp;quot;&lt;br /&gt;
|12&lt;br /&gt;
|style=&amp;quot;background:#AA5555;color:white;&amp;quot;| Danver&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
Exception in thread &amp;quot;main&amp;quot; java.lang.ArrayIndexOutOfBoundsException: 0 &amp;gt;= 0&lt;br /&gt;
	at java.util.Vector.elementAt(Unknown Source)&lt;br /&gt;
	at elmo.Node.getChit(Node.java:235)&lt;br /&gt;
	at elmo.Engine.start(Engine.java:639)&lt;br /&gt;
	at elmo.GameServer.main(GameServer.java:30)&amp;lt;/pre&amp;gt;&lt;br /&gt;
|Interface&lt;br /&gt;
|15:45 29-9-08&lt;br /&gt;
|Unfixed&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;background:red; color:white&amp;quot;&lt;br /&gt;
|13&lt;br /&gt;
|style=&amp;quot;background:#AA5555;color:white;&amp;quot;| Danver&lt;br /&gt;
|&lt;br /&gt;
Chess tripled if second player joins&lt;br /&gt;
|Interface&lt;br /&gt;
|15:45 29-9-08&lt;br /&gt;
|Unfixed&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;background:red; color:white&amp;quot;&lt;br /&gt;
|14&lt;br /&gt;
|style=&amp;quot;background:#AA5555;color:white;&amp;quot;| Danver&lt;br /&gt;
|If new Server starts up, old server crashes horribly.  All state from old server is &amp;quot;preservered&amp;quot; which is a horrible lie because they&amp;#039;re abusing TCP connections.  Server needs to disconnect all clients when it dies.&lt;br /&gt;
|Interface&lt;br /&gt;
|15:45 29-9-08&lt;br /&gt;
|Unfixed&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;background:red; color:white&amp;quot;&lt;br /&gt;
|15&lt;br /&gt;
|style=&amp;quot;background:#AA5555;color:white;&amp;quot;| Danver&lt;br /&gt;
|Not enough abstract methods: Join client is unimplemented, setTurnOwner is unimplemented in an extensible way.&lt;br /&gt;
|Interface&lt;br /&gt;
|Thursday, 2nd October 2008  12:58:35&lt;br /&gt;
|Unfixed&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;background:green; color:white&amp;quot;&lt;br /&gt;
|16&lt;br /&gt;
|style=&amp;quot;background:#55AA55;color:white;&amp;quot; |Geoffrey&lt;br /&gt;
|java.net.SocketTimeoutException: Read timed out &lt;br /&gt;
|An exception is caught after 9 - 10 seconds if you open the client and do not log in&lt;br /&gt;
|Server&lt;br /&gt;
|15:04 03-10-08&lt;br /&gt;
|fixed&lt;br /&gt;
|03-10-08&lt;br /&gt;
|-style=&amp;quot;background:blue; color:black&amp;quot;&lt;br /&gt;
|17&lt;br /&gt;
|style=&amp;quot;background:#AA5555;color:white;&amp;quot;| Danver&lt;br /&gt;
|Implementing a game is hard because constructor method displays very little knowledge of code reuse&lt;br /&gt;
&amp;lt;pre&amp;gt;	public Checkers(int gameID, boolean recreate)&lt;br /&gt;
	{&lt;br /&gt;
		super(gameID);&lt;br /&gt;
		//System.out.println(&amp;quot;Initialising Chess Map&amp;quot;);&lt;br /&gt;
		whiteSide = new ClientView(this);&lt;br /&gt;
		blackSide = new ClientView(this);&lt;br /&gt;
		graph = new CheckersMap(this);&lt;br /&gt;
		this.name = &amp;quot;checkers.Checkers&amp;quot;;&lt;br /&gt;
		this.MaxPlayers = 2;&lt;br /&gt;
		this.resX = 450;&lt;br /&gt;
		this.resY = 500;&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice the value of recreate is never read in this method.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
According to the documentation, having no boolean means &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;, and having any boolean, even a false one, means &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;.  The code between the two versions of the constructor are essentially similar, and a hot spot for programmer error.&lt;br /&gt;
&lt;br /&gt;
This error is because the Game class that is provided does not enforce the constructors that must be implemented by the game itself and the engine:  You can delete the constructor by accident and then run away.  See bug 15&lt;br /&gt;
&lt;br /&gt;
|Interface&lt;br /&gt;
|Friday, 3 October 2008&lt;br /&gt;
|Fixed&lt;br /&gt;
|Friday, 3 October 2008&lt;br /&gt;
|-style=&amp;quot;background:yellow; color:white&amp;quot;&lt;br /&gt;
|15&lt;br /&gt;
|style=&amp;quot;background:#AA5555;color:white;&amp;quot;| Danver&lt;br /&gt;
|If you log in as name%KILL the server behaviour is anomalous.  This presents a security flaw in the system&lt;br /&gt;
|Interface&lt;br /&gt;
|Thursday, 2nd October 2008  12:58:35&lt;br /&gt;
|Friday, 3 October 2008&lt;br /&gt;
|Workarounded by stripping all percent signs from the input.  Don&amp;#039;t they know about Godel?&lt;br /&gt;
|Friday, 3 October 2008&lt;br /&gt;
|-style=&amp;quot;background:red; color:white&amp;quot;&lt;br /&gt;
|16&lt;br /&gt;
|style=&amp;quot;background:#5555AA;color:white;&amp;quot; |Shruthi&lt;br /&gt;
|Client has editable JTable/JText&lt;br /&gt;
|&lt;br /&gt;
|Client&lt;br /&gt;
|Saturday, 4th October 2008  12:08:30&lt;br /&gt;
|Unfixed&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;background:red; color:white&amp;quot;&lt;br /&gt;
|17&lt;br /&gt;
|style=&amp;quot;background:#5555AA;color:white;&amp;quot; |Shruthi&lt;br /&gt;
|If you stack the SCHI mouse clicks from the client, then the server will respond with a whole slew of VCMV values.  Instead of using only the VCMV for only the latest SCHI, the client will use them all. e.g. if a King is in CheckMate, you can select a pawn half a board away, then quickly select your king.  The stacking of VCMVs will add to the king the possibility of teleporting to whatever location the pawn could, breaking the game.&lt;br /&gt;
|&lt;br /&gt;
|Client&lt;br /&gt;
|Saturday, 4th October 2008  13:34:22&lt;br /&gt;
|Unfixed&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;background:red; color:white&amp;quot;&lt;br /&gt;
|18&lt;br /&gt;
|style=&amp;quot;background:#5555AA;color:white;&amp;quot; |Shruthi&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
!White&lt;br /&gt;
!Black&lt;br /&gt;
|-&lt;br /&gt;
|QP4 &lt;br /&gt;
|KP5&lt;br /&gt;
|-&lt;br /&gt;
|QRK4 -CHECK WTF!&lt;br /&gt;
| --&lt;br /&gt;
|}&lt;br /&gt;
|&lt;br /&gt;
|Client&lt;br /&gt;
|Saturday, 4th October 2008  13:34:22&lt;br /&gt;
|Unfixed&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Usability Evaluation===&lt;br /&gt;
&lt;br /&gt;
====Heuristics====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Study====&lt;br /&gt;
&lt;br /&gt;
*Likert Scale&lt;br /&gt;
**Acquiescence bias&lt;br /&gt;
&lt;br /&gt;
Enter doesn&amp;#039;t work when you login.&lt;/div&gt;</summary>
		<author><name>Mark</name></author>
	</entry>
</feed>