BenShoemaker/flounder
Flounder is the name of my future computer go program.
The basic idea is to create a random legal move player, and then filter against a rule or pattern. Also, using combinations of rules/patterns should be interesting.
Here are the basic strategies I plan to experiment with:
- Capture
- if there is an opponent stone in atari, capture it.
- Escape
- if some of my stones are in atari, try to escape capture.
- Contact
- play next to one of the opponent stones (tsuke).
- Extend
- play next to one of my stones (tsukenobi).
- PlayNearby
- play near the opponents last move (term?).
- PlayFaraway
- play away from the opponents last move (tenuki).
- OpenSpace
- play in the largest remaining open space.
- Surround
- try to surround an opponent stone(s).
- Cap
- try to cap an opponent stone (boshi).
- Cut
- try to cut two of the opponents stones.
- Hane
- to reach around an opponent stone.
- Jumps
- One and Two point jumps (ikken tobi, niken tobi)
- MonkeyJump
- play in monkey jumps from my stones.
- KnightsMove
- knight moves of various sizes (regular - Keima, large - Ogeima, very large - Daidaigeima)
- Mirror
- play the mirror image of opponents last move.
- CornerSideMiddle
- play at key points in corner, then side, then middle.
- FourWalls
- try to create four walls from the center point to each side.
- Grid
- try to create a grid over the whole board.
- DiagonalGrid
- try to create a diagonal grid over the whole board.
- PriorityMap
- a prioritized map of the whole board.
- BalanceMap
- a dynamically generated map isolating balance points between stones.