-
Notifications
You must be signed in to change notification settings - Fork 0
/
Pion.cpp
executable file
·117 lines (102 loc) · 2.17 KB
/
Pion.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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#include "Pion.h"
Pion::Pion(Couleur couleur, int nPion)
{
m_nPion= nPion;
m_caseCourante= -1;
m_dansLeBox= true;
m_arriver= false;
m_solCase= 'H';
switch(couleur)
{
case ROUGE:
goToXY(5,14);
m_couleurPion= ROUGE;
m_lettre= 'R';
break;
case BLEU:
goToXY(0,5);
m_couleurPion= BLEU;
m_lettre= 'B';
break;
case VERT:
goToXY(9,0);
m_couleurPion= VERT;
m_lettre= 'V';
break;
case JAUNE:
goToXY(14,9);
m_couleurPion= JAUNE;
m_lettre= 'J';
break;
default: std::cout << "Erreur lors du placement des pion." << std::endl; break;
}
}
Pion::Pion(Pion& copie)
{
m_caseCourante= copie.m_caseCourante;
m_nPion= copie.m_nPion;
m_couleurPion= copie.m_couleurPion;
m_position= copie.m_position;
m_solCase= copie.m_solCase;
m_dansLeBox= copie.m_dansLeBox;
m_arriver= copie.m_arriver;
m_lettre= copie.m_lettre;
}
Pion& Pion::operator=(const Pion& copie)
{
if(&copie != this)
{
m_caseCourante= copie.m_caseCourante;
m_nPion= copie.m_nPion;
m_couleurPion= copie.m_couleurPion;
m_position= copie.m_position;
m_solCase= copie.m_solCase;
m_dansLeBox= copie.m_dansLeBox;
m_arriver= copie.m_arriver;
m_lettre= copie.m_lettre;
}
return *this;
}
Pion::~Pion()
{
//dtor
}
void Pion::deplacer() //Fais avancer le pion sur le chemin de la victoire
{
m_caseCourante++;
}
void Pion::goToXY(Coordonnes coord) //Deplace virtuelement le pion au coordonees
{
m_position.first= coord.first;
m_position.second= coord.second;
}
void Pion::goToXY(int x, int y)
{
m_position.first= x;
m_position.second= y;
}
void Pion::memoireCaseSol(Case &sol) //Enregistre le symbole sous le cheval
{
m_solCase=sol.getType();
}
void Pion::rentrer()
{
m_caseCourante= -1;
m_dansLeBox= true;
switch(m_couleurPion)
{
case ROUGE:
goToXY(5,14);
break;
case BLEU:
goToXY(0,5);
break;
case VERT:
goToXY(9,0);
break;
case JAUNE:
goToXY(14,9);
break;
default: std::cout << "Erreur lors du placement des pion." << std::endl; break;
}
}