begin process at 2012 02 15 04:59:27
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

J'AI BESOIN D'AIDE !!!! :)

 > 

AIde pour un RTS...


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

AIde pour un RTS...

lundi 30 décembre 2002 à 02:05:19 | AIde pour un RTS...

Heromega

Bonsoir tout le monde.
J'ai un gros probléme concerant le dévelloppement d'un jeu de stratégie.

Voilà quelqu'un sait comment placez les batiments?
Je veux dire placer une picture là ou le curseur est sur la feuille et si un batiment est déjà placé juste à cet endroit alors le placement ne se fais pas... vous voyez ce que je veux dire??

Je vous en supplis aidez-moi...

Dimitri
lundi 30 décembre 2002 à 03:23:51 | Re : AIde pour un RTS...

SupraDolph

Salut Dimitri
j'ai fait une partie de ce que tu demande.
tout d'abord inscrit ce code dans une form et crée 2 picturebox (Picture1 et Picture2)
Tu peut déplacer les 2 pictures.
Dès que tu relâche le boutton de la sourie lors d'un déplacement d'une des 2 pictures, si le coin supperieur gauche de la picture que tu déplace se trouve à l'interieur de l'autre picture, elle revient a sa position initiale.
En fait il faut que tu fasse le test pour tous les points de la picture que tu déplace.

Voila le code :

' Position de X et Y par rapport a l'écran
Private Declare Function GetCursorPos Lib "user32" ( _
lpPoint As PointAPI) As Long

' Position de X et Y par rapport a la fenètre et a GetCursorPos
Private Declare Function ScreenToClient Lib "user32" ( _
ByVal hwnd As Long, _
lpPoint As PointAPI) As Long

Private Type PointAPI
X As Long
Y As Long
End Type
Dim Position As PointAPI

Private Function Positionne(Picturex As PictureBox)
Dim pos As PointAPI
GetCursorPos pos
ScreenToClient Me.hwnd, pos
Picturex.Top = pos.Y * 15 - Picturex.Height / 2
Picturex.Left = pos.X * 15 - Picturex.Width / 2
End Function

Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Position.X = Picture1.Left
Position.Y = Picture1.Top
Positionne Picture1
End Sub

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button Then Positionne Picture1
End Sub

Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim pos As PointAPI
GetCursorPos pos
ScreenToClient Me.hwnd, pos
If (pos.Y * 15 - Picture1.Height / 2) < (Picture2.Top + Picture2.Height) And (pos.Y * 15 - Picture1.Height / 2) > Picture2.Top And (pos.X * 15 - Picture1.Width / 2) < (Picture2.Left + Picture2.Width) And (pos.X * 15 - Picture1.Width / 2) > Picture2.Left Then Picture1.Top = Position.Y: Picture1.Left = Position.X
End Sub

Private Sub Picture2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Position.X = Picture2.Left
Position.Y = Picture2.Top
Positionne Picture2
End Sub

Private Sub Picture2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button Then Positionne Picture2
End Sub

Private Sub Picture2_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim pos As PointAPI
GetCursorPos pos
ScreenToClient Me.hwnd, pos
If (pos.Y * 15 - Picture2.Height / 2) < (Picture2.Top + Picture1.Height) And (pos.Y * 15 - Picture2.Height / 2) > Picture1.Top And (pos.X * 15 - Picture2.Width / 2) < (Picture1.Left + Picture1.Width) And (pos.X * 15 - Picture2.Width / 2) > Picture1.Left Then Picture2.Top = Position.Y: Picture2.Left = Position.X
End Sub

Bon Prog
SupraDolph

-------------------------------
Réponse au message :
-------------------------------

> Bonsoir tout le monde.
> J'ai un gros probléme concerant le dévelloppement d'un jeu de stratégie.
>
> Voilà quelqu'un sait comment placez les batiments?
> Je veux dire placer une picture là ou le curseur est sur la feuille et si un batiment est déjà placé juste à cet endroit alors le placement ne se fais pas... vous voyez ce que je veux dire??
>
> Je vous en supplis aidez-moi...
>
> Dimitri
>
lundi 30 décembre 2002 à 13:17:29 | Re : AIde pour un RTS...

SupraDolph

'Bon j'ai fini voila le code complet Bonne Chance (SupraDolph)

' Position de X et Y par rapport a l'écran
Private Declare Function GetCursorPos Lib "user32" ( _
lpPoint As PointAPI) As Long

' Position de X et Y par rapport a la fenètre et a GetCursorPos
Private Declare Function ScreenToClient Lib "user32" ( _
ByVal hwnd As Long, _
lpPoint As PointAPI) As Long

Private Type PointAPI
X As Long
Y As Long
End Type
Dim Position As PointAPI

Private Function Positionne(Picturex As PictureBox)
Dim pos As PointAPI
GetCursorPos pos
ScreenToClient Me.hwnd, pos
Picturex.Top = pos.Y * 15 - Picturex.Height / 2
Picturex.Left = pos.X * 15 - Picturex.Width / 2
End Function

Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Position.X = Picture1.Left
Position.Y = Picture1.Top
Positionne Picture1
End Sub

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button Then Positionne Picture1
End Sub

Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim pos As PointAPI
GetCursorPos pos
ScreenToClient Me.hwnd, pos
If (pos.Y * 15 - Picture1.Height / 2) < (Picture2.Top + Picture2.Height) And (pos.Y * 15 - Picture1.Height / 2) > Picture2.Top And (pos.X * 15 - Picture1.Width / 2) < (Picture2.Left + Picture2.Width) And (pos.X * 15 - Picture1.Width / 2) > Picture2.Left Or _
(pos.Y * 15 + Picture1.Height / 2) < (Picture2.Top + Picture2.Height) And (pos.Y * 15 + Picture1.Height / 2) > Picture2.Top And (pos.X * 15 - Picture1.Width / 2) < (Picture2.Left + Picture2.Width) And (pos.X * 15 - Picture1.Width / 2) > Picture2.Left Or _
(pos.Y * 15 - Picture1.Height / 2) < (Picture2.Top + Picture2.Height) And (pos.Y * 15 - Picture1.Height / 2) > Picture2.Top And (pos.X * 15 + Picture1.Width / 2) < (Picture2.Left + Picture2.Width) And (pos.X * 15 + Picture1.Width / 2) > Picture2.Left Or _
(pos.Y * 15 + Picture1.Height / 2) < (Picture2.Top + Picture2.Height) And (pos.Y * 15 + Picture1.Height / 2) > Picture2.Top And (pos.X * 15 + Picture1.Width / 2) < (Picture2.Left + Picture2.Width) And (pos.X * 15 + Picture1.Width / 2) > Picture2.Left _
Then Picture1.Top = Position.Y: Picture1.Left = Position.X
End Sub

Private Sub Picture2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Position.X = Picture2.Left
Position.Y = Picture2.Top
Positionne Picture2
End Sub

Private Sub Picture2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button Then Positionne Picture2
End Sub

Private Sub Picture2_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim pos As PointAPI
GetCursorPos pos
ScreenToClient Me.hwnd, pos
If (pos.Y * 15 - Picture2.Height / 2) < (Picture1.Top + Picture1.Height) And (pos.Y * 15 - Picture2.Height / 2) > Picture1.Top And (pos.X * 15 - Picture2.Width / 2) < (Picture1.Left + Picture1.Width) And (pos.X * 15 - Picture2.Width / 2) > Picture1.Left Or _
(pos.Y * 15 + Picture2.Height / 2) < (Picture1.Top + Picture1.Height) And (pos.Y * 15 + Picture2.Height / 2) > Picture1.Top And (pos.X * 15 - Picture2.Width / 2) < (Picture1.Left + Picture1.Width) And (pos.X * 15 - Picture2.Width / 2) > Picture1.Left Or _
(pos.Y * 15 - Picture2.Height / 2) < (Picture1.Top + Picture1.Height) And (pos.Y * 15 - Picture2.Height / 2) > Picture1.Top And (pos.X * 15 + Picture2.Width / 2) < (Picture1.Left + Picture1.Width) And (pos.X * 15 + Picture2.Width / 2) > Picture1.Left Or _
(pos.Y * 15 + Picture2.Height / 2) < (Picture1.Top + Picture1.Height) And (pos.Y * 15 + Picture2.Height / 2) > Picture1.Top And (pos.X * 15 + Picture2.Width / 2) < (Picture1.Left + Picture1.Width) And (pos.X * 15 + Picture2.Width / 2) > Picture1.Left _
Then Picture2.Top = Position.Y: Picture2.Left = Position.X
End Sub




-------------------------------
Réponse au message :
-------------------------------

> Bonsoir tout le monde.
> J'ai un gros probléme concerant le dévelloppement d'un jeu de stratégie.
>
> Voilà quelqu'un sait comment placez les batiments?
> Je veux dire placer une picture là ou le curseur est sur la feuille et si un batiment est déjà placé juste à cet endroit alors le placement ne se fais pas... vous voyez ce que je veux dire??
>
> Je vous en supplis aidez-moi...
>
> Dimitri
>


Cette discussion est classée dans : aide, rts


Répondre à ce message

Sujets en rapport avec ce message

Recherche fichiers d'aide [ par Shaoulah ] BonjourJe programme actuellement en VB4.0 :o(et je voudrais me mettre au VB 6.0.Je possede VB 6.0 mais pas le fichier d'aide (indispensable) savez vou FICHIER HELP [ par caballero ] salutj'ai voulu programmer une rubrique d'aide dans une application et j'ai crée les deux fichiers necessaire à celale fichier aides.hpj que voici[opt base de données sous excel [ par guingoy ] Bonjour,Voilà, je développe un petit programe sous excel avec VB6.A l'aide d'un MSform (notamment un textbox) j'aimerais alimenter une base de données De l'aide svp [ par chael1977@diligo.fr ] BonjourJ'aimairais savoir :- comment inserer une image dans un richtextbox ?- comment inserer du son image dans un richtextbox ?- comment inserer du t Aide pour conversion de code Basic - C++ !! [ par Ral ] Salut à tous.N'ayant pas de compétence en "Basic",Je recherche quelqu'un qui s'y connait bien en "Basic"(sur Turbo-Basic ou Quick-Basic) et C++ ,et qu Recherche dans une base de donnée a l'aide de 'Seek' [ par Arion ] Comment utiliser la méthode Seek ? editeur d'aide [ par Patrice ] Bonjour, bonjourje recherche l'editeur d'aide helpworkshop, mais l'ancienne version(format winhelp) et non la nouvelle (format HTML).Si on pouvait me Demande d'aide pour IconMenu !!! [ par Jonef ] Alors, vraiment ce IconMenu me sort par les yeux !!!En plus il BUG constament...Bref, si quelqu'un pouvait m'envoyer soit un exemple en VB soit une ai


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,232 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales