![]() StartingPoints Referenced by Homepages
|
Ha Go
Keywords: Software
HaGo is a go playing program written in the functional programming language OK, enough technical details. What are the cons and pros? Cons:
Pros:
generateMove :: Game -> Move generateMove g = produceMove (toMove g) g stdMoveGenerator stdMoveGenerator :: MoveGenerator stdMoveGenerator = inOrder $ map (filterMG notOnKoPoint) [ saveMyAtariGroups , takeHisAtariGroups , filterMG inBigLiberty allMoves `allBecause` "I'm just a stupid computer, I'll play in a large lib" , alWaysPass `allBecause` "Can't find a move, so I'll pass" ] (You might have to learn Haskell, but it beats C IMHO) The standard move generator first tries to save strings in Atari by extending or capturing surrounding groups, then takes any oppposing strings in Atari. When neither of these yields a plausible move, the computer will play randomly inside of a 'big' liberty or pass (when there are no big liberties left).
If you are interested in obtaining a version, you can send This is a copy of the living page "Ha Go" at Sensei's Library. ![]() |