Problème création d'un Pong
Posté le 15/12/2013 15:12
Tout d'abord bonjour (ou bonsoir) à tous,
J'aurai besoin d'un renseignement technique.
Voila, j'ai commencé la programmation depuis peu et je me suis lancé dans la création d'un Pong.
STOP, arrêt du temps, je sais ce que vous allez dire, ce jeu n'est pas adapté aux débutants en programmation mais passons là-dessus s'il vous plait, il faut encourager les nouveaux
Donc mon problème est le rebond des balles (déjà je me fatigue pas trop, conscient de la difficulté) j'aimerai "juste" ( je met d'ailleurs ce juste entre guillemets car vous allez peut-être dire que j'abuse et qu'en fait c'est compliqué à faire) que quand la balle (un pixel) tape un mur elle puisse rebondir SELON UN ANGLE LOGIQUE, ne me parlez pas du pxltest je connais: vous inquiétez pas la balle se casse pas de l'écran...
Déjà si elle pouvait partir selon un angle de 45 degré (ce que j'ai fait) et qu'elle rebondisse toujours selon cet angle cela serait déjà pas mal (mais s'il y a une méthode CLAIRE ET PRÉCISE adaptable pour tous les angles je suis partant hein... 8) )
Bon je sais pas si j'ai été clair, merci d'avance à tous les débutants et pros qui liront ce message !
Elrylas
Citer : Posté le 15/12/2013 15:26 | # | Fichier joint
Lorsque l'objet rebondit sur une surface plane il repart toujours avec le même angle.
Citer : Posté le 15/12/2013 15:28 | #
Je sais mais comment coder cela?
Citer : Posté le 15/12/2013 15:31 | #
Alors, pour commencer, un pong est très bien adapté, bien que tu pense l'inverse
Pour le déplacement de la balle, tu devrais avoir deux variables (une pour le déplacement sur l'axe des X, l'autre sur l'axe des Y.
Lorsque tu tape un mur latéral, tu inverse la direction sur les X (-X->X), lorsque tu tape une raquette, tu inverse la direction sur les Y (-Y->Y). Ensuite, tu ajoute ce déplacement aux coordonnées de la balle, puis tu l'affiche
Et ceci marche pour n'importe quel angle de collision.
Si tu as d'autres questions, n'hésite pas
Ajouté le 15/12/2013 à 15:32 :
Ou l'inverse (X pour la raquette, Y pour les murs) ça dépend dans quel sens tu a programmé le truc.
Citer : Posté le 15/12/2013 18:56 | #
Merci infiniment Dark strom c'est exactement ce que je cherchait et merci aussi pour tes encouragements.
Vu que tu me le propose,même si cela n'a aucun rapport, est ce que la matrices pourraient m'être utiles pour mon jeu, si oui dans quelles situations, si possible exemple concret (je suis un visuel) car je galère un peu avec cela.
Citer : Posté le 15/12/2013 18:58 | #
Je ne voit pas l'intérêt d'utiliser des matrices pour un pong, sauf pour enregistrer les meilleurs scores
Content d'avoir pu t'aider
Citer : Posté le 15/12/2013 18:59 | #
Tiens, au passage je viens de me poser une question : Entre Cls et PxlOff/PlotOff, lequel est le plus rapide à s'éxécuter ? (pour effacer un seul pixel)
Citer : Posté le 15/12/2013 19:01 | #
J'avais seulement testé la vitesse de Cls, et ça avait donné 6.40ms, après je ne sais pas pour les deux autres focntions
Citer : Posté le 15/12/2013 20:34 | #
Tiens, au passage je viens de me poser une question : Entre Cls et PxlOff/PlotOff, lequel est le plus rapide à s'éxécuter ? (pour effacer un seul pixel)
http://www.planet-casio.com/Fr/forums/topic9648-1-Vitesse-des-fonctions-FX-CG10-%28+comparatifs-avec-G85-G100+%29.html
Vitesse des fonctions en Basic Casio | 7 days CPC | Casio Universal Wiki | Tutoriel Basic Casio
>>> Give me a click Brother <<< >>> Teste mon générateur de mots nouveaux <<<
>>> Random Youtube Video <<<
Citer : Posté le 15/12/2013 21:29 | #
Ok oui cela m’intéresse aussi car j'aimerai savoir comment effacer efficacement les traces de ma balle "pixel"
et je suis content qu'autant de personnes s'intéresse à mon sujet
merci encore
Elrylas
Citer : Posté le 16/12/2013 08:17 | #
Le plus simple, je pense, consiste a effacer ta balle, à modifier ses coordonnées, puis a l'afficher (si ta balle n'est juste qu'un seul pixel, ce ne devrait pas être très compliqué)
Citer : Posté le 17/12/2013 17:58 | #
C'est compliqué on ne voit ps assez le pixel...
Citer : Posté le 17/12/2013 18:13 | #
Tu peux choisir une configuration pour que les traits soient épais.
J'ai eu envie d'en créer un il est presque fini (j'ai galéré sur un bug).
Après la commande qui change le trait je me rappelle plus trop mais tout ce que je sais c'est qu'il se trouve dans le menu Setup.
Citer : Posté le 17/12/2013 18:32 | #
Dans ce cas, tu peux afficher une "trace", en gros tu as :
les variables pour les coordonnées de la balle (qui te servent pour afficher le point), que tu fais passer dans :
les variables des coordonnées de la trace (tu n'effaces pas le pixel présent à ces coordonnées), que tu transfères dans :
les variables du pixel à effacer.
Ce transfert de valeurs se fait à chaque tour de boucle
@Ray, non c'est dans le menu "Sketch", il faut faire F6 - F6 et choisir le sous-menu "Styl"
Citer : Posté le 17/12/2013 18:41 | #
Tu est sûr ?
En tout cas j'ai changé le type de trait et je l'affiche avec un F-Line X,Y,X,Y
Citer : Posté le 17/12/2013 21:06 | #
iens, au passage je viens de me poser une question : Entre Cls et PxlOff/PlotOff, lequel est le plus rapide à s'éxécuter ? (pour effacer un seul pixel)
Cls est 6 fois plus rapide.
Pour 1000 itérations Cls met 8,6s tandis que PlotOff et PixelOff mettent 52s
Citer : Posté le 17/12/2013 21:15 | #
quand même, c'est bon à savoir
Jouez à 6 sur une seule calto : Curve Fever
Un die and retry qui vous fera bieeeen rager Test Andropov
un très bon sokoban
le seul vrai jeu de foot en basic : FIFA 12
Ca c'est ce que j'appelle un jeu de reflexion jewel master
Qui vaincra l'intelligence artificielle de cet othello
Le célèbre pacman
Et tant d'autres BTL's games
Le jeu du mois de Novembre et award du jeu le plus dur de l'année 2013 MultiTask, testez-le
Citer : Posté le 17/12/2013 23:37 | #
Peut être que si tu calcules les nouvelles coordonnées, puis que tu affiches la nouvelles position de la balle (nouveau pixel) et que enfin tu effaces, tu verras peut-être mieux la balle. Ça fera en quelques sortes une trace mais très courte.
Citer : Posté le 18/12/2013 11:02 | #
Bon je vous passe le code vous préoccupez pas des prénoms.
Mon programme est lent comment puis-je l'accélérer. Je ne veux pas de corrections directes je veux juste que l'on m'explique ce qui ne va pas et comment y remédier.
Soyez indulgents c'est mon premier programme.
F-Line 1,11,1,63Ù
F-Line 1,11,127,11Ù
F-Line 127,11,127,63Ù
F-Line 127,63,1,63Ù
0ãUÙ
0ãVÙ
35ãAÙ
45ãBÙ
35ãHÙ
45ãIÙ
Lbl 2Ù
1ãDÙ
1ãEÙ
1ãFÙ
1ãGÙ
@7F8715,60)ãMÙ
63ãNÙ
(-1)ãQÙ
1ãRÙ
DoÙ
Text 1,5,"Baptiste"Ù
Text 1,40,UÙ
Text 1,60,"@7C"Ù
Text 1,80,VÙ
Text 1,90,"Antoine"Ù
PxlTest(A-2,10)ãDÙ
PxlTest(B+2,10)ãEÙ
PxlTest(H-2,118)ãFÙ
PxlTest(I+2,118)ãGÙ
F-Line 10,A,10,BÙ
F-Line 118,H,118,IÙ
PlotOn N,MÙ
GetkeyãCÙ
If C=74 And D=0Ù
Then Text B,10," "Ù
(A-2)ãAÙ
(B-2)ãBÙ
IfEndÙ
If C=72 And E=0Ù
Then Text A-1,10," "Ù
(A+2)ãAÙ
(B+2)ãBÙ
IfEndÙ
If C=54 And F=0Ù
Then Text I,118," "Ù
(H-2)ãHÙ
(I-2)ãIÙ
IfEndÙ
If C=52 And G=0Ù
Then Text H-1,118," "Ù
(H+2)ãHÙ
(I+2)ãIÙ
IfEndÙ
PxlTest(M+2,N)ãOÙ
PxlTest(M-2,N)ãPÙ
PxlTest(M,N-2)ãSÙ
PxlTest(M,N+2)ãTÙ
If O=1 Or P=1Ù
Then (-Q)ãQÙ
IfEndÙ
If S=1 Or T=1Ù
Then (-R)ãRÙ
IfEndÙ
M+QãMÙ
N-RãNÙ
PxlOff M+1,N+1Ù
PxlOff M+1,N-1Ù
PxlOff M-1,N+1Ù
PxlOff M-1,N-1Ù
If N<10Ù
Then U+1ãUÙ
Goto 2Ù
IfEndÙ
If N>118Ù
Then V+1ãVÙ
Goto 2Ù
IfEndÙ
LpWhile U<9 And V<9Ù
ClsÙ
Text 32,20,"Fin de la partie"
Citer : Posté le 18/12/2013 12:37 | #
Utilise la balise code [ code], ce sera beaucoup plus lisible
Exemple sans :
0ãUÙ
0ãVÙ
35ãAÙ
45ãBÙ
35ãHÙ
45ãIÙ
Lbl 2Ù
1ãDÙ
1ãEÙ
1ãFÙ
1ãGÙ
@7F8715,60)ãMÙ
63ãNÙ
(-1)ãQÙ
1ãRÙ
DoÙ
Text 1,5,"Baptiste"Ù
Text 1,40,UÙ
Exemple avec :
0ãVÙ
35ãAÙ
45ãBÙ
35ãHÙ
45ãIÙ
Lbl 2Ù
1ãDÙ
1ãEÙ
1ãFÙ
1ãGÙ
@7F8715,60)ãMÙ
63ãNÙ
(-1)ãQÙ
1ãRÙ
DoÙ
Text 1,5,"Baptiste"Ù
Text 1,40,UÙ
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2
merci a tout le monde pour son soutien
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm
(dont je connais le nom, mais pas vous )Arcuz !Citer : Posté le 18/12/2013 13:35 | #
ok merci edit posté, sinon des idées?