Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

GRAVITÉ (SUR UN BALLE)


Information sur la source

Catégorie :Jeux Classé sous : gravité, balle Niveau : Débutant Date de création : 29/01/2001 Date de mise à jour : 09/06/2003 14:42:15 Vu / téléchargé: 2 891 / 197

Note :
3 / 10 - par 5 personnes
3,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

Description

- Applique sur une balle les effets de la gravité : acceleration en chute    descceleration en monté, et rebond sur la base du systeme.
- Utilise le dragdrop pour relancer la balle
- Les réalisme est limité : pas de rebons sur les bords etc ...

 

Source

  • '=======================================================
  • '=======================================================
  • 'code : par fki | icq 104358060 | aim : fkiaim
  • '
  • 'Composant : sur une form ajouter 3 picturebox (picture1 = obj en mvnt / picture2 = limites du systeme /
  • ' picture3 = ico pour dragdrop) ; un timer : timer1 (interval = 10) ; 2 label : label1 et label2
  • ' (pour un afficher les vitesses en pixel/s et m/s ; 1 boutou command1 (pour quitter)
  • '
  • 'com. : ceci n'est qu'un simple code de remplacement
  • ' j'ai concience que ceului-ci est inutile puisque peu réaliste
  • ' (entre autre : pas de rebonds sur les cotés) et n'utilisant pas directx ou opengl
  • ' En esperant que vous puissiez trouver un interret quelquonque a cette source
  • '
  • 'Ps : J'emerde royalement les connards prétancieux qui ne pencent qu'a critiquer sans aucun apport
  • ' de solution et je remercie les tt les gens pret à aider et à critiquer de façon positive. @+.
  • '=======================================================
  • '=======================================================
  • '============= Variables ============='
  • Dim Y As String ' vitesse horizontale
  • Dim v As String ' vitesse verticale
  • Dim w As Boolean ' Perdiode : accélération / deccélération
  • Dim z As Boolean ' Pr stoper la balle si elle touche un cote du sys.
  • Private Sub Command1_Click()
  • End
  • End Sub
  • Private Sub Form_Load()
  • 'assignation des var
  • Y = 5
  • v = 2
  • w = True
  • z = True
  • End Sub
  • Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  • 'dragdrop
  • 'ont arreter le timer et ont cache l'image
  • Timer1.Enabled = False
  • Picture1.Visible = False
  • 'ont remplace l'image par l'ico de dragdrop
  • Picture1.Drag
  • Picture1.DragIcon = Form1.Picture3
  • End Sub
  • Private Sub Picture2_DragDrop(Source As Control, X As Single, Y As Single)
  • 'un fois le dragdrop terminer ont depalce l'objet
  • Picture1.Top = Y
  • Picture1.Left = X
  • 'ont réassigne les var
  • Y = 5
  • v = 2
  • w = True
  • z = True
  • 'et ont afficher l'image puis ont lance le timer
  • Picture1.Visible = True
  • Timer1.Enabled = True
  • End Sub
  • Private Sub Timer1_Timer()
  • 'etat_a = balle en acceleration
  • 'verif que la balle sera bien dans le systeme apres le prochaine mvnt
  • If ((Picture1.Top + v) < Picture2.Height And (Picture1.Left + Y) < Picture2.Width And w = True And z = True) Then
  • 'incrementation de la vitesse
  • v = v + 1
  • 'mvnt de l'objet
  • Picture1.Top = Picture1.Top + v
  • Picture1.Left = Picture1.Left + Y
  • 'si il arrive aux limites du systeme (verticalement)
  • ElseIf ((Picture1.Top + v) > Picture2.Height And w = True And z = True) Then
  • Picture1.Top = Picture2.Height
  • w = False
  • v = v - 10
  • 'si il arrive aux limites du systeme (verticalement)
  • ElseIf ((Picture1.Left + Y) > Picture2.Width And w = True And z = True) Then
  • Picture1.Left = Picture2.Width
  • z = False
  • End If
  • 'etat_a = balle en descceleration
  • If (v > 0 And (Picture1.Left + Y) < Picture2.Width And w = False And z = True) Then
  • v = v - 1
  • Picture1.Top = Picture1.Top - v
  • Picture1.Left = Picture1.Left + Y
  • ElseIf (v = 0 And w = False And z = True) Then
  • w = True
  • ElseIf ((Picture1.Left + Y) > Picture2.Width And w = False And z = True) Then
  • Picture1.Left = Picture2.Width
  • z = True
  • End If
  • 'Affichage de la vitesse de l'objet
  • Label2.Caption = "Vitesse : " & (v * (1000 / Timer1.Interval)) & " Pixels /s"
  • Label3.Caption = "Vitesse : " & ((v * (1000 / Timer1.Interval)) * 0.04) & " Cm /s"
  • End Sub
'=======================================================
'=======================================================

'code      : par fki | icq 104358060 | aim : fkiaim
'
'Composant : sur une form ajouter 3 picturebox (picture1 = obj en mvnt / picture2 = limites du systeme /
'            picture3 = ico pour dragdrop) ; un timer : timer1 (interval = 10) ; 2 label : label1 et label2
'            (pour un afficher les vitesses en pixel/s et m/s ; 1 boutou command1 (pour quitter)
'
'com.      : ceci n'est qu'un simple code de remplacement
'            j'ai concience que ceului-ci est inutile puisque peu réaliste
'            (entre autre : pas de rebonds sur les cotés) et n'utilisant pas directx ou opengl
'            En esperant que vous puissiez trouver un interret quelquonque a cette source
'
'Ps        : J'emerde royalement les connards prétancieux qui ne pencent qu'a critiquer sans aucun apport
'            de solution et je remercie les tt les gens pret à aider et à critiquer de façon positive. @+.

'=======================================================
'=======================================================


'============= Variables ============='

Dim Y As String  ' vitesse horizontale
Dim v As String  ' vitesse verticale
Dim w As Boolean ' Perdiode : accélération / deccélération
Dim z As Boolean ' Pr stoper la balle si elle touche un cote du sys.

Private Sub Command1_Click()
End
End Sub

Private Sub Form_Load()
'assignation des var
Y = 5
v = 2
w = True
z = True
End Sub

Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
'dragdrop
'ont arreter le timer et ont cache l'image
Timer1.Enabled = False
Picture1.Visible = False
'ont remplace l'image par l'ico de dragdrop
Picture1.Drag
Picture1.DragIcon = Form1.Picture3
End Sub

Private Sub Picture2_DragDrop(Source As Control, X As Single, Y As Single)
'un fois le dragdrop terminer ont depalce l'objet
Picture1.Top = Y
Picture1.Left = X
'ont réassigne les var
Y = 5
v = 2
w = True
z = True
'et ont afficher l'image puis ont lance le timer
Picture1.Visible = True
Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
      
    'etat_a = balle en acceleration
    'verif que la balle sera bien dans le systeme apres le prochaine mvnt
    If ((Picture1.Top + v) < Picture2.Height And (Picture1.Left + Y) < Picture2.Width And w = True And z = True) Then
            'incrementation de la vitesse
            v = v + 1
            'mvnt de l'objet
            Picture1.Top = Picture1.Top + v
            Picture1.Left = Picture1.Left + Y
            'si il arrive aux limites du systeme (verticalement)
            ElseIf ((Picture1.Top + v) > Picture2.Height And w = True And z = True) Then
                 Picture1.Top = Picture2.Height
                 w = False
                 v = v - 10
                     'si il arrive aux limites du systeme (verticalement)
                     ElseIf ((Picture1.Left + Y) > Picture2.Width And w = True And z = True) Then
                     Picture1.Left = Picture2.Width
                     z = False
                     End If
        
        
    'etat_a = balle en descceleration
    If (v > 0 And (Picture1.Left + Y) < Picture2.Width And w = False And z = True) Then
        v = v - 1
        Picture1.Top = Picture1.Top - v
        Picture1.Left = Picture1.Left + Y
        ElseIf (v = 0 And w = False And z = True) Then
                w = True
                    ElseIf ((Picture1.Left + Y) > Picture2.Width And w = False And z = True) Then
                    Picture1.Left = Picture2.Width
                    z = True
                    End If
        

    'Affichage de la vitesse de l'objet
    Label2.Caption = "Vitesse : " & (v * (1000 / Timer1.Interval)) & " Pixels /s"
    Label3.Caption = "Vitesse : " & ((v * (1000 / Timer1.Interval)) * 0.04) & " Cm /s"
    
End Sub

Conclusion

En esperant que vous pourrez trouver une utilitée quelquonque à cette source.
  
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de Mémère le 06/06/2003 10:57:46 administrateur CS

Toujours aussi magistrales les sources de ce cher fkiller001. Merci mec, tu as su me montrer à quel point on peut être naze. J'ai pas le temps de dresser ton autoportrait pour les humbles visiteurs qui se présent ici dans le but ( dérisoir ) d'apprendre qquechose. Tu ne peux que t'améliorer ou disparaitre HAHAHHAHAHAH

signaler à un administrateur
Commentaire de fkiller001 le 09/06/2003 10:38:01

Sait tu t'exprimer d'une façon construite et constructive ? d'une façon argumentative ? Je ne prendrai pas 1s pour te repondre tant que cela ne sera pas le cas.

signaler à un administrateur
Commentaire de fkiller001 le 09/06/2003 22:24:29

Sinon vous pencez koi de la MAJ / correction que j'aie apporter à la source ?

signaler à un administrateur
Commentaire de LesHauSsebons le 20/02/2004 11:19:10

Le code est tres simple
et devrait etre optimisé car les clauses de test comme ca c'est un peu dommage

tu pourrais programmer objet et creer un objet balle avec ses caracteristiques et ses fonctions ( acceleration , descelleration en fonction d une gravité g )

si la programmation de classe ne vous dit rien, ne programmez pas graphiquement ( en encore moins 3D par la suite )

sinon ca doit fonctionner
dommage que la gravité soit simulée et non pas exacte, il existe des formules physiques pour l'acceleration, ( dérivée de la vitesse ) et ainsi de suite en fonction de la gravité je m'en souviens vaguement, on en faisait à la fac, en mecanique ( theorique hein ) j'etais en MIAS

ces formules sont assez simple tu devrais les trouver sur le net. Et forcement, seront plus realistes qu'un simple +1 et -1 lors de la descente ou l'ascension.

Cordialement :)

LesHauSsebons

signaler à un administrateur
Commentaire de Dav6215 le 09/07/2004 02:07:34

Dire que y'a des scientifique qui se sont fait chier
a trouver des formule physique pour exprimé cette gravité :p

Conclusion

Instruction avant Programmation :p

signaler à un administrateur
Commentaire de celiphane le 07/04/2005 01:36:01

je repasse par là (je détère les vieilles sources qu'on pourrait dire !) et je constate que le contenu de cette source à COMPLETEMENT changé depuis les 1eres critiques qui avaient été émises... (changé 2 ans après)

ce code là, au moins, parrait respectable ! (système repiqué en fait sur mes sources de gravités... repiqué ou alors identique en tout cas, enfin bon, au moins c'est du bon, repiqué ou pas).

Autant dire que les critiques d'antan ne s'appliquent plus !

@+
Celiphane

signaler à un administrateur
Commentaire de Bidou le 22/08/2006 13:57:09 administrateur CS

Bien, j'ai nettoyé tous les commentaires concernant cette source.
J'espère ne plus voir de dérapage pareil; je trouve que vous êtes tous assez lamentable pour en être arriver à ce point là...

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Sendkeys, ou comment se tirer une balle [ par pablo79 ] C'est trois heures et demi du matin et je vais me flinguer, tout ca à cause d'un p@#*%ç de sendkeys. Voila :pour ne pas que l'on puisse noté de lettre Ki peut m aider avant tirage de balle ? :'( [ par x28x ] Bon voila j utilise commondialog et je veut faire un multi selectr jusque la pas de probleme donc j arrive a surligner plusieur fichier mais je n arri Reconnaissance de formes [ par cedricbi ] Par exemple j'ai une image (où on a déjà extrait les contours), sur cette image il y a une balle (transformé en qq de resemblant a un cercle) et il y trajectoire d'une balle [ par Pakman21 ] bonjour, je voudrais faire un petit jeu en 2d avec des canons fixe (genre artillery) et ou l'on doit choisir l'angle et la vitesse initia lancer une balle [ par ptifranfran ] je suis en train de r&#233;aliser un petit jeu o&#249; un joueur lance une balle et j'aimerai que cette balle d&#233;crive une parabole, sachant que l Courbes Dynamique (Sous VB6) [ par Acolyte ] Salut ! j'aimerais tracer une trajectoire sous forme de courbe mais il y a des chose ui m'échappe, le traçage ! Comment dessiner une courbe ?! j'ai Courbes Dynamiques [ par Acolyte ] Salut ! j'aimerais tracer une trajectoire sous forme de courbe mais il y a des chose ui m'échappe, le traçage ! Comment dessiner une courbe ?! j'ai Controleur de clips [ par Thierry92psg ] Bonjour à tous, Je débute sur Flash, et j'ai donc besoin de l'avis éclairé de plus expérimentés que moi... Mon projet consiste à réaliser une animatio aide pour une balle en mouvement [ par blinix123 ] Bonjour!J'aimerais savoir comment on faisait bouger une balle avec le clavier ou la souris, donc comment modelis&#233; la balle,lui d&#233;finir des t


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 1,685 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.