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 - Projets de programmation


Index du Forum » Projets de programmation » Optimiser Jeu Type "Tron"
Blerain Hors ligne Membre Points: 64 Défis: 0 Message

Optimiser Jeu Type "Tron"

Posté le 30/04/2012 15:33

Bonjour,
J'ai pour idée de faire un jeu type "Tron".
On contrôle un pixel comme pour un Snake, sauf que là le pixel laisse derrière lui les pixels allumés. Il ne faut pas toucher un pixel déjà allumé.
Dans le fichier joint j'ai mis la base de mon programme.
Mais comme je suis débutant , je pense pas qu'il soit optimisé à fond. Se qui baisse certainement la vitesse du jeu.
Sa serait vraiment cool si quelqu'un pouvait m'expliquer comment l'optimiser.
Merci !

Ps : je compte évidemment mettre un mode contre la calto.




Fichier joint


Totoyo Hors ligne Membre d'honneur Points: 16093 Défis: 102 Message
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 30/04/2012 16:04 | #


C'est pas mal, mais j'aime pas trop le système de C=direction parmi {1, 2, 3, 4}
Je pense qu'il est plus simple d'utiliser 2 variables correspondant au déplacement en abscisse et en ordonnée. Exemple :
Do
PxlOn B,A
GetKey
If C
Then Ans=28=>-1->D
Ans=37=>1->D
D=>0->C
Else Ans=38=>-1->C
Ans=27=>1->C
C=>0->D
IfEnd
A+C->A
B+D->B
LpWhile 0=PxlTest(B,A

Après c'est un avis personnel, la vitesse d'exécution ne varie pas énormément.
Totoyo Hors ligne Membre d'honneur Points: 16093 Défis: 102 Message
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 30/04/2012 16:10 | #


@ PLL, n'est-ce pas plus rapide de mettre LpWhile Not PxlTest(B,A ?
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 30/04/2012 16:33 | #


Cartix a écrit :

@ PLL, n'est-ce pas plus rapide de mettre LpWhile Not PxlTest(B,A ?

J'ai testé, c'est effectivement plus rapide de 0.15 millisecondes
Ne0tux Hors ligne Membre d'honneur Points: 3524 Défis: 265 Message

Citer : Posté le 30/04/2012 16:36 | #


Pierrotll a écrit :
J'ai testé, c'est effectivement plus rapide de 0.15 millisecondes


C'est ce qui permet aux bons joueurs comme moi (par exemple 8) ) de gagner !

Je suis curieux de voire la façon dont tu vas traiter la gestion du lightcycle piloté par la calculatrice !

Mes principaux jeux : Ice Slider - CloneLab - Arkenstone

La Planète Casio est accueillante : n'hésite pas à t'inscrire pour laisser un message ou partager tes créations !
Blerain Hors ligne Membre Points: 64 Défis: 0 Message

Citer : Posté le 30/04/2012 16:39 | #


Merci !
La solution de Pierrotll étant plus complexe que la mienne, je n'y avais pas pensé .
Par contre l'histoire du

LpWhile 0=PxlTest(B,A
//ou du
LpWhile Not PxlTest(B,A


Je n'y arrive pas sa se "fini" dès que je lance

Je suis curieux de voire la façon dont tu vas traiter la gestion du lightcycle piloté par la calculatrice !


J'y réfléchi :/
Chez moi il pleut 2 fois par an.
Une fois pendant 4 mois.
Une autre pendant 6 mois.
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 30/04/2012 16:44 | #


Je le trouve au contraire plus simple.

Evidemment, avant d'entrer dans cette boucle il faut qu'une des variables C ou D soit non nulle.
Blerain Hors ligne Membre Points: 64 Défis: 0 Message

Citer : Posté le 30/04/2012 16:53 | #


Ok Merci !


Je le trouve au contraire plus simple.


Je n'ai pas encore "l'esprit" d'un programmeur, c'est pourquoi mes programmes sont un peu du "bricolage".
Mais ça viendra
Chez moi il pleut 2 fois par an.
Une fois pendant 4 mois.
Une autre pendant 6 mois.
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 30/04/2012 17:20 | #


Je suis d'accord ac PLL, c'est plus simple comme ça
Nitrosax Hors ligne Ancien rédacteur Points: 1061 Défis: 17 Message

Citer : Posté le 01/05/2012 09:09 | #


J'avais essayé de refaire Achtung die Kurve sur calto avec PRGM2. Malheureusement, il est très difficile de coordonner les deux calculatrices tout en ayant une vitesse d’exécution potable.

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