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 18/12/2013 13:35 | #
ok merci edit posté, sinon des idées?
Citer : Posté le 18/12/2013 14:26 | #
A chaque tour de boucle, tu reaffiche toutes les infos
Text 1,5,"Baptiste"
Text 1,40,U
Text 1,60,"@7C"
Text 1,80,V
Text 1,90,"Antoine"
Mets les hors de la boucle, et enregistre les dans une picture. ensuite tu réaffiche la picture a chaque tour de boucle, ce sera beaucoup plus rapide
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 15:06 | #
pas tout compris...
Citer : Posté le 18/12/2013 15:17 | #
Il est lent car tu affiches systématiquement les Nom de joueur. Tu l'affiches une seule fois, ça suffira. De plus, si aucune touche n'est appuyée, pourquoi vérifier les conditions (If) ? J'ai mis en vert le code modifié :
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[green]
Text 1,5,"Baptiste"
Text 1,40,U
Text 1,60,"@7C"
Text 1,80,V
Text 1,90,"Antoine"[/green]
Do
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
[green]Do[/green]
Getkey->C[green]
LpWhile C=0[/green]
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"
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 18/12/2013 15:21 | #
En fait, le jeu doit réafficher les text 1,5,"Baptiste", etc. a chaque fois, et c'est ça qui ralentit
La technique pour aller plus vite, est d'enregistrer ces infos dans une picture, et de la réafficher a la place, vu qu'elle est beaucoup plus rapide a afficher
http://www.planet-casio.com/Fr/reference_basic_casio/commande_basic.php?fonc=85
http://www.planet-casio.com/Fr/reference_basic_casio/commande_basic.php?fonc=86
Un exemple :
Text 1,5,"Baptiste"
Text 1,40,U
Text 1,60,"@7C"
Text 1,80,V
Text 1,90,"Antoine"
StoPict 1
do
RclPict 1
//autre chose
Cls
Lpwhile 1
sera bien plus rapide que
do
Text 1,5,"Baptiste"
Text 1,40,U
Text 1,60,"@7C"
Text 1,80,V
Text 1,90,"Antoine"
//autre chose
Cls
Lpwhile 1
Ajouté le 18/12/2013 à 15:22 :
Arf, trop lent
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 15:23 | #
Oui mais si on ne l'affiche qu'un fois les scores ne seront pas actualisés
Ajouté le 18/12/2013 à 15:25 :
ok j'avais pas vu ta réponse dodormeur et sinon pour la taille du pixel ?
re-edit
Est ce que les valeurs de U et V seront actualisées car c'est le score quand même et
Sinon des commentaires par rapport au code? Dautres idées pour l'accélérer?
Encore merci pour l'intérêt qu vous portez à cette discution!
Citer : Posté le 18/12/2013 15:39 | #
Les scores ne seront pas réactualises, mais tu peux le faire facilement toi même
Quand la balle sort de l’écran et que tu augmente les scores, tu peut les réafficher et réenregistrer la picture, comme ça il n'y aura qu'une légère perte de vitesse a ce moment la
Sinon le code est pas mal, c'est juste que je ne trouve pas le lbl 2, et en règle générale essaye de ne pas trop utiliser les labels
Et quand tu as un if-then-ifend avec juste une instruction pour le then, tu peut utiliser (condition)=>(instruction ), c'est plus condensé
Sinon pour la taille du pixel, je ne connais pas de fonction pour cela
Tu peux toujours essayer de faire une balle plus grande avec 4 pixels, mais cela va ralentir ton programme
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 15:57 | #
Bon bah encore merci j'ai pigé l'astuce...
J'attend n sait-on jamais, d'autres idées. Soyons fou
J'suis jamais allé autant sur un forum, attendant avec impatience la prochaine réponse.
La j'étais pas là je me suis mis un ptit avatar, c'est plus sympa vu que je compte être actif sur ce forum
car j'ai d'autres jeu et cours et une imagination débordante,projets plein la tête...
Mais je vais pas spamé des posts...