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)