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


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?

Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

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
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 15:06 | #


pas tout compris...
Totoyo Hors ligne Membre d'honneur Points: 16103 Défis: 102 Message

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é :
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[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"

Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

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
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 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!
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

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
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 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...

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 221 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