INTERFACE Board; IMPORT VBT; IMPORT Point; TYPE T <: Public; Public = VBT.Leaf OBJECT METHODS (* initialize a board of the given size *) init(xsize, ysize : CARDINAL := 8) : T; (* set the state of a game square to the given value *) setState(p : Point.T; state : Piece); (* get the state of a game square *) getState(p : Point.T) : Piece; (* override this: click will be called whenever a game square is clicked on *) click(p : Point.T); (* := NIL *) (* and this...: quit will be called whenever the "quit square" is clicked on *) quit() (* := NIL *) END; Piece = { None, White, Black }; END Board.