2 Copyright (c) 2007 Paolo Capriotti <p.capriotti@gmail.com>
3 (c) 2007 Maurizio Monge <maurizio.monge@kdemail.net>
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
11 #ifndef CORE__STATE_FACTORY_H
12 #define CORE__STATE_FACTORY_H
18 class TAGUA_EXPORT IStateFactory
{
20 virtual ~IStateFactory();
23 * Create an empty state for this game. An empty state
24 * is usually a board with no pieces, empty pools and
25 * flags in their default values.
26 * An empty state is generally not the initial state for
29 * To get the initial state, call reset on an
32 * @return The newly created state.
35 virtual IState
* createState() const = 0;
38 #endif // CORE__STATE_FACTORY_H