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