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.
12 #include <core/behaviour.h>
13 #include <core/move.h>
14 #include <core/state.h>
20 QString
Silver::name() const { return "silver"; }
22 bool Silver::canMove(const Piece
& piece
, const Piece
&,
23 Move
& move
, const IState
* state
) const {
24 const IBehaviour
* behaviour
= state
->behaviour();
25 if (!behaviour
) return false;
26 return (abs(move
.delta().x
) == abs(move
.delta().y
) && abs(move
.delta().x
) == 1)
27 || (move
.delta().y
== behaviour
->direction(piece
.color()).y
&& abs(move
.delta().x
) <= 1);
30 int Silver::index() const { return 10000; }
32 Silver
* Silver::self() {
33 static Silver s_instance
;