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:
UCC git Repository :: git.ucc.asn.au