SE306:Group 3:Subgroup 2a2
Jump to navigation
Jump to search
<html> <head>
<style> #bugTable, #workTable { border: solid 2px black; border-collapse: separate; border-spacing: 0px; *border-collapse: collapse; /* ie7 border hack */ } td, th { border-color: black; border-style: solid; padding: 5px; margin: 0px; } td { border-width: 1px 1px 0 0; *position:relative; /* ie7 border hack */ } th { background-color: #a4fbb9; border-width: 1px 1px 1px 0; *position:relative; } </style> <script> String.prototype.isWhiteSpace = function() { return this == '\n' || this == ' ' || this == '\t'; } String.prototype.trim = function () { var s = this; while (s.charAt(0).isWhiteSpace()) s = s.substring(1); while (s.charAt(s.length-1).isWhiteSpace()) s = s.substring(0,s.length-1); return s; } function getColour(names) {
var colours = {all:0xDDDDDD, dan:0xDD, joey:0xDD00, katherine:0xDD0000}; var c = 0; for (var i=0;i<names.length;i++) {
var n = names[i].trim(); var col = colours[n];
if (col == undefined) continue; c += col; }
c%=0x1000000;
var s = c.toString(16); while (s.length < 6) {
s = "0"+s; } s = s.replace("0","6"); // pastelise the colours
return "#"+s;
} //Go through table and highlight status column window.onload = function() { var tables = ["workTable", "bugTable"]; var red = "#FF6666"; var green = "#66FF66"; for (var t in tables) { var table = document.getElementById(tables[t]); var tableRows = table.rows; for(var i=1;i<tableRows.length;i++) { var nameCell = tableRows[i].cells[1]; if (!nameCell) continue; var color = getColour(nameCell.innerHTML.toLowerCase().split(",")); nameCell.style.backgroundColor = color; if (t == 1) { color = tableRows[i].cells[5].innerHTML.trim() == ""? red : green; if (tableRows[i].cells[4]) tableRows[i].cells[4].style.backgroundColor = color; if (tableRows[i].cells[5]) tableRows[i].cells[5].style.backgroundColor = color;
}
} } }
</script>
</head> </html>
Work hours
Date | Name | Start time | End time | Notes |
---|---|---|---|---|
7/10/08 | Joey | 1300h | 1500h | Unpacking the game engine, creating an eclipse project and adding it to version control. Running Elmo for the first time. |
16/10/08 | Joey, Katherine, Dan | 1300h | 1530h | Discussion of game to implement, and commencement of game development. |
20/10/08 | Joey | 0000h | 0300h | Developed this bug page |
23/10/08 | Joey, Katherine, Dan | 1400h | 1630h | Continuation of the development of our Marble Game. |
24/10/08 | Joey, Katherine | 0000h | 0400h | Fixing bugs and starting report. |
24/10/08 | Joey | 1200h | 1300h | Locating more bugs |
Bugs
BugID | Name | Module | Description | Discovered Time | Fixed Time |
---|---|---|---|---|---|
1 | Joey | Client | Client references two different image folders. One of which does not exist. This, for some strange reason disallows the recognition of chits being clicked. Fixed:Changed the location of both to be consistent at PROJECT_ROOT/images |
1030h 10/10/08 | 1045h 10/10/08 |
2 | Dan | Client/Server | An exception is caught for "File games.txt" not existing, but then you log in and it sleeps. | 1830h 16/10/08 | |
3 | Dan | Server | Connection refused when you start the client and server at the same time | 1830h 16/10/08 | |
4 | Dan | Client/Server | An exception is caught after 9 - 10 seconds if you open the client and do not log in | 1830h 16/10/08 | |
5 | Katherine | Client | Starting up two clients and logging in with the same username causes 3 versions of each game to show up under the 'new games' list for 1 client. Using the same username also causes other various crashes to occur. | 0120h 24/10/08 | |
6 | Joey | Client | The client crashes when run without a server running when defaulting to localhost. However, when specifying the address of another host which doesn't exist, nothing happens and the client logs into a blank server. Fixed: Changed Network_ClientConnection.java and GameClient.java to check if the host is reachable before displaying login. If not reachable within 2 seconds, show a message to the user that there is no server. |
0130h 24/10/08 | 0200h 24/10/08 |
7 | Joey | Client/Server | When specifiying an address other than a loopback address i.e. localhost or 127.0.0.1, the client may login but there will be no games displayed. | 0220h 24/10/08 | |
8 | Joey | Server | When running twice, an exception is thrown. Should shutdown gracefully and warn the operator that the ports are being used. Fixed: Simply printed out information in the catch block rather than print stack trace which would confuse the non-expert. |
0325h 24/10/08 | 0338h 24/10/08 |
9 | Joey | Networking | Specifying a name including message separators % or # result in crashes or odd behavior such as the logging in without any games displayed, or client crashing when chatting. | 1300h 24/10/08 | |
10 | Joey | Client/Networking | Including newline characters \n at the end of a sentence when chatting results in the client crashing, throwing an ArrayIndexOutOfBounds exception. | 1320h 24/10/08 |
Limitations
A limitation of game design is that the engine does not support any games other than those which have chits and a limited number of possible moves for each chit, and where the chit may only move position. -joey
A documented bug in the client results in 450x500 being the only possible values for the game screen. -joey
Usability Issues
Slightly confusing naming system of engine components. -Katherine
Eg:
- clientElmo.Client
- clientElmo.GameClient
- elmo.Client