progcomp2013.git
11 years agoSelf inflicted wounds using cx_freeze
Sam Moore [Mon, 28 Jan 2013 14:54:56 +0000 (22:54 +0800)]
Self inflicted wounds using cx_freeze

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 directory structure somewhat.

Ironically, using cx_freeze doesn't result in freezing programs!

11 years agoLots of stuff happened
Sam Moore [Thu, 24 Jan 2013 09:05:09 +0000 (17:05 +0800)]
Lots of stuff happened

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.

11 years agoMostly networking
Sam Moore [Wed, 23 Jan 2013 19:07:26 +0000 (03:07 +0800)]
Mostly networking

It is pretty much a hack

Fixed dodgy symlinks from agents directory, thanks [SLX]

Need to fix argument parsing for qchess program, but can't be bothered right now.

11 years agoFix qchess/update.sh
Sam Moore [Wed, 23 Jan 2013 14:02:36 +0000 (22:02 +0800)]
Fix qchess/update.sh

Accidentally bashed self in foot

11 years agoInitial Commit
Sam Moore [Wed, 23 Jan 2013 13:21:09 +0000 (21:21 +0800)]
Initial Commit

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 will probably backfire horribly. Hence, git

TODO:
        - Either borrow sigma from [DJA] again, or setup a new progcomp server at UCC
- Make website for results / information
- Depending upon how adventurous I feel it might be django
- Or a .html file created by a bash script
- Make judging / scoring system
- Need to implement move timeouts for AI players (remember to use select this time)
- Organise some sort of event for people to come to
- Should probably talk to #committee at some point
- Get people interested? Bribe them? Threaten them with account locking if they don't enter?
- If I get 4 entrants it will be a doubling in entries since 2010!

UCC git Repository :: git.ucc.asn.au