- May 19, 2013
-
-
judge authored
-
- Feb 12, 2013
-
-
Sam Moore authored
Got sidetracked writing "swarm" to parallelise rounds. It's not ready yet, but I wrote run.sh to run a round. Which should work even if I never finish swarm. It'll just be ridiculously slow. Changed structure of agents directory (same as last year). Minor changes to qchess. Added yet another wrapper class for replaying logs. FileReplayer replaces the standard python file; if a game is still in progress you can use that. I noticed the Http log replay was breaking a while ago, but I haven't investigated. TODO: - Finish swarm - Generate pretty html pages from results (but hopefully make the script nicer than last years) - Handle errors/illegal moves properly. Enforce the timeouts. - Include draws/stalemate - events? prizes? profit? - BUG FIXING - Read TODO lists more often, because I usually just write them and then never read them
-
- Jan 29, 2013
-
-
Sam Moore authored
- Fixed .dll files that were the wrong ones for cx_freeze win32 - Created "internal" agents, and made AgentBishop one of them - Implemented terrible wrapper class that runs an internal agent in a seperate python process - This is for when timeouts are used - select == better than threads - TimeoutPlayer appears to not work properly anyway - Tested win32 version (script and frozen binary) - ExternalAgent seems to break - TimeoutPlayer seems to break (even more than normal) - Pretty much everything breaks actually - More things seem to break with the frozen binary than with the script - Amazingly the pygame interface doesn't break, just the fancy threading/subprocess/socket/file related stuff - Somehow, the InternalAgents, ie: AgentBishop were working - So windows users can play the python sample agents, but otherwise the program is pretty useless - Implemented the --log and --file arguments - Get an error if the game hasn't actually finished when using --file, should pr...
-
- Jan 28, 2013
-
-
Sam Moore authored
The pain is freezing me. I've been trying to freeze the qchess.py script into a win32 binary, so that windows people don't need to install python. Except I've realised that they will probably install python to enter anyway, since it is the easiest language. HER DURP. I mostly got cx_freeze to work. Fun tip: Unicode strings cause segmentation faults So wrote hacky script to save unicode characters to png files, then use png files in frozen versions. cx_freeze in linux worked amazingly well. For windows... I installed python and cx_freeze in wine... this was probably a mistake, because all the dll files were missing. But I found all the dll files, so that's fixed. qchess.exe works in wine, but can't load python agent programs... because windows doesn't understand #! Well, fuck. Also annoying bug with Tk open file dialog mouse which I cannot be bothered chasing. Tried hacky batch file, but it doesn't work in wine. Will try in Windows 7 soon. PS: Also changed dir...
-
- Jan 24, 2013
-
-
Sam Moore authored
1. Argument parsing. We have it 2. GUI. We have it 3. Networking. We have it. 4. Timeouts. We have those. Sort of. Not for Windows. 5. Help page. We have that too. I think you'll find it quite... helpful We still don't have log files. Most of previous TODOs still apply.
-
- Jan 23, 2013
-
-
Sam Moore authored
Now is probably a good time to start using git 1. Implemented quantum chess as described here: http://research.cs.queensu.ca/Parallel/QuantumChess/QuantumChess.html - Except I have "white on the right" 2. Wrote sample agent "agent_bishop.py" which is already better at the game than I am 3. Sort of got sidetracked trying to split my original quantum chess python file into multiple files. - Difficulties because there are circular dependencies with the graphics / game stuff - eg: HumanPlayer needs to know about GraphicsThread to get its move and GraphicsThread needs to know about HumanPlayer to draw stuff and give it a move 4. Ended up writing a bash script to combine multiple python files into single qchess.py file. - It was easier than working out how __init__.py and __main__.py work / do not work - "from . import *" doesn't work and apparently is "bad practice" or something - Bash scripts are the best practice - It...
-