def __init__(self, board=None, terrain=None, numbers=None, ports=None, pieces=None, players=None):
self.tiles = list()<EOL>self.ports = list()<EOL>self.state = states.BoardState(self)<EOL>self.pieces = dict()<EOL>self.opts = dict()<EOL>if board is not None:<EOL><INDENT>self.opts['<STR_LIT>'] = board<EOL><DEDENT>if terrain is not None:<EOL><INDENT>self.opts['<STR_LIT>'] = terrain<EOL><DEDENT>if numbers is not None:<EOL><INDENT>self.opts['<STR_LIT>'] = numbers<EOL><DEDENT>if ports is not None:<EOL><INDENT>self.opts['<STR_LIT>'] = ports<EOL><DEDENT>if pieces is not None:<EOL><INDENT>self.opts['<STR_LIT>'] = pieces<EOL><DEDENT>if players is not None:<EOL><INDENT>self.opts['<STR_LIT>'] = players<EOL><DEDENT>self.reset()<EOL>self.observers = set()<EOL>
Create a new board. Creation will be delegated to module boardbuilder.

:param terrain: terrain option, boardbuilder.Opt
:param numbers: numbers option, boardbuilder.Opt
:param ports: ports option, boardbuilder.Opt
:param pieces: pieces option, boardbuilder.Opt
:param players: players option, boardbuilder.Opt