Jeu de pendu, à la fine pointe de la technologie! En effet, une première pour D.R.E.A.M.© et certainement pas une dernière, ce jeu de pendu a été programmé sous Visual Studio 2005, utilisant la nouvelle technologie que personne ne possède(incluse dans l'installation du jeu), il sagit de .Net Framework 2.0! Imaginez, environ 75% des utilisateurs de windows n'avaient même pas la version 1.1 requise pour les programmes fait sous Visual Studio 2003. Peu importe, Ce jeu est pour moi une énorme réuissite car j'ai énormément joué avec les controlles systèmes. J'aurais pu faire un mode ultimatum qui aurait fermer votre ordinateur à la première erreur mais ça aurais été un peu chien! Donc voici pour vous, un jeu de pendu de 50 mots pigés au hasard dans le dictionaire.
Source / Exemple :
' --------------------------------------------------
'|**************************************************|
'|**************Ultimate Pendu 1.9.46***************|
'|*************Par Marc-André Chartrand*************|
'|********Questions, ThePunisher713@gmail.com*******|
'|*****************D.R.E.A.M.© 2005*****************|
'|**************************************************|
' --------------------------------------------------
Imports Microsoft.VisualBasic
Public Class Form1
Inherits System.Windows.Forms.Form
Private lettre, deviner, Mots(50), LeMot, cases(18), nom, Scores(100), AvantS, AprèsS As String
Private nb, nombre, essais, nbchars, i, position, Quitter, victoire, Score, Hs As Integer
Private chiffres(50), flash, rate(1), son, image, loaded, fin, saved, wrote As Boolean
+ Windows Form Designer generated code
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
lettre = Chr(65)
Button2.Enabled = False
charche()
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
lettre = Chr(66)
Button3.Enabled = False
charche()
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
lettre = Chr(67)
Button4.Enabled = False
charche()
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
lettre = Chr(68)
Button5.Enabled = False
charche()
End Sub
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
lettre = Chr(69)
Button6.Enabled = False
charche()
End Sub
Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
lettre = Chr(70)
Button7.Enabled = False
charche()
End Sub
Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
lettre = Chr(71)
Button8.Enabled = False
charche()
End Sub
Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click
lettre = Chr(72)
Button9.Enabled = False
charche()
End Sub
Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click
lettre = Chr(73)
Button10.Enabled = False
charche()
End Sub
Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click
lettre = Chr(74)
Button11.Enabled = False
charche()
End Sub
Private Sub Button12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button12.Click
lettre = Chr(75)
Button12.Enabled = False
charche()
End Sub
Private Sub Button13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button13.Click
lettre = Chr(76)
Button13.Enabled = False
charche()
End Sub
Private Sub Button14_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button14.Click
lettre = Chr(77)
Button14.Enabled = False
charche()
End Sub
Private Sub Button15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button15.Click
lettre = Chr(78)
Button15.Enabled = False
charche()
End Sub
Private Sub Button16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button16.Click
lettre = Chr(79)
Button16.Enabled = False
charche()
End Sub
Private Sub Button17_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button17.Click
lettre = Chr(80)
Button17.Enabled = False
charche()
End Sub
Private Sub Button18_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button18.Click
lettre = Chr(81)
Button18.Enabled = False
charche()
End Sub
Private Sub Button19_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button19.Click
lettre = Chr(82)
Button19.Enabled = False
charche()
End Sub
Private Sub Button20_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button20.Click
lettre = Chr(83)
Button20.Enabled = False
charche()
End Sub
Private Sub Button21_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button21.Click
lettre = Chr(84)
Button21.Enabled = False
charche()
End Sub
Private Sub Button22_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button22.Click
lettre = Chr(85)
Button22.Enabled = False
charche()
End Sub
Private Sub Button23_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button23.Click
lettre = Chr(86)
Button23.Enabled = False
charche()
End Sub
Private Sub Button24_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button24.Click
lettre = Chr(87)
Button24.Enabled = False
charche()
End Sub
Private Sub Button25_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button25.Click
lettre = Chr(88)
Button25.Enabled = False
charche()
End Sub
Private Sub Button26_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button26.Click
lettre = Chr(89)
Button26.Enabled = False
charche()
End Sub
Private Sub Button27_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button27.Click
lettre = Chr(90)
Button27.Enabled = False
charche()
End Sub
Private Sub Button28_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button28.Click
deviner = InputBox("Vous savez la réponse? entrez-la ici!", "Entrez le mot").ToUpper
If deviner = LeMot Then
MsgBox("Bonne réponse, on passe au suivant?", MsgBoxStyle.OkOnly, "Woaw!! Géant!!!!!")
Score += 5
reset()
Exit Sub
Else
Timer2.Enabled = False
montre_pendu()
End If
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Timer1.Enabled = False
GroupBox1.Visible = True
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.Sizable
Me.WindowState = FormWindowState.Normal
PictureBox2.Visible = False
Me.Width = 568
Me.Height = 664
MenuStrip1.Visible = True
MsgBox("La Réponse était : " + LeMot)
reset()
End Sub
Public Sub montre_pendu()
If image = True Then
Timer1.Enabled = True
GroupBox1.Visible = False
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None
Me.WindowState = FormWindowState.Maximized
PictureBox2.Size = Me.Size
PictureBox2.Visible = True
MenuStrip1.Visible = False
If son = True Then
My.Computer.Audio.Play(Application.StartupPath + "\hal-scream.wav")
End If
Else
MsgBox("La Réponse était : " + LeMot)
reset()
End If
End Sub
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
If saved = False Then
Quitter = MsgBox("Désirez-Vous Sauvegarder Avant de Quitter?", MsgBoxStyle.YesNoCancel, "Avant de quitter...")
Select Case Quitter
Case 6
Sauvegarde()
End
Case 7
End
End Select
Else
End
End If
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
On Error GoTo Nofile
Microsoft.VisualBasic.FileOpen(1, Application.StartupPath + "\Pendu.dll", OpenMode.Input, OpenAccess.Read, OpenShare.Default)
GoTo filefound
Nofile:
MsgBox("fichier non trouvé", MsgBoxStyle.Critical, "Erreur")
Open1.ShowDialog()
Dim FileName As String
FileName = Open1.FileName
Microsoft.VisualBasic.FileOpen(1, FileName, OpenMode.Input, OpenAccess.Read, OpenShare.Default)
filefound:
Do Until EOF(1)
nb += 1
Input(1, Mots(nb))
Loop
Microsoft.VisualBasic.FileClose()
nombre = 0
rate(1) = True
rate(0) = False
victoire = 0
Score = 0
son = True
image = True
GroupBox1.Enabled = False
SauvegarderToolStripMenuItem.Enabled = False
saved = True
Hs = 0
Readhighscore()
Dim form2 As New Form2
End Sub
Public Sub charche()
For i = 1 To nbchars
If lettre = Mid(LeMot, i, 1) Then
Mid(Label19.Text, (i * 2) - 1, 1) = lettre
rate(1) = False
rate(0) = False
Else
If rate(1) = True Then
rate(0) = True
End If
End If
If (Mid(Label19.Text, (i * 2) - 1, 1)) = (Mid(LeMot, i, 1)) Then
victoire += 1
If victoire = nbchars Then
MsgBox("Bonne réponse, on passe au suivant?", MsgBoxStyle.OkOnly, "Woaw!! Géant!!!!!")
Score += 1
reset()
Exit Sub
End If
Else
victoire = 0
End If
Next
If rate(0) = True Then
If essais = 0 Then
essais += 1
End If
Select Case essais
Case 1
Pb3.Visible = True
If rate(0) = True Then
essais += 1
End If
Case 2
Pb4.Visible = True
If rate(0) = True Then
essais += 1
End If
Case 3
Pb7.Visible = True
If rate(0) = True Then
essais += 1
End If
Case 4
Pb5.Visible = True
If rate(0) = True Then
essais += 1
End If
Case 5
Pb8.Visible = True
If rate(0) = True Then
essais += 1
End If
Case 6
Pb6.Visible = True
Timer2.Enabled = True
If rate(0) = True Then
essais += 1
End If
Case 7
Timer2.Enabled = False
montre_pendu()
End Select
End If
rate(1) = True
rate(0) = False
If essais = 0 Then
ProgressBar1.Value = essais
Else
ProgressBar1.Value = essais - 1
End If
End Sub
Public Sub newmot()
chiffres(nombre) = False
For i = 1 To 500
Randomize()
nombre = CInt(Int((50 * Rnd()) + 1))
If chiffres(nombre) = True Then
Exit For
End If
If i = 500 Then
MsgBox("Partie Terminée,Votre Score Final Est De " + Str(Score), MsgBoxStyle.OkOnly, "Fini")
fin = True
Sauvegarde()
SetHighscore()
Form2.Show()
Exit Sub
End If
Next
LeMot = Mots(nombre)
nbchars = LeMot.Length
Label19.Text = ""
For i = 1 To nbchars
cases(i) = Mid(LeMot, i, 1)
Label19.Text += "_" + " "
Next
End Sub
Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
If flash = True Then
Pb3.Visible = False
Pb4.Visible = False
Pb5.Visible = False
Pb6.Visible = False
Pb7.Visible = False
Pb8.Visible = False
flash = False
Exit Sub
End If
If flash = False Then
Pb3.Visible = 1
Pb4.Visible = 1
Pb5.Visible = 1
Pb6.Visible = 1
Pb7.Visible = 1
Pb8.Visible = 1
flash = 1
Exit Sub
End If
End Sub
Public Sub reset()
Pb3.Visible = False
Pb4.Visible = False
Pb5.Visible = False
Pb6.Visible = False
Pb7.Visible = False
Pb8.Visible = False
flash = False
LeMot = ""
newmot()
essais = 0
rate(1) = True
rate(0) = False
victoire = 0
Timer2.Enabled = False
Button2.Enabled = True
Button3.Enabled = True
Button4.Enabled = True
Button5.Enabled = True
Button6.Enabled = True
Button7.Enabled = True
Button8.Enabled = True
Button9.Enabled = True
Button10.Enabled = True
Button11.Enabled = True
Button12.Enabled = True
Button13.Enabled = True
Button14.Enabled = True
Button15.Enabled = True
Button16.Enabled = True
Button17.Enabled = True
Button18.Enabled = True
Button19.Enabled = True
Button20.Enabled = True
Button21.Enabled = True
Button22.Enabled = True
Button23.Enabled = True
Button24.Enabled = True
Button25.Enabled = True
Button26.Enabled = True
Button27.Enabled = True
Button28.Enabled = True
ProgressBar1.Value = 0
Label1.Text = "Score : " + Str(Score)
SauvegarderToolStripMenuItem.Enabled = True
saved = False
End Sub
Private Sub NouvellePartieToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NouvellePartieToolStripMenuItem.Click
nom = InputBox("Entrez votre nom", "Identifiez-Vous", "Joueur1")
If nom = "" Then
Exit Sub
End If
GroupBox1.Enabled = True
Label3.Text = "Bienvenue," + nom
For nombre = 1 To 50
chiffres(nombre) = True
Next
nombre = 0
reset()
Score = 0
newmot()
rate(1) = True
rate(0) = False
victoire = 0
Score = 0
fin = False
Label1.Text = "Score : " + Str(Score)
son = True
image = True
End Sub
Public Sub Sauvegarde()
FileOpen(2, Application.StartupPath + "\Saves\" + nom + ".sav", OpenMode.Output, OpenAccess.Write, OpenShare.Default)
Dim word As Integer
For word = 1 To 50
Print(2, Str(chiffres(word)) & vbCrLf)
Next
Print(2, Score & vbCrLf)
Print(2, image & vbCrLf)
Print(2, son & vbCrLf)
Print(2, nom & vbCrLf)
Print(2, fin & vbCrLf)
FileClose()
saved = True
End Sub
Private Sub SauvegarderToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SauvegarderToolStripMenuItem.Click
Sauvegarde()
End Sub
Private Sub ActiverToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ActiverToolStripMenuItem.Click
'Active le son du pendu
son = True
ActiverToolStripMenuItem.Checked = True
DésactiverToolStripMenuItem.Checked = False
End Sub
Private Sub DésactiverToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DésactiverToolStripMenuItem.Click
'désactive le son su pendu
son = False
DésactiverToolStripMenuItem.Checked = True
ActiverToolStripMenuItem.Checked = False
End Sub
Private Sub ActiverToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ActiverToolStripMenuItem1.Click
'Affiche L'image du pendu à chaque mot raté
image = True
ActiverToolStripMenuItem1.Checked = True
DésactiverToolStripMenuItem1.Checked = False
End Sub
Private Sub DésactiverToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DésactiverToolStripMenuItem1.Click
'n'Affiche pas L'image du pendu à chaque mot raté
image = False
DésactiverToolStripMenuItem1.Checked = True
ActiverToolStripMenuItem1.Checked = False
End Sub
Private Sub QuitterToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles QuitterToolStripMenuItem.Click
'Charge la partie
Dim charge As Integer
OpenFileDialog1.FileName = ""
OpenFileDialog1.InitialDirectory = Application.StartupPath + "\Saves\"
OpenFileDialog1.ShowDialog()
If OpenFileDialog1.FileName = "" Then
Exit Sub
End If
FileOpen(2, OpenFileDialog1.FileName, OpenMode.Input, OpenAccess.Read, OpenShare.Default)
Do Until EOF(2)
charge += 1
Select Case charge
Case 51
Input(2, Score)
Case 1 To 50
Input(2, chiffres(charge))
Case 52
Input(2, image)
Case 53
Input(2, son)
Case 54
Input(2, nom)
Case 55
Input(2, fin)
Exit Do
End Select
Loop
If fin = True Then
MsgBox("Partie Déjà Terminée,Veuillez Recommencer Une Nouvelle Partie", MsgBoxStyle.OkOnly, "Fini")
FileClose()
Else
reset()
Label3.Text = "Bienvenue," + nom
FileClose()
GroupBox1.Enabled = True
SauvegarderToolStripMenuItem.Enabled = True
If image = True Then
ActiverToolStripMenuItem1.Checked = True
DésactiverToolStripMenuItem1.Checked = False
Else
DésactiverToolStripMenuItem1.Checked = True
ActiverToolStripMenuItem1.Checked = False
End If
If son = True Then
ActiverToolStripMenuItem.Checked = True
DésactiverToolStripMenuItem.Checked = False
Else
DésactiverToolStripMenuItem.Checked = True
ActiverToolStripMenuItem.Checked = False
End If
MsgBox("Partie Chargée correctement")
loaded = True
End If
End Sub
Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer3.Tick
If LeMot = "" Then
fin = True
End If
Timer3.Enabled = False
End Sub
Private Sub QuitterToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles QuitterToolStripMenuItem1.Click
If saved = False Then
Quitter = MsgBox("Désirez-Vous Sauvegarder Avant de Quitter?", MsgBoxStyle.YesNoCancel, "Avant de quitter...")
Select Case Quitter
Case 6
Sauvegarde()
End
Case 7
End
End Select
Else
End
End If
End Sub
Public Sub Readhighscore()
FileOpen(3, Application.StartupPath + "\Saves\High Scores.txt", OpenMode.Input, OpenAccess.Read, OpenShare.Default)
Do Until EOF(3)
Hs += 1
Input(3, Scores(Hs))
Loop
FileClose()
End Sub
Public Sub SetHighscore()
FileOpen(3, Application.StartupPath + "\Saves\High Scores.txt", OpenMode.Output, OpenAccess.Write, OpenShare.Default)
i = 0
Do Until i = Hs
i += 1
If Scores(1) = "" Then
AvantS = ""
AprèsS = ""
Exit Do
Else
If Score > Val(Mid(Scores(i), 1, 3)) Then
wrote = True
Else
If Scores(i + 1) = "" Then
AprèsS = ""
End If
End If
End If
If wrote = False Then
AvantS += Scores(i) & vbCrLf
Else
AprèsS += Scores(i) & vbCrLf
End If
Loop
Print(3, AvantS + Str(Score) + " " + nom & vbCrLf + AprèsS)
Hs = 0
i = 0
FileClose()
Readhighscore()
Sauvegarde()
AvantS = ""
AprèsS = ""
wrote = False
SauvegarderToolStripMenuItem.Enabled = False
GroupBox1.Enabled = False
End Sub
Private Sub Top5ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Top5ToolStripMenuItem.Click
Form2.toutlestop = 0
Form2.Show()
End Sub
Private Sub Top10ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Top10ToolStripMenuItem.Click
Form2.toutlestop = 1
Form2.Show()
End Sub
Private Sub ÀProposDeToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ÀProposDeToolStripMenuItem.Click
Form3.Show()
End Sub
Private Sub CommentJouerToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CommentJouerToolStripMenuItem.Click
System.Diagnostics.Process.Start(Application.StartupPath + "\README.TXT")
End Sub
End Class
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.