CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[vb]Problème , aider moi .

thibdu71
thibdu71
Niveau 10
29 août 2005 à 21:25:42

Public VieB As Integer ´on déclare les variables
Public VieA As Integer ´on pourrait le faire dans un module
Public MagieB As Integer ´Mais je ne sais pas me servir d´un modules
Public MagieA As Integer
Public défendre As Integer

Private Sub attaque_KeyDown(KeyCode As Integer, Shift As Integer)
Label13.BorderStyle = 1
Label15.BorderStyle = 0
defend.SetFocus
End Sub

Private Sub attaque_KeyPress(KeyAscii As Integer)
If KeyAscii = 32 Then ´espace
VieB = VieB - Int((8 * Rnd) + 0) ´Ca enlève les points de vie a l´ennemie
Label5.Caption = VieB ´Rafraichit les point de vie visible
Frame1.Visible = True ´on change les décors pour que le joueurs sache
Frame2.Visible = False ´qu´il ne peut plus faire les actions
rien.SetFocus ´rechange le focus , pour pas que le joueurs puissent attaquer a l´infinie
Timer1.Interval = 3500 ´ben sinon il réataque plus ^^
End If
If VieB = 0 Or VieB < 0 Then ´quand la vie de votre adversaire = ou <0 ,
MsgBox "Félicitation !" ´Un message s´ouvre pour vous féliciter
End
End If
End Sub

Private Sub defend_KeyDown(KeyCode As Integer, Shift As Integer)
Label15.BorderStyle = 1
Label16.BorderStyle = 0
objet.SetFocus
End Sub

Private Sub defend_KeyUp(KeyCode As Integer, Shift As Integer)
Label15.BorderStyle = 1
Label13.BorderStyle = 0
attaque.SetFocus
End Sub
Private Sub Defend_KeyPress(KeyAscii As Integer)
If KeyAscii = 32 Then
défendre = 1
Frame1.Visible = True ´on change les décors pour que le joueurs sache
Frame2.Visible = False ´qu´il ne peut plus faire les actions
rien.SetFocus
Timer1.Interval = 3500
End If
End Sub

Private Sub objet_KeyDown(KeyCode As Integer, Shift As Integer)
Label16.BorderStyle = 1
Label14.BorderStyle = 0
magie.SetFocus
End Sub

Private Sub objet_KeyUp(KeyCode As Integer, Shift As Integer)
Label16.BorderStyle = 1
Label15.BorderStyle = 0
defend.SetFocus
End Sub

Private Sub Form_Load()
rien.TabIndex = 0 ´indispensable pour lui mettre le focus
VieB = 100 ´on dit que la variable VieB vaut 100
VieA = 100 ´idem sauf que c´est pour la VieA
MagieA = 100 ´ " " " " " " MagieA
MagieB = 100 ´ " " " " " " MagieB
défendre = 0
Label5.Caption = VieB ´Dans le Label5 , on verra la valeur de VieB
Label6.Caption = MagieB ´vous avez compris je pense
Label7.Caption = VieA
Label8.Caption = MagieA
End Sub

Private Sub timer1_timer()
If défendre = 1 Then
défendre = 0 ´ben oui , sinon y´aura tout le temp la défense
Label15.BorderStyle = 1 ´sinon on est mal barre quand on vient de défendre
End If
Frame1.Visible = False ´on change les décors
Frame2.Visible = True ´pour dire au joueurs qu´il peut utiliser les actions
Label13.BorderStyle = 0 ´Pour faire comme un curseur , dit au joueur qu´il se trouve sur attaquer
attaque.SetFocus ´change le focus
Timer1.Interval = 0 ´fait en sorte qu´on ne puisse pas réattaquer après !
End Sub

Private Sub Timer2_Timer() ´timer pour l´attaque de l´adversaire
If défendre = 1 Then
VieA = VieA - Int((6 * Rnd) + 0)
ElseIf VieB < 35 And défendre = 1 Then
VieA = VieA - Int((10 * Rnd) + 2)
End If
If VieB > 35 Or VieB = 35 Then ´Si la la vie de l´ennemi est egal ou supérieur a 35 alors
VieA = VieA - Int((8 * Rnd) + 0) ´Votre vie perd entre 0 et 10 de dommage aléatoirement
Label7.Caption = VieA ´près son attques , votre vie se met a jour
ElseIf VieB < 35 Then ´Si La vie de l´ennemie est inférieure a 35 alors c´est comme si il entrait en transe
VieA = VieA - Int((12 * Rnd) + 4) ´Il vous enlève entre 4 et 12 de dégat
Label7.Caption = VieA ´Vie a mis a jour
End If
If VieA = 0 Or VieA < O Then
MsgBox "Game Over"
End
End If
End Sub

Voila ma sources , je rencontre un petit problème . Quand j´appui sur la flèche de bas , quand je suis sur attauqer , ceci fait bien ce qu´il y a de marquer , mais revient sur attaquer tout seul .

dnob700
dnob700
Niveau 10
30 août 2005 à 12:57:35

C´est des boutons tout ces objets ?

thibdu71
thibdu71
Niveau 10
30 août 2005 à 15:54:34

Aucun boutons , que des labels , sauf attaque , défend et objet qui sont des text .

dnob700
dnob700
Niveau 10
30 août 2005 à 18:21:41

bon, je ne sais pas de quoi il s´agit mais c´est vraiment très très laid.

Par contre il y a une cause possible de bug que tu n´a peut-être pas vu :
A la fin de attaque_keydown le focus passe à defend. Ce qui veut dire que tout de suite après l´événement defend_keyup se produit au moment où tu lache la touche.

De plus, je ne suis pas sur du tout que l´événement attaque_keypress se produise si le focus n´est plus sur le controle car cet événement se produit après l´événement keydown.

Pourquoi ne pas mettre le code de attaque_keypress dans attaque_keydown il suffit juste de remplacer le if keyascii=32 par if keycode = ?? ? (tu trouve le code de la barre d´espace) et tu aura le même résultat.

Et vérifie aussi ce que je t´ai dit sur le focus qui se déplace tout seul, c´est pas terrible comme bidule.

thibdu71
thibdu71
Niveau 10
30 août 2005 à 18:31:03

Merci DNob , mais je trouve pas ca si laid , du moment que ca marche ... Mais tant fais pas , je compte faire VRAIMENT ce truc , comme y faut .
La c´était juste pour voir un truc . En tout cas merci de tes réponse .

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment