TesujiGoFramework/GoEngine

Sub-page of TesujiGoFramework

Go Engine

With the first main building blocks in place up to MoveAdministration we can start thinking about a playing engine. Let's start by making something play random moves. It should be easy enough. With the class BasicMoveAdministration as a MoveAdministration implementation we can simply generate random coordinates, use the MoveAdministration to check if that move would be legal and play it when it is.

Since a Go playing engine that simply plays random moves is obviously only the first step, it seems like a good idea to to define a common interface for all possible playing engines we're going to implement. We'll call this interface tesuji.games.go.common.GoEngine. This interface has been designed to mimic the Go Text Protocol Specifications, which is a common protocol used by some Go software to communicate. It will make life easier to stick close to an interface that matches this protocol.

So we start to get somewhere, we have some basic blocks and an engine with a random-move generator which adheres to the GoEngine interface. So how do we let it play. Or, before we get ahead of ourselves, how do we test if what we made actually works? The next section will move to the Go Text Protocol and explain how we can use it to start actually using the building-blocks we've made so far.


This is a copy of the living page "TesujiGoFramework/GoEngine" at Sensei's Library.
(OC) 2012 the Authors, published under the OpenContent License V1.0.
[Welcome to Sensei's Library!]
StartingPoints
ReferenceSection
About