Jeu de pendu
Post by Adalard Dranem A.K, OdS - November 2, 2011 at 8:46 PM
Tiens parce que je n'ai rien à faire actuellement. Je vais vous montrer le premier programme que j'ai fais alors que je ne connaissais pas encore la programmation par objet ! Je regarde la prog de ça et sa me fait rire, mais bon.. (Oui, chacun son humour !)
Je vous enverrais l'exécutable quand je saurai comment le rendre téléchargeable sur le net, c'est amusant comme jeu de bonhomme pendu quand même.
Option Strict On
Option Explicit On
Imports System.Console
Public Class Form1
Private alphabet() As String = {"hello", "palindrome", "tiroir", "valise", "marathon", "habitation", "corbeille"}
Private secret, motConstruit As String
Private Sub lettres(ByVal lettre As String) 'Fonction qui permet de remplacer la lettre à la bonne position dans les tirets.
Dim string1 As String = "" 'Elle permet aussi de le faire plusieurs fois, s'il y a lieu qu'une lettre y soit plus qu'une fois.
Dim string2 As String = ""
Dim vraifaux As Boolean
If secret = "" Then 'Si il tente une lettre avant de commencer une partie = erreur.
MsgBox("Erreur, vous devez commencer une partie.", , "Erreur")
Else
If Not TxtMotConstruit.Text.Contains(lettre) Then 'Si le mot ne contient pas déjà la lettre, il effectue la fonction.
For bahaha = 0 To secret.Length - 1
If motConstruit(bahaha) = "-" Then 'La fonction enlèvera tout, puis pour chaque position vérifiera si c'est la lettre..
If secret(bahaha) = lettre Then 'Si ce ne l'est pas, elle mettra un tiret.
string1 = string1 + lettre 'Si ce l'est, elle mettra ladite lettre.
vraifaux = True
Else
string1 = string1 + "-"
End If
Else
string1 = string1 + motConstruit(bahaha)
End If
TxtMotConstruit.Text = string1
Next
End If
If vraifaux = False Then 'Si la fonction voulu ne s'est pas executé, c'est qu'il y avait une erreur, toutes les options d'erreurs sont là.
If TxtNonContenu.Text.Contains(lettre) Then 'Si la lettre fut déjà essayé et n'est pas dans le mot.
MsgBox("Vous avez déjà essayé la lettre " & lettre, , "Erreur")
Else
If TxtMotConstruit.Text.Contains(lettre) Then 'Si la lettre fut déjà essayé et est dans le mot.
MsgBox("Vous avez déjà essayé la lettre " & lettre & ", elle est dans le mot.", , "Erreur")
Else
TxtNonContenu.Text = TxtNonContenu.Text + lettre 'Si aucune erreur n'avait lieu, mais que la fonction a mi vraifaux à False.. alors..
End If 'C'est que la lettre n'avait jamais été choisie, mais n'est pas dans le mot, donc on la met en bas.
End If
End If
'Cette partie permet d'informer l'utilisateur qu'il a réussit, lorsque tout le mot fut finalement construit.
string2 = TxtMotConstruit.Text
motConstruit = string2
If motConstruit = secret Then
MsgBox("Bravo, vous avez réussi !", , "Victoire")
End If
End If
End Sub
Function containslol(ByVal one As String) As Boolean 'Fonction qui permet de savoir si le mot ne contient que des lettres.
Dim bravo As Integer
Dim alphabetDeux() As String = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"}
For lolDeux = 0 To one.Length - 1
For lolUn = 0 To 25
If one.ToLower.Substring(lolDeux, 1) = alphabetDeux(lolUn) Then
bravo = bravo + 1
End If
Next
Next
If bravo = one.Length Then
Return True
Else
Return False
End If
End Function
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Randomize()
secret = ""
End Sub
Private Sub TxtMotConstruit_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TxtMotConstruit.TextChanged
End Sub
Private Sub BtnCommence_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCommence.Click
TxtNonContenu.Text = "" 'Afin que le texte en bas disparaisse à chaque nouvelle partie.
'Partie à deux:
TxtMotConstruit.Text = ""
Dim a As Integer
Dim s As String = ""
Dim erreur2 As Integer = 1
For erreur2 = 0 To 10
If optDeux.Checked Then
secret = InputBox("Entrez le mot secret avec lequel vous jouerez: ", , "Mot secret")
If (containslol(secret)) = False Then 'Si il entre des chiffres, ou autres caractères ascii
MsgBox("Votre mot doit contenir que des lettres, entrez un autre mot", , "Erreur")
erreur2 = erreur2 - 1 'Pour que la boucle, boucle tant qu'il y a une erreur.
Else
erreur2 = erreur2 + 10 'Pour sortir de la boucle, quand il n'y a pas d'erreur.
End If
For i = 1 To secret.Length
TxtMotConstruit.Text = TxtMotConstruit.Text + ("-") 'Pour afficher les tirets selon le nombre de lettre.
Next
End If
Next
'-------------------------------------------------------------------------------------------------------------------------------
'Pour partie solo:
If OptUn.Checked Then
a = CInt(Math.Floor(((alphabet.Length - 1) - 0 + 1) * Rnd())) + 0 'Définit une valeur aléatoire, selon le nombre d'indice dans le tableau.
secret = alphabet(a) 'Appel cette valeur aléatoire la correspondance de la position du tableau.
For i = 1 To secret.Length
TxtMotConstruit.Text = TxtMotConstruit.Text + ("-") 'Pour les tirets.
Next
End If
motConstruit = TxtMotConstruit.Text
secret = secret.ToLower
End Sub
Private Sub optA_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles optA.CheckedChanged
If optA.Checked Then
lettres("a")
End If
End Sub
Private Sub optB_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles optB.CheckedChanged
If optB.Checked Then
lettres("b")
End If
End Sub
Private Sub optC_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles optC.CheckedChanged
If optC.Checked Then
lettres("c")
End If
End Sub
Private Sub optD_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles optD.CheckedChanged
If optD.Checked Then
lettres("d")
End If
End Sub
Private Sub optE_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles optE.CheckedChanged
If optE.Checked Then
lettres("e")
End If
End Sub
Private Sub optF_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles optF.CheckedChanged
If optF.Checked Then
lettres("f")
End If
End Sub
Private Sub optG_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles optG.CheckedChanged
If optG.Checked Then
lettres("g")
End If
End Sub
Private Sub optH_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles optH.CheckedChanged
If optH.Checked Then
lettres("h")
End If
End Sub
Private Sub optI_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles optI.CheckedChanged
If optI.Checked Then
lettres("i")
End If
End Sub
Private Sub optJ_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles optJ.CheckedChanged
If optJ.Checked Then
lettres("j")
End If
End Sub
Private Sub optK_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles optK.CheckedChanged
If optK.Checked Then
lettres("k")
End If
End Sub
Private Sub optL_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles optL.CheckedChanged
If optL.Checked Then
lettres("l")
End If
End Sub
Private Sub optM_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles optM.CheckedChanged
If optM.Checked Then
lettres("m")
End If
End Sub
Private Sub optN_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles optN.CheckedChanged
If optN.Checked Then
lettres("n")
End If
End Sub
Private Sub optO_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles optO.CheckedChanged
If optO.Checked Then
lettres("o")
End If
End Sub
Private Sub optP_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles optP.CheckedChanged
If optP.Checked Then
lettres("p")
End If
End Sub
Private Sub optQ_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles optQ.CheckedChanged
If optQ.Checked Then
lettres("q")
End If
End Sub
Private Sub optR_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles optR.CheckedChanged
If optR.Checked Then
lettres("r")
End If
End Sub
Private Sub optS_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles optS.CheckedChanged
If optS.Checked Then
lettres("s")
End If
End Sub
Private Sub optT_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles optT.CheckedChanged
If optT.Checked Then
lettres("t")
End If
End Sub
Private Sub optU_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles optU.CheckedChanged
If optU.Checked Then
lettres("u")
End If
End Sub
Private Sub optV_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles optV.CheckedChanged
If optV.Checked Then
lettres("v")
End If
End Sub
Private Sub optW_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles optW.CheckedChanged
If optW.Checked Then
lettres("w")
End If
End Sub
Private Sub optX_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles optX.CheckedChanged
If optX.Checked Then
lettres("x")
End If
End Sub
Private Sub optY_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles optY.CheckedChanged
If optY.Checked Then
lettres("y")
End If
End Sub
Private Sub optZ_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles optZ.CheckedChanged
If optZ.Checked Then
lettres("z")
End If
End Sub
End Class
Post by Phydias Shaytan, CP - November 3, 2011 at 12:28 AM
VB.Net
Post by Asphaar Meliamne, AdM - November 3, 2011 at 12:53 AM
Ça l'air génial Adalard Dranem!
Post by Coordinateur Apoc - November 3, 2011 at 1:02 AM
Ah VB, ca me rend nostalgique, sauf que moi c'était sur VB6 avant que le .net existe...
Post by Adalard Dranem A.K, OdS - November 3, 2011 at 6:20 AM
Ouais depuis que j'ai découvert C# et Java, j'ai développé un certain mépris pour VB.Net moi ! Mais avec VB6 tu avais aussi les ressources de la plateforme windows Apoc ? C'était du langage machine, dans ce temps là...! =P
Et merci Asphaar !
Post by Coordinateur Apoc - November 3, 2011 at 6:31 AM
Pour rendre des truc téléchargable, j'avais trouvé ce site, c'est un peu compliqué au début mais une fois bien comprit c'est facile et rapide.
http://www.mediafire.com/Puis de ce que je vois, Vb6 et Vb.net sont pratiquement pareil. Les quelques différences sont dans le compilateur surement car côté code c'est pas mal pareil.
Post by Sarä Taur'Amandil, OdS - November 3, 2011 at 6:36 AM
Le C#...
Je pensais jamais trouver un jour un truc dans lequel je serais aussi mauvaise et pathétique. Deux cours de ça au cégep et je me demande encore comment j'ai pu les réussir.