Rebond

Résolu
cs_KiNdErMaXi Messages postés 1052 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 30 novembre 2009 - 2 nov. 2004 à 16:48
cs_KiNdErMaXi Messages postés 1052 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 30 novembre 2009 - 3 nov. 2004 à 00:14
bonjour,
a l'occasion d'un petit jeu, j'ai rencontrer un problème de taille:
faire rebondire une balle contre un bord avec un angle précis.
j'ai vraiment aucune idée de la facon dont il faut proceder
si vous pouviez m'éclairer un petit peu
merci

KiNdEr_MaXi

6 réponses

cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 5
3 nov. 2004 à 00:08
un chouilla de théorie : je sais pas ce que tu connais sur les vecteurs ou l'algèbre linéaire , bref : voici un code bête qui fait rebondir une balle sur 4 lignes , c'est la base de mon ptit jeu jezzball dispo sur le site , ca gère pas les fps correctement donc la vitesse dépend de l'état de l'ordi (charge proc et utilisation RAM) et de l'ordi utilisé au moment ou tu lances mais tu vois le principe comme ca :
Alias J2 {
  window -aCpdh +l @J -1 -1 520 430
  drawfill @J 15 1 1 1
  segments
  ;coordonnées de la balle : x y vx vy <- on garde abscisse ordonnée vitesse horizontale et vitesse verticale en mémoire tout le temps
  set %jball 200 220 1 1
  J2-ball
}
Alias J2-ball {
  ;tokenize : on aura donc : x=$1 , y=$2 , vx=$3 et vy=$4
  tokenize 32 %jball
  ;position suivante donc : $1 + $3 ; $2 + $4
  ;si ca touche le bord gauche ou le bord droit , on inverse la vitesse horizontale
  if ($calc($1 + $3) <= 52) || ($calc($1 + $3) >= 450) {  %jball = $1 $2 $calc(-1 * $3) $4 }
  ;de même en haut et en bas
  if ($calc($2 + $4) <= 52) || ($calc($2 + $4) >= 350) { %jball = $1 $2 $3 $calc(-1 * $4) }
  ;nouvelle position de la balle :
  tokenize 32 %jball
  drawdot @J 15 2 $1 $2
  %jball = $calc($1 + $3) $calc($2 + $4) $3 $4
  drawdot @J 4 2 $calc($1 + $3) $calc($2 + $4)
  segments
  .timerJball -ho 1 1  J2-ball
}
Alias segments {
  ;le rebond n'étant pas super propre , je redessine les segmetns a chaque étape 
  ;(je sais c pas adroit c pour montrer le principe juste :p) et je /drawfill
  ;c mieux d'avoir /dracopy la ou passe la balle et de le remettre dès qu'elle quitte la position... ou d'avoir une seconde @win qui serve de buffer et de drawcopy depuis cette fenêtre.. c des idées comme ca chu pas spécialiste
  ;4 segments formant le rectangle
  drawline @J 1 2 49 50 450 50
  drawline @J 1 2 450 50 450 350
  drawline @J 1 2 450 350 50 350
  drawline @J 1 2 50 350 50 49
}


vala ... /j2
hésite pas si souci, c'est pas bien codé c un exemple.
après pour personnaliser le rebond un peu plus tu peux rajouter du $rand quelque part , sinan au passage pour faire aller la balle dans une direction précise il faut que $3 et $4 soient cos et sin de l'angle par rapport a l'horizontale mais bon c déja plus chiant a manipuler si tu fais pas trop d'maths la :p

PaDa
3
cs_ReMi34 Messages postés 1025 Date d'inscription vendredi 29 août 2003 Statut Membre Dernière intervention 28 mars 2005 2
2 nov. 2004 à 17:12
Sur ce même site, il y a une source de aerith, il te suffit de chercher "balles" dans le moteur de rechercher et je pense que tu le trouveras :)
0
cs_KiNdErMaXi Messages postés 1052 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 30 novembre 2009 2
2 nov. 2004 à 17:18
j'avais déja regarder cette source mais j'avoue ne rien y comprendre :/
KiNdEr_MaXi
0
cs_tofu Messages postés 1726 Date d'inscription vendredi 12 septembre 2003 Statut Membre Dernière intervention 13 juin 2009 1
2 nov. 2004 à 17:28
essayes de voir k3v1n sur IRC il a fait un minigolf en mIRC il pourra ptet t'aider ou alors Huzard il essayait de refaire PONG en mIRC je crois.

----
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_KiNdErMaXi Messages postés 1052 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 30 novembre 2009 2
2 nov. 2004 à 21:09
sur quel server ?
KiNdEr_MaXi
0
cs_KiNdErMaXi Messages postés 1052 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 30 novembre 2009 2
3 nov. 2004 à 00:14
oki je regarderai ca a tête reposée :)
merci bien pada
KiNdEr_MaXi
0
Rejoignez-nous