Un début pour les jeux, sourtou pour ceux qui ont horreur des matrice (ou tableaux)

Description

Ce n'est que pour détecter si un rectangle recouvre partiellement un autre
sans utiliser de matrice.

Il n'est pas trops compliqué

J'ai pris les "shapes" de VB

Attention c'est en VB3

Vous devez creer une form avec n'importe quel nom
un shape avec comme nom player
des shape avec comme nom chateau(0),chateau(1)... (objets indexé)

Pour ceux qui ne veullent pas faire ça ===> ZIP (Attention VB3)

Source / Exemple :


Sub Form_KeyDown (keycode As Integer, Shift As Integer)
Const vitesse = 50 'C'est la vitesse de déplacement
x = player.Left
y = player.Left
Select Case keycode 'C'est l'analogue de switch en javascript, c'est un branchement conditionel en fonction de la valeure de "keycode"
Case 39 'si keycode=39 alors
 player.Move player.Left + vitesse, player.Top 'fin de if
 If test() = True Then player.Left = player.Left - vitesse 'si colision alors retour position de départ !!
Case 40 'si keycode=40 alors
 player.Move player.Left, player.Top + vitesse 'fin de if
 If test() = True Then player.Top = player.Top - vitesse 
Case 38
 player.Move player.Left, player.Top - vitesse
 If test() = True Then player.Top = player.Top + vitesse
Case 37
 player.Move player.Left - vitesse, player.Top
 If test() = True Then player.Left = player.Left + vitesse
End Select

End Sub

Function test ()
Dim vartest As Integer ' vous allez comprendre son utilitée
For ix = 0 To 2
If vartest = True Then Exit Function ' si vartest est a true alors on quite la "function" en lui attribuant "true" comme valeure
If player.Left + player.Width > chateau(ix).Left And player.Top + player.Height > chateau(ix).Top And player.Left < chateau(ix).Left + chateau(ix).Width And player.Top < chateau(ix).Top + chateau(ix).Height Then
test = True
vartest = True
Else
test = False
End If
Next
End Function

Conclusion :


On peut faire assez de choses avec VB3 !!!
Attention : ce code est très très lent mais c'est un début ...
Remarquez qu'il vaut mieux utiliser " ' " que "REM" pour la coloration !

Codes Sources

A voir également

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.