Advertisement
ShadowTzu

escape direction from enemy position

May 21st, 2015
403
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 1.41 KB | None | 0 0
  1. Dim ennemi(2) As Vector3
  2.  
  3. ennemi(0) = New Vector3(8, 2, 0)
  4. ennemi(1) = New Vector3(-3, -2, 0)
  5. ennemi(2) = New Vector3(-3, -2, 0)
  6.  
  7.  
  8. Dim position_archer As Vector3 = New Vector3(0, 0, 0)
  9.  
  10. Dim direction_minimal As Vector3 = New Vector3(1, 1, 0)
  11. Dim direction_maximal As Vector3 = New Vector3(-1, -1, 0)
  12.  
  13. Dim vecteur_temporaire As Vector3
  14. For i As Integer = 0 To ennemi.Count - 1
  15.     'je récupère la direction entre l'archer et la position de l'ennemi
  16.     vecteur_temporaire = ennemi(i) - position_archer
  17.     vecteur_temporaire.Normalize()
  18.  
  19.     'si cette direction est inferieur a la direction minimal, je la stock
  20.     If vecteur_temporaire.X < direction_minimal.X Then direction_minimal.X = vecteur_temporaire.X
  21.     If vecteur_temporaire.Y < direction_minimal.Y Then direction_minimal.Y = vecteur_temporaire.Y
  22.  
  23.     'si cette direction est superieur a la direction maximal, je la stock
  24.     If vecteur_temporaire.X > direction_maximal.X Then direction_maximal.X = vecteur_temporaire.X
  25.     If vecteur_temporaire.Y > direction_maximal.Y Then direction_maximal.Y = vecteur_temporaire.Y
  26. Next
  27.  
  28. 'je trace une droite entre mes vecteur minimal et maximal
  29. Dim droite_entre_les_direction As Vector3 = direction_maximal - direction_minimal
  30. droite_entre_les_direction.Normalize()
  31.  
  32. 'mon vecteur de fuite est la perpendiculaire de cette droite
  33. Dim fuite_direction As Vector3 = New Vector3(droite_entre_les_direction.Y, -droite_entre_les_direction.X, 0)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement