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.
13 namespace RandomlessEntropy
{
16 const MoveDefinition movesDefinition
[] = {
23 for (unsigned i
= 0; i
< sizeof(movesDefinition
)/sizeof(movesDefinition
[0]); i
++)
24 m_moveDefinitions
.push_back(movesDefinition
[i
]);
27 QString
Stone::name() const { return "stone" + m_color
; }
29 const std::vector
<MoveDefinition
> * const Stone::movesDefinitions() const {
30 return &m_moveDefinitions
;
33 int Stone::index() const { return m_color
; }
35 // FIXME: parametrize number of colors
36 // FIXME: find a way to set m_color in Stone constructor instead
37 Stone
* Stone::color(unsigned color
) {
38 static Stone s_instance
[3];
39 static bool colors_initialized
= false;
40 if (!colors_initialized
) {
41 for (int i
=0; i
<3;i
++)
42 s_instance
[i
].m_color
= i
;
45 return &s_instance
[color
];