Le principe de ce jeu est simple : frapper l'araignée autant de fois que possible pour récolter le max de points.
De nouvelles choses ont été mises au point :
- On voit l'heure
- On peut mettre pause
- La form ne se charge que si l'heure est à moins de 30 secondes, sinon, une form de chargement s'affiche à la place, jusqu'à ce que les secondes soient à 00
- Le changement de niveau s'affiche
Il y a juste la capture qui n'est pas d'actualité.
Source / Exemple :
'code de la form de jeu SEULEMENT
'Tous les labels sont cachés
'Certains timers ne sont pas activés
'Enjoy ;)
Private Sub Arachnide_Click()
'Si on clique sur l'araignée,
'On la cache temporairement
Arachnide.Visible = False
'Puis on détermine le score
'j'ai donné un score aléatoire, pour que ce ne soit pas fixe
Score = Score + Int(Rnd * 26)
End Sub
Private Sub Arachnide_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
'Si on appuie sur le bouton gauche de la souris,
'(la souris est au-dessus de l'araignée)
'On change de curseur
'Le curseur se trouve dans la form des scores
Arachnide.MouseIcon = Scores.toc2.Picture
End Sub
Private Sub Arachnide_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
'Si le bouton de la souris est relâché,
'Mais que la souris est toujours au-dessus de l'araignée,
'Alors on change de curseur (qui est aussi dans la form des scores)
Arachnide.MouseIcon = Scores.toc.Picture
End Sub
Private Sub Best_score_Click()
'on annonce que l'affichage de la form est volontaire
Scores.Fonction = "0"
'puis on affiche la form des scores
Scores.Show
End Sub
Private Sub Form_Load()
'on met le score de départ
'c'est logiquement 0 ;)
Score = "0"
'On écrit le temps dans un label (pour déterminer le niveau et le
'temps de jeu
Temps = Time$
'On écrit le temps passé dans le jeu
'Je mets -1, car ça ajoute 1 une fois la form chargée (à cause du temps)
Minutes = "0"
'Si le fichier qui contient le nombre de scores contenus dans
'la liste des scores n'est pas vide,
If App.Path & "\list.txt" <> vbNullString Then
'Alors on l'ouvre
Open App.Path & "\list.txt" For Input As #1
'While not EOF est indispensable à l'utilisation de input
While Not EOF(1)
Input #1, temp
'Puis on le met dans un label
temp = Scores.nb_scores
'Wend donne la fin de While not
Wend
'On ferme
Close #1
Else
'On met fin à la fonction
End If
End Sub
Private Sub Put_off_temp_Click()
'Si on clique sur le bouton qui doit mettre pause,
'Si le label qui affiche que le jeu est en pause est invisible,
If Pause.Visible = False Then
'alors on active le timer3 (qui va mettre la pause)
Timer3.Enabled = True
'sinon,
Else
'Si le label est visible,
If Pause.Visible = True Then
'on désactive le timer3
Timer3.Enabled = False
'on cache le label
Pause.Visible = False
'on affiche l'araignée
Arachnide.Visible = True
'on réactive les timer1 et timer2
Timer1.Enabled = True
Timer2.Enabled = True
End If
End If
End Sub
Private Sub Quit_Click()
'Si on veut quitter,
'Alors on met fin au programme
End
End Sub
Private Sub Replay_Click()
'Si on clique sur recommencer,
'Alors on désactive le timer1
Timer1.Enabled = False
'On cache l'araignée
Arachnide.Visible = False
'On décharge la feuille
Unload Me
'et on montre la feuille de debut (qui initialise tout).
begin.Show
End Sub
Private Sub Show_level_Change()
Timer4.Enabled = True
End Sub
Private Sub Timer1_Timer()
'Voilà le timer responsable des mouvement de l'araignée
'On cache le niveau
'On génère un nombre aléatoire entre 1 et 9
'On met la fonction randomize pour que ce ne soit jamais les mêmes nombres générés
'(il faut bien que ça change ;)...)
Randomize
nombre = Int((Rnd * 9) + 1)
'Puis on lance la fonction qui va faire bouger l'araignée
Select Case nombre 'On sélectionne le nombre généré
Case 1 'Si il est égal à 1
'on positionne l'araignée au même endroit que le label1
Arachnide.Left = Label1.Left
Arachnide.Top = Label1.Top
Case 2 'Si il est égal à 2
'on positionne l'araignée au même endroit que le label2
Arachnide.Left = Label2.Left
Arachnide.Top = Label2.Top
Case 3 'Si il est égal à 3
'on positionne l'araignée au même endroit que le label3
Arachnide.Left = Label3.Left
Arachnide.Top = Label3.Top
Case 4 'Si il est égal à 4
'on positionne l'araignée au même endroit que le label4
Arachnide.Left = Label4.Left
Arachnide.Top = Label4.Top
Case 5 'Si il est égal à 5
'on positionne l'araignée au même endroit que le label15
Arachnide.Left = Label5.Left
Arachnide.Top = Label5.Top
Case 6 'Si il est égal à 6
'on positionne l'araignée au même endroit que le label6
Arachnide.Left = Label6.Left
Arachnide.Top = Label6.Top
Case 7 'Si il est égal à 7
'on positionne l'araignée au même endroit que le label7
Arachnide.Left = Label7.Left
Arachnide.Top = Label7.Top
Case 8 'Si il est égal à 8
'on positionne l'araignée au même endroit que le label8
Arachnide.Left = Label8.Left
Arachnide.Top = Label8.Top
Case 9 'Si il est égal à 9
'on positionne l'araignée au même endroit que le label9
Arachnide.Left = Label9.Left
Arachnide.Top = Label9.Top
End Select
'Puis on définit la vitesse du mouvement de l'araignée
'(en changeant l'intervalle du timer)
'l'intervalle du timer = la valeur du label qui a été fait en fonction
'du mode de difficulté
Timer1.Interval = Intervalle.Caption
'Puis on montre l'araignée
Arachnide.Visible = True
End Sub
Private Sub Timer2_Timer()
'on affiche l'heure actuelle dans un label
Heure = Time$
'on cache le niveau (au cas où...)
'Si les minutes du label(dynamique) = les minutes de l'autre label(fixe)
'+ le temps passé dans le jeu
'(ça calcule donc le temps passé en fonction de l'heure actuelle
'et de l'heure à laquelle la form s'est chargée)
If Minute(Heure) = Minute(Temps) + Minutes Then
'Alors, il y a 1 minute en +
Minutes = Minutes + 1
'le niveau augmente donc d'1 cran
Level_number = Level_number + 1
'on désactive le timer1
Timer1.Enabled = False
'on cache l'araignée
Arachnide.Visible = False
'puis on active le timer4
'(ça permet d'afficher le niveau)
Timer4.Enabled = True
'on le désactive
Timer4.Enabled = False
'puis on cache le niveau
Niveau.Visible = False
'on réactive les 2 timers
Timer1.Enabled = True
Timer2.Enabled = True
'puis on montre l'araignée
Arachnide.Visible = True
End If
'Si le temps passé dans le jeu est de 10 minutes,
If Minutes = 10 Then
'Alors on annonce la fin du jeu
MsgBox "Vous êtes arrivé au niveau 10, le jeu se termine là !", vbOKOnly, "Arachnicide"
nom_joueur = InputBox("Quel est votre nom ?", "Arachnicide - Nom du joueur")
'On mémorise le nom du joueur qui a fait le score
'puis on ajoute le score et le nom du joueur dans la liste des scores
Scores.List1.AddItem (nom_joueur & " - " & Score)
'Si le nombre de scores est null, alors il égale 0
If Scores.nb_scores = vbNullString Then Scores.nb_scores = "0"
'le score monte d'1 cran (car on vient d'en ajouter 1)
Scores.nb_scores = Scores.nb_scores + 1
'On cache la form
Unload Me
'Puis on détermine que la feuille des scores n'a pas été lancé
'volontairement
Scores.Fonction = "1"
'On affiche la feuille des scores
Scores.Show
End If
End Sub
Private Sub Timer3_Timer()
'Voici le timer qui permet de mettre pause
'on désactive les timer1 et timer2
Timer1.Enabled = False
Timer2.Enabled = False
'on cache l'araignée (pour éviter la triche)
Arachnide.Visible = False
'On montre le label qui affiche pause
Pause.Visible = True
End Sub
Private Sub Timer4_Timer()
'Voici le timer qui permet d'afficher le niveau actuel
'on remet l'intervalle par défaut
Timer4.Interval = "1"
'on désactive le timer1
Timer1.Enabled = False
'on cache l'araignée
Arachnide.Visible = False
'on détermine le texte label qui affiche le niveau actuel
'(Niveau + " n°_du_niveau")
Niveau = "Niveau " + Level_number
'on change d'intervalle
Timer4.Interval = "1000"
'on affiche le niveau
Niveau.Visible = True
'on désactive ce timer
Timer4.Enabled = False
'on active le timer1
Timer1.Enabled = True
End Sub
Private Sub Timer5_Timer()
'on garde le niveau à jour
Show_level = "Niveau " + Level_number
End Sub
Private Sub Timer6_Timer()
'pour des raisons de sécurité,
'si le timer1 est activé, alors le niveau ne s'affiche pas
If Timer1.Enabled = True Then Niveau.Visible = False
End Sub
Conclusion :
Voilà, j'ai mis à jour, et tout est parfaitement détaillé, du moins, je l'espère...
J'e m'y suis mis un bon moment pour régler quelques problèmes que j'ai résolu, puis j'en ai profité pour ajouter des options.
Si toutefois vous ne comprenez pas, ou si vous avez un quelconque problème, n'hésitez pas, soit laissez un message sur le forum, soit envoyez-moi un e-mail.
Merci, @+ et bonne prog ;)
Sharky
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.