bonjour à tous, toujours aussi têtu mais débutant...
J'ai bien avancé dans mon programme, mais je reviens avec une question qui doit être toute couillonne, mais je trouve pas.
Je pars d'un clic souris
En fonction d'un test, je lance une routine appelée "mvttf()"
Cette routine en lance une autre qui me sert à calculer une distance : calculdistance()
1/ il semble bloquer sur la formule abs() de calcul des valeurs absolues.
pourtant, j'ai bien "Imports System.Math". je précise que j'ai essay" abs(x) et Math.abs(x) : les deux plantent...
2/ mais surtout, le plantage conduit le système à sortir des sub calculdistance() et mvttf() pour revenir directement à la partie d'origine "mouse down"...
je l'ai vérifié en utilisant le "pas à pas"...
il ne calcul jamais la valeur de directionvers
j'espère que c'est clair en terme, ou avec le résumé ci dessous avec extrait du code.
Avez vous une idée de ce qui me plante ?
Ce fonctionnement curieux correspond-il à un comportement connu et voulu ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Imports System.Math Dim entrex, entrey, etx, ety, distance, directionvers As Byte Private Sub carte1_MouseDown(sender As Object, e As MouseEventArgs) Handles carte1.MouseDown (...) If phase = 3 And tfactif < 21 And tfmvtrestant(joueur, tfactif) > 0 Then mvttf():faitautrechose() (...) End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Private Sub mvttf() entrex = tfx(joueur, tfactif) entrey = tfy(joueur, tfactif) etx = hexciblex ety = hexcibley calculdistance() Suite de lignes (...) End Submerci d'avance pour votre analyse...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Private Sub calculdistance() distance = Math.Abs(entrex - etx) [Ejection et retour à faitautrechose] directionvers=(...) Private Sub
Partager