Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Autres questions


Index du Forum » Autres questions » Problème création d'un Pong
Elrylas Hors ligne Membre Points: 20 Défis: 0 Message

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


1, 2 Suivante
Louloux Hors ligne Ancien administrateur Points: 7035 Défis: 61 Message

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.

Elrylas Hors ligne Membre Points: 20 Défis: 0 Message

Citer : Posté le 15/12/2013 15:28 | #


Je sais mais comment coder cela?
Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

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.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Elrylas Hors ligne Membre Points: 20 Défis: 0 Message

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.
Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

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
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Ray Hors ligne Membre Points: 1338 Défis: 18 Message

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)
Projets que je soutiens
Masquer
Thomatos Hors ligne Ancien administrateur Points: 3497 Défis: 39 Message

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
Totoyo Hors ligne Membre d'honneur Points: 16103 Défis: 102 Message
Elrylas Hors ligne Membre Points: 20 Défis: 0 Message

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
Positon Hors ligne Rédacteur Points: 2396 Défis: 57 Message

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é)
Elrylas Hors ligne Membre Points: 20 Défis: 0 Message

Citer : Posté le 17/12/2013 17:58 | #


C'est compliqué on ne voit ps assez le pixel...
Ray Hors ligne Membre Points: 1338 Défis: 18 Message

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.
Projets que je soutiens
Masquer
Positon Hors ligne Rédacteur Points: 2396 Défis: 57 Message

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"
Ray Hors ligne Membre Points: 1338 Défis: 18 Message

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
Projets que je soutiens
Masquer
Ninestars Hors ligne Membre Points: 2462 Défis: 24 Message

Citer : Posté le 17/12/2013 21:06 | #


Ray a écrit :
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
Btl Hors ligne Ancien modérateur Points: 3879 Défis: 107 Message

Citer : Posté le 17/12/2013 21:15 | #


quand même, c'est bon à savoir
Un excellent tuto video qui vous explique comment transférer des fichiers de l'ordinateur vers la calculatrice et vice versa ma chaine youtube
mes jeux
mes jeux

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
Binary_man Hors ligne Ancien rédacteur Points: 1344 Défis: 19 Message

Citer : Posté le 17/12/2013 23:37 | #


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é)


C'est compliqué on ne voit ps assez le pixel...


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.

Calculettes : Graph 75, Graph 95, classpad 330 et FX-CG20 !!
Elrylas Hors ligne Membre Points: 20 Défis: 0 Message

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.


ViewWindow 1,127,0,63,1,0Ù
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"
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

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ã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Ù

Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
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

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
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 !
Elrylas Hors ligne Membre Points: 20 Défis: 0 Message

Citer : Posté le 18/12/2013 13:35 | #


ok merci edit posté, sinon des idées?

1, 2 Suivante

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 241 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd