55 lines
No EOL
2.3 KiB
Text
55 lines
No EOL
2.3 KiB
Text
|
|
M0: debug messages as html
|
|
Create a script that prints the python stderr of thea main script as html,
|
|
so debugging the cgi becomes more easy.
|
|
|
|
M1: user interaction thorugh images
|
|
Completed, when a user can click on an image, and the image gets replaced
|
|
as a result.
|
|
|
|
m2: autogenerate images
|
|
There are partly transparent images of black and white stones, center,
|
|
border and hoshi squares, all available in png format. The Milestone is
|
|
considered complete when the program can automatically generate combined
|
|
images of all squares with all stones. The stones have to be on top ;>
|
|
|
|
m3: display working 9x9 goban
|
|
Completed, when the cgi script has an internal representation of a goban
|
|
that can handle stones, and this goban is displayed on a html page.
|
|
|
|
m4: handle player turns
|
|
The program knows wether it is the turn of black or white, and prints the
|
|
current turn color on the html page displaying the goban. If player white
|
|
clicks on an empty square, a white stone will be layed onto that square.
|
|
Same for Player black.
|
|
|
|
m5: goban inside database
|
|
Manage the goban inside a postgresql database, so all user input changes a
|
|
table in the database. Includes a 'size' item that contains the length of
|
|
on side of the board, so that gobans of size 9x9, 13x13 and 19x19 can be
|
|
displayed.
|
|
|
|
m6: manage users and game sessions inside database
|
|
manage user accounts and the game(s) they currently play inside the data-
|
|
base. each game has its own table, which contains players, current turn,
|
|
size, the goban inside the database. users are managed in a different
|
|
table. For each user the following data is stored: password, current games
|
|
(up to 8 or so). So if the user calls the cgi script, she has to send
|
|
username and password and is then given the choice of game to play. If
|
|
there is only one active game, directly present the goban.
|
|
|
|
. <--- YOU ARE HERE.
|
|
|
|
m7: implement Go rules
|
|
Do not accept player moves which violate go rules. Remove beaten stones.
|
|
Count and display the score for each player.
|
|
|
|
m8: make it pretty, make it fast.
|
|
Create nicer images replacing the old ones which were just for testing
|
|
Find bottlenecks and optimize them for speed.
|
|
-- python profiler
|
|
-- http://peter.mapledesign.co.uk/weblog/archives/python_is_slow.html
|
|
create a set of images smaller than 50 pixels (for the 19x19 goban)
|
|
|
|
m9: make it standards compliant
|
|
w3c validation |