-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChoixAttaque.cpp
87 lines (80 loc) · 3.18 KB
/
ChoixAttaque.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
/****************************************************************************
* Fichier: ChoixAttaque.cpp
* Auteur: Alexandre Mao
* Date: 15 novembre 2016
* Mise à jour: 17 juin 2019 par Anass Bahir <anass.bahir@polymtl.ca> et Haroun Khalfi <haroun.khalfi@polymtl.ca>
* Description: Implementation de la classe ChoixAttaque
****************************************************************************/
#include "ChoixAttaque.h"
ChoixAttaque::ChoixAttaque(QWidget *parent) : QWidget(parent)
{
//Creation des differents boutons d'attaques
attaque1_ = new QPushButton("Attaque 1", this);
attaque2_ = new QPushButton("Attaque 2", this);
attaque3_ = new QPushButton("Attaque 3", this);
attaque4_ = new QPushButton("Attaque 4", this);
// Layout principal du Widget
//!!!!!! A COMPLETER !!!!!!
QGridLayout* layout= new QGridLayout();
layout->addWidget(attaque1_,0,0);
layout->addWidget(attaque2_,0,1);
layout->addWidget(attaque3_,1,0);
layout->addWidget(attaque4_,1,1);
//Vous devez creer un gridLayout et y placer les differents boutons
//N'oubliez pas de mettre en place le layout sur le widget
this->setLayout(layout);
masquerAttaques();
}
void ChoixAttaque::afficherAttaques(){
//Cette methode affiche et desactive les boutons d'attaques
attaque1_->show();
attaque1_->setDisabled(true);
attaque2_->show();
attaque2_->setDisabled(true);
attaque3_->show();
attaque3_->setDisabled(true);
attaque4_->show();
attaque4_->setDisabled(true);
}
void ChoixAttaque::masquerAttaques(){
//Cette methode masque les boutons d'attaques
attaque1_->hide();
attaque2_->hide();
attaque3_->hide();
attaque4_->hide();
}
void ChoixAttaque::afficherAttaques(Creature* creature){
//Cette methode va afficher les boutons en fonction des attaques de la creature passee en parametre
if(creature->obtenirPouvoirs().size() > 0){
attaque1_->show();
attaque1_->setText(QString::fromStdString(creature->obtenirPouvoirs()[0]->obtenirNom()));
attaque1_->setEnabled(true);
}else{
attaque1_->setText("Attaque non disponible");
attaque1_->setDisabled(true);
}
if(creature->obtenirPouvoirs().size() > 1){
attaque2_->show();
attaque2_->setText(QString::fromStdString(creature->obtenirPouvoirs()[1]->obtenirNom()));
attaque2_->setEnabled(true);
}else{
attaque2_->setText("Attaque non disponible");
attaque2_->setDisabled(true);
}
if(creature->obtenirPouvoirs().size() > 2){
attaque3_->show();
attaque3_->setText(QString::fromStdString(creature->obtenirPouvoirs()[2]->obtenirNom()));
attaque3_->setEnabled(true);
}else{
attaque3_->setText("Attaque non disponible");
attaque3_->setDisabled(true);
}
if(creature->obtenirPouvoirs().size() > 3){
attaque4_->show();
attaque4_->setText(QString::fromStdString(creature->obtenirPouvoirs()[3]->obtenirNom()));
attaque4_->setEnabled(true);
}else{
attaque4_->setText("Attaque non disponible");
attaque4_->setDisabled(true);
}
}