Gérer le forum:  Aide  •  Rechercher  •  Liste des Membres  •  Groupes d'utilisateurs   •  S'enregistrer  •  Profil  •  Se connecter pour vérifier ses messages privés  •  Connexion 
 [BASIC](Quickbasic), Pb pour faire rebondir des boules Voir le sujet suivant
Voir le sujet précédent
Poster un nouveau sujetRépondre au sujet
Auteur Message
sasuke83
Newbiiiie
Newbiiiie



Sexe: Sexe:Masculin
Messages: 9
Localisation: var-83

MessagePosté le: Lun 13 Nov 2006 - 17:55 Répondre en citantRevenir en haut

Salut a tous !
J'ai un petit probléme de programmation, (c'est mes debut), j'ai essayé pendant des heures sans trouver de solution :

Avec Quick basic, j'ai programmer 2 boules qui se proménent sur l'ecran, et qui rebondissent sur les bord de l'ecran. j'usque là tout va bien.

Maintenant il faut que mes 2 boules entre en colision et rebondissent quand elle se touche (au lieu de se traverser comme elles le font actuellement).

Pour ça, je dois utilisé pythagore, mais aprés de nombreux essais je n'y arrive toujours pas.

Quelqu'un pourrait'il m'aider ? merci

*pour la condition avec pythagore, j'ai essayer toutes les combinaisons;<,>,=
SOIT es boules se traversent, soit les boules ne bouge pas (un PAS et un -pas a l'infini je pense) donc on dorais quelles ne bougent pas.

voici mon code

Xdepart = 30 Ydepart = 85 Xdepart2 = 310 Ydepart2 = 200 largeurecran = 600 hauteurecran = 450 pasX = 1
pasX2 = 1 pasY = 1 pasY2 = 1 Ycercle = Ydepart Xcercle = Xdepart Ycercle2 = Ydepart2 Xcercle2 = Xdepart2
rayon = 30 rayon2 = 30 SCREEN 12

WHILE (1)

CIRCLE (Xold, Yold), rayon, 0
CIRCLE (Xcercle, Ycercle), rayon, 3
Xold = Xcercle
Xcercle = Xcercle + pasX

IF (Xcercle >= largeurecran) OR (Xcercle <= 0) THEN
pasX = -pasX
END IF

Yold = Ycercle
Ycercle = Ycercle + pasY
IF (Ycercle >= hauteurecran) OR (Ycercle <= 0) THEN
pasY = -pasY
END IF


Dernière édition par sasuke83 le Lun 13 Nov 2006 - 18:31; édité 4 fois
Voir le profil de l'utilisateurEnvoyer un message privéVisiter le site web du posteur

N'oubliez pas de vous inscrire à la communauté pour participer. Si vous êtes déjà membre, connectez-vous pour faire disparaître ce bandeau publicitaire.
sasuke83
Newbiiiie
Newbiiiie



Sexe: Sexe:Masculin
Messages: 9
Localisation: var-83

MessagePosté le: Lun 13 Nov 2006 - 18:08 Répondre en citantRevenir en haut

CIRCLE (Xold2, Yold2), rayon2, 0
CIRCLE (Xcercle2, Ycercle2), rayon2, 12
Xold2 = Xcercle2
Xcercle2 = Xcercle2 + pasX2

IF (Xcercle2 >= largeurecran) OR (Xcercle2 <= 0) THEN
pasX2 = -pasX2
END IF

Yold2 = Ycercle2
Ycercle2 = Ycercle2 + pasY2

IF (Ycercle2 >= hauteurecran) OR (Ycercle2 <= 0) THEN
pasY2 = -pasY2
END IF


IF ((rayon + rayon2) ^ 2) < ((Ycercle2 - Ycercle) ^ 2) + ((Xcercle2 + Xcercle) ^ 2) THEN
pasY2 = -pasY2
pasX2 = -pasX2
pasY = -pasY
pasX = -pasX
END IF

FOR tempo = 1 TO 10000
NEXT


WEND


Dernière édition par sasuke83 le Lun 13 Nov 2006 - 20:45; édité 4 fois
Voir le profil de l'utilisateurEnvoyer un message privéVisiter le site web du posteur
sasuke83
Newbiiiie
Newbiiiie



Sexe: Sexe:Masculin
Messages: 9
Localisation: var-83

MessagePosté le: Lun 13 Nov 2006 - 18:17 Répondre en citantRevenir en haut

désoler mais je n'arrivve pas a poster mon code, le forum me bouffe une bonne partie du lieu du code, c pourtant du format texte, quand je fais "editer", c'est le code compler, mais aprés ça me donne k1 partie du code

Question Question Question Question Question Question
Voir le profil de l'utilisateurEnvoyer un message privéVisiter le site web du posteur
elTiGrOu
Forumeur fréquent
Forumeur fréquent


Post-BTS
Sexe: Sexe:Masculin
Messages: 80
Localisation: Seyssel (01)

MessagePosté le: Lun 13 Nov 2006 - 18:29 Répondre en citantRevenir en haut

T'as essayé la balise [code*] ... [/code*] sans les étoiles.

TiGrOu.

_________________
Pouêt Pouêt !
Voir le profil de l'utilisateurEnvoyer un message privéVisiter le site web du posteur
sasuke83
Newbiiiie
Newbiiiie



Sexe: Sexe:Masculin
Messages: 9
Localisation: var-83

MessagePosté le: Lun 13 Nov 2006 - 18:36 Répondre en citantRevenir en haut

Ca y est j'ai reussi a poster mon code correctement !!! Very Happy
(sur 2 poste...)

le premier cercle sur le 1er post, et tt le reste sur le second

Je crois qu'il suffisait de cocher "désactiver le htlm et le BBcode"

Voila merci!

quelqu'un aurait'il une solution pour ma programmation ?

merci
Voir le profil de l'utilisateurEnvoyer un message privéVisiter le site web du posteur
sasuke83
Newbiiiie
Newbiiiie



Sexe: Sexe:Masculin
Messages: 9
Localisation: var-83

MessagePosté le: Mar 14 Nov 2006 - 00:02 Répondre en citantRevenir en haut

C'est bon j'ai trouvé, merci.
Voir le profil de l'utilisateurEnvoyer un message privéVisiter le site web du posteur
dununfolette
Modérateur
Modérateur


Licence Professionnelle
Sexe: Sexe:Féminin
Messages: 2497
Localisation: chambéry (73)

MessagePosté le: Mar 14 Nov 2006 - 09:21 Répondre en citantRevenir en haut

Si tu as trouvé c'est toujours sympa de donner la solution pour des gens qui se trouveraient dans le même cas que toi ou quelque chose d'approchant Wink

_________________
Doudou BTS IG ARLE eu et LP Réseaux Sans Fil et Sécurité validée ! Boulot, boulot, boulot...
Pensez à valider votre profil !

Image
Voir le profil de l'utilisateurEnvoyer un message privé
sasuke83
Newbiiiie
Newbiiiie



Sexe: Sexe:Masculin
Messages: 9
Localisation: var-83

MessagePosté le: Jeu 16 Nov 2006 - 22:48 Répondre en citantRevenir en haut

Pas de problémes, voila la solution:

la solution, ou plutot l'erreur étais dans cette ligne:

IF ((rayon + rayon2) ^ 2) =< ((Ycercle2 - Ycercle) ^ 2) + ((Xcercle2 + Xcercle) ^ 2) THEN

IL fallait mettre ((Xcercle2 - Xcercle), et non pas +

Mais ça métonerrais qu'il y est d'autres personnes concerné par mon probléme lol.

Mais je suis tout a fais d'accord avec le principe !
Voir le profil de l'utilisateurEnvoyer un message privéVisiter le site web du posteur
Montrer les messages depuis:      
Poster un nouveau sujetRépondre au sujet
 Sauter vers:   



Voir le sujet suivant
Voir le sujet précédent
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum