This repository has been archived by the owner on Jul 17, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Peao.cpp
45 lines (43 loc) · 1.47 KB
/
Peao.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include "Peao.h"
Peao::Peao(int simbolo)
{
simboloPeca = simbolo;
emJogo = true;
jaMexeu = false;
if (simbolo > 96)
corPeca = true;
else
corPeca = false;
}
bool Peao::checaMovimento(int xAtual, int yAtual, int xDestino, int yDestino)
{
if (yAtual - yDestino > 1 || yAtual - yDestino < -1) // verifica se o movimento eh valido ao ver que nao se mexe mais de 1 casa pelas colunas
return false;
if (!corPeca)
{
if (xAtual + 1 == xDestino) // verifica se o movimento eh valido ao ver que soh se mexe uma casas pelas linhas
{
jaMexeu = true; // indica que a peca ja se mexeu para nao poder andar 2 casas pelas linhas
return true;
}
if (xAtual + 2 == xDestino && !jaMexeu && yAtual == yDestino) // verifica se o movimento eh valido ao ver que soh se mexe duas casas pelas linhas se ja nao se tiver se mexido
{
jaMexeu = true; // indica que a peca ja se mexeu para nao poder andar 2 casas pelas linhas
return true;
}
}
else
{
if (xAtual - 1 == xDestino) // verifica se o movimento eh valido ao ver que soh se mexe uma casas pelas linhas
{
jaMexeu = true; // indica que a peca ja se mexeu para nao poder andar 2 casas pelas linhas
return true;
}
if (xAtual - 2 == xDestino && !jaMexeu && yAtual == yDestino) // verifica se o movimento eh valido ao ver que soh se mexe duas casas pelas linhas se ja nao se tiver se mexido
{
jaMexeu = true; // indica que a peca ja se mexeu para nao poder andar 2 casas pelas linhas
return true;
}
}
return false;
}