erkanakgun adlı üyeden alıntı: mesajı görüntüle
Merhabalar,
Rotalar tanımla her taşa,
Mesela kale a1 den a8'e gidecek,
Bu rotadaki alanları bul a1 a2 a3 a4 a5 a6 a7
Bu aralıkta taş olup olmadığını kontrol et
Sonra a8'e bak farklı renk mi diye
Farklı renk ise ye. Değilse hareket etme
Acaba iç içe for mu kullanmalıyım? Örnek bir kod yazabilir misiniz acaba? Ben array kullanarak her taşın konumunu belirttim. Aynı zamanda her taşın koordinat düzleminde nasıl hareketler yapacağını da belirttim.

Vezir classında hareket komutu böyle mesela :

public Queen(int x, int y,String color) : base(x, y, "Queen",color) { }
public override bool move(int tx, int ty)
{

if (Math.Abs(x - tx) == Math.Abs(y - ty) || x == tx || y == ty)
{
x = tx;
y = ty;
return true;
}
return false;
}
Aynı zamanda Board classının move komutu ise böyle:
public bool move(int sx, int sy, int tx, int ty)
{

if (board[sx, sy] == null)
return false;


if (board[tx, ty] != null)
{
if (board[tx, ty].color.Equals(board[sx, sy].color))
{
return false;
}
}


Piece s = board[sx, sy];
Piece t = board[tx, ty];
if (t == null)
{
if (s.move(tx, ty))
{
board[tx, ty] = s;
board[sx, sy] = null;
return true;
}
}
else
{
if (s.color.Equals(t.color) )
return false;
if (s.attack(tx, ty))
{
board[tx, ty] = s;
board[sx, sy] = null;
return true;
}
}
return false;
        }
Ne yapmalıyım sizce nasıl gittiği yere kadar olan koordinatları kontrol ettirebilirim?

sx= sourcex
tx = targetx