Bandit Manchot en C# et Windows Form - 04-14-2016

Transcription

Bandit Manchot en C# et Windows Form - 04-14-2016
Bandit Manchot en C# et Windows Form - 04-14-2016
Par DjezusKryst de FREEDOM SUBSTITUTE - http://www.freedom-substitute.fr
Bandit Manchot en C# et Windows Form
http://www.freedom-substitute.fr/programmation/bandit-manchot-c-windows-form/
Vous connaissez tous le principe du “Bandit Manchot” n’est-ce pas ? Un indice : Ce n’est ni un bandit,
ni un manchot au sens premiers des thermes !
Mais si, ce jeu ou vous devez trouver trois chiffres identiques pour obtenir le jackpot ! Et bien
aujourd’hui, vous allez apprendre à créer ce genre de jeu en Windows Form, autrement dis avec des
boutons, des images… ?
Pour ce cours, vous aurez besoin évidemment de Visual Studio et d’un nouveau projet en Windows
Form. Concernant l’apparence de votre fenêtre, nous n’allons pas nous attarder là dessus mais plutôt sur
le code qui est plus compliqué.
Si vous voulez un exemple de Form, voici celle de mon exemple :
En haut, un label pour le titre et des explications si on clique sur “Aidez moi…” en bas de la fenêtre, au
centre nos trois label qui génèrerons des chiffres aléatoires à chaque fois que l’ont clique sur le bouton
“Démarrer!!!” et deux images pour nous indiquer qu’on a gagné le jackpot de chaque côté !
1/5
Bandit Manchot en C# et Windows Form - 04-14-2016
Par DjezusKryst de FREEDOM SUBSTITUTE - http://www.freedom-substitute.fr
Générer des chiffres aléatoirement
Vous l’aurez compris, le cœur de ce programme tient sur la chance, autrement dit, nous devons pouvoir
générer des chiffres aléatoirement pour nos trois labels à chaque fois que l’on appuis sur démarrer.
Pour cela nous utiliserons la méthode “Random” :
Random Generator = new Random();
int num1 = Generator.Next(1, 8);
label2.Text = num1.ToString();
int num2 = Generator.Next(1, 8);
label3.Text = num2.ToString();
int num3 = Generator.Next(1, 8);
label4.Text = num3.ToString();
Ce code la instancie tout d’abord notre méthode Random que nous avons appelé “Generator”, elle nous
servira par la suite pour générer un chiffre entre x et y (1 et 7 ici car le dernier chiffre n’est pas pris en
compte).
Pour générer justement un chiffre aléatoirement à l’aide de notre méthode Random, il faut l’appeler de la
façon suivante :
int num1 = Generator.Next(1, 8);
Cela aura pour effet de générer un chiffre entre 1 et 7 pour notre variable num1 qui est ici du int puisque
nous utilisons des petits entiers.
Il suffit donc de faire ça avec nos deux autres variables qui nous servirons à changer nos labels :
int num2 = Generator.Next(1, 8);
label3.Text = num2.ToString();
int num3 = Generator.Next(1, 8);
label4.Text = num3.ToString();
Nous devons ici utiliser l’instruction “ToString” car un label utilise du texte et nous essayons de le
2/5
Bandit Manchot en C# et Windows Form - 04-14-2016
Par DjezusKryst de FREEDOM SUBSTITUTE - http://www.freedom-substitute.fr
changer en “int”, une conversion s’impose donc dans ce cas là.
Et voilà, arrivé la vous avez déjà réussi à générer des chiffres aléatoirement qui changent vos labels à
chaque clics ! Il reste une chose à faire : Les conditions.
Créer la condition
Pour savoir si on a gagné ou non, il faut vérifier chaque chiffres obtenus à chaque fois que l’on appuis sur
le bouton. Nous utiliserons donc une condition “if” qui se déclenchera à chaque fois que l’on générera
des chiffres aléatoires.
Par exemple pour vérifier si le chiffre sept est sorti trois fois il suffis de faire :
if (num1 == 7 && num2 == 7 && num3 == 7)
{
label1.Text = "C'est gagné !!!".ToString();
pictureBox2.Visible = true;
pictureBox1.Visible = true;
}
En gros, si on obtient sept sur nos trois label, on entre dans le if se qui à pour conséquence de changer
notre label qui contenait le titre en : “C’est gagné !!!” et d’afficher nos deux images “Jackpot”.
Mais à des fins de perfections, il est aussi possible d’utiliser un timer pour cacher de nouveau les images
au bout de 5 secondes par exemples…
Utiliser un timer
Afin de créer un timer, il suffis avant tout de le déplacer sur la form comme un bouton, de cliquer sur son
nom qui se situe sous votre form dans Visual Studio et enfin, vous aurez accès à ses propriétés dans la
3/5
Bandit Manchot en C# et Windows Form - 04-14-2016
Par DjezusKryst de FREEDOM SUBSTITUTE - http://www.freedom-substitute.fr
fenêtre de droite vous n’aurez plus qu’à choisir l’intervalle qui vous convient, 5 secondes étant ici 5000
ms.
Ensuite, double cliquez sur le nom de votre timer pour pouvoir entrer le code qui se déclenchera lorsque
nous déclencherons le timer dans notre condition, nous allons ici cacher les images au bout de 5 secondes
quand une personne aura touché le jackpot il suffis donc d’écrire :
private void timer1_Tick(object sender, EventArgs e)
{
pictureBox2.Visible = false;
pictureBox1.Visible = false;
timer1.Stop();
}
Évidemment il faut arrêter le timer sinon il n’arrêtera pas de cacher les images toutes les 5 secondes.
Enfin, il suffis juste de le déclencher lorsque la condition est vérifiée autrement dis, nous ajoutons juste à
notre if une ligne de code :
if (num1 == 7 && num2 == 7 && num3 == 7)
{
label1.Text = "C'est gagné !!!".ToString();
pictureBox2.Visible = true;
pictureBox1.Visible = true;
timer1.Enabled = true;
}
Et voilà, à chaque fois que vous gagnez, le timer se déclenchera ce qui aura pour effet de cacher à
nouveau les images !
Télécharger l’exemple
Télécharger
4/5
Bandit Manchot en C# et Windows Form - 04-14-2016
Par DjezusKryst de FREEDOM SUBSTITUTE - http://www.freedom-substitute.fr
_______________________________________________
FREEDOM SUBSTITUTE
5/5
Powered by TCPDF (www.tcpdf.org)

Documents pareils