Mostly messing with "forfax" AI
authorSam Moore <matches@ucc.asn.au>
Thu, 1 Dec 2011 10:54:44 +0000 (18:54 +0800)
committerSam Moore <matches@ucc.asn.au>
Thu, 1 Dec 2011 10:54:44 +0000 (18:54 +0800)
commit041c37d1dfc4a94024fe1d329d289e4c59667885
tree82ec166f39ceca0610ca065771768fd68a8cc4c8
parent2ab27eb698cfd57977cc9cc25edcbfbeb3b1b1ee
Mostly messing with "forfax" AI

It would be nice to have an AI that doesn't segfault.

Currently segfault caused by Board::ForgetPiece.
valgrind outputs a lot of wierd crap about std::vector and uninitialised values
Uninitialised values created by std::vector::push_back()
All I am pushing is a simple pointer (Piece*), so I don't know WHY uninitialised values happen...
The std::list used in MakeMove is somehow using the same memory as the std::vectors of the board, which is causing invalid reads
Stupid, stupid stdlib.

I think that once that is fixed, forfax is pretty much done. I'd like to see how well it plays, but... segfaults.

I also fixed dummy to take into account the modified turn protocol which prints piece ranks. dummy just reads them and ignores them.

I plan to make the manager program more useful
- Enable human players
- Add command line arguments for things like timeouts, graphics on/off etc
- Read a game from a file (so that games can be viewed after they are run)
I need to go through the manager program carefully and make sure that the way AI programs quit actually works
Ideally the AI program has a short period to exit gracefully before it is killed
I think for some reason the AI program always just gets killed.

At some point I need to setup a VM for this. I should probably do that.

I also might change minor things like the tokens (from random characters to digits + a few characters) and the internal ordering of the enum Piece::Type
12 files changed:
manager/controller.cpp
manager/dummy [deleted symlink]
manager/forfax [deleted symlink]
manager/main.cpp
manager/stratego.cpp
samples/Makefile [deleted file]
samples/dummy.cpp [deleted file]
samples/dummy/Makefile [new file with mode: 0644]
samples/dummy/dummy.cpp [new file with mode: 0644]
samples/forfax/forfax.cpp
samples/forfax/forfax.h
samples/forfax/main.cpp

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