Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Where do you include winboard stuff in your program?

Author: Volker Böhm

Date: 06:44:20 12/15/04

Go up one level in this thread


Hi Uri,

I like the "controller"-model most. In Practice Spike has a Winboard-Class that
is the controller. The Chess-Player itself doesn´t know anything about winboard
but only add´s an interface for the winboard-class.

If Spike gets a winboard command, the winboard - class receives it and decides
what to do. Example: If it receives a "go" command it will send call
"IterativeSearch" of the "PonderSearch" Class. If it receives a stop it will
call "Stop" of the "PonderSearch" Class.

The UCI-Interface uses exactly the same interface of "PonderSearch".

The PonderSearch Class is statefull (not a good design but easy to implement)
thus it knows about the last moves.

Spike breaks the rule when printing informations. PonderSearch knows about the
format the UCI or Winboard Info-Interface. This is not a good design. A callback
interface of Winboard is a better design but more compicated to implement. Here
we have choosen the easier design, not the more clear one. To implement this,
"PonderSearch" has a flag for "Winboard" or "UCI" that is set by the Winboard
class - the drawback of this design.

Greetings Volker



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.