Posté le 07/11/2018 20:15
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 216 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
Citer : Posté le 10/11/2018 17:11 | #
Je vais regarder t'inquiète
J'ai du travail tu sais ?
Citer : Posté le 10/11/2018 17:12 | #
Ah mais je n’ai pas dit que j’étais pressé
Vous êtes fan de « The legend of Zelda ocarina of Time »,si c’est le cas allez voir ZeldaGAME
mon projet de jeu basic casio
Citer : Posté le 10/11/2018 17:33 | #
J'ai regardé, mais pas testé (j'arrive toujours pas à importer via l'émulateur), mais j'ai des remarques à faire :
Pourquoi ce n'est que pour le premier If où tu appliques PxlTest ? Il faut le faire pour chaque directions !
Les Black sont-ils vraiment indispensables (vrai question, j'en sais rien) ?
Pour ceci :
While J != 0
Black Circle 200, 114, J
J - 10 -> J
WhileEnd
Retire tout ces retours à la ligne, quelle perte de place !
Et aussi, pour ce genre de tâche For est plus adapté que While
Voici le code amélioré :
Black Circle 200, 114, J
Next
C'est bien plus court et lisible désormais
Je pense que ton code de déplacement est mal optimisé :
0 -> C //Inutile
Do
GetKey -> C
LpWhile C = 0
If C = 28 And Not PxlTest(J + 4, K) And Not PxlTest(J + 4, K + 5) :Then
Text J, K, " " //Encore
J - 10 -> J
Black Text J, K, "O" //Encore
IfEnd
If C = 38 :Then
Text J, K, " " //Encore
K - 10 -> K
Black Text J, K, "O" //Encore
IfEnd
If C = 37 :Then
Text J, K, " " //Encore
J + 10 -> J
Black Text J, K, "O" //Encore
IfEnd
If C = 27 :Then
Text J, K, " " //Encore
K + 10 -> K
Black Text J, K, "O" //Encore
IfEnd
WhileEnd
Voici donc un exemple d'optimisation :
J->E //On sauvegarde les coordonnées au début de la boucle
K->F
Do
GetKey -> C
LpWhile C = 0
If C = 28 And Not PxlTest(J + 4, K) And Not PxlTest(J + 4, K + 5) :Then
J - 10 -> J
IfEnd
If C = 38 :Then
K - 10 -> K
IfEnd
If C = 37 :Then
J + 10 -> J
IfEnd
If C = 27 :Then
K + 10 -> K
IfEnd
If J != E Or K != F:Then //Si les coordonnées ont changées, on actualise
Text E, F, " " //On efface le personnage à son ancienne position
Black Text J, K, "O" //On le redessine à sa nouvelle
WhileEnd
Notez bien que le code ne fonctionne toujours pas, je vais pas tout faire non plus...
Pars sur ce que j'ai dit, des PxlTest dans une boucle
Citer : Posté le 10/11/2018 18:52 | #
Le code que tu as optimisé est ULTRA bien,
Pour le noir c’est parce que c’est la seule couleur qui peut passer(pour une salle)
Pour les retours à la ligne je ne les ai pas dans mon code,
pour les *3 je peut donner en plus un code Python sur le fichier 2(téléchargement)
Je vais modifier ce programme et voir ce qu’il en ai,
En attendant merci à toi pour ton aide
(Qui sait, peut être que cela va fonctionner ?!)
Ajouté le 10/11/2018 à 19:05 :
Avec ta technique on peut encore plus optimiser le code en m’étant des Jumps on lieu du if complet !
Ajouté le 10/11/2018 à 19:06 :
À bah non il y a plusieurs conditions
Vous êtes fan de « The legend of Zelda ocarina of Time »,si c’est le cas allez voir ZeldaGAME
mon projet de jeu basic casio
Citer : Posté le 10/11/2018 19:06 | #
Avec ta technique on peut encore plus optimiser le code en m’étant des Jumps on lieu du if complet !
Hum... Non évite
Les Lbl Goto c'est trop instable.
Citer : Posté le 10/11/2018 19:09 | #
Ah si on peut j’ai testé
Ajouté le 10/11/2018 à 19:20 :
Par contre c’est bien , mais l’autre problème reste irrésolu
Ajouté le 10/11/2018 à 19:22 :
C’est à dire instable ?
Ajouté le 10/11/2018 à 19:28 :
Pour le pixel test quand on descend je dois faire :
Ajouté le 10/11/2018 à 19:29 :
Et pareil pour les côtés mais en largeur.
Vous êtes fan de « The legend of Zelda ocarina of Time »,si c’est le cas allez voir ZeldaGAME
mon projet de jeu basic casio
Citer : Posté le 10/11/2018 19:32 | #
Pour le pixel test quand on descend je dois faire :
Ajouté le 10/11/2018 à 19:29 :
Et pareil pour les côtés mais en largeur.
Comment ça ? Oui il faut partir de tes coordonnées, ajouter la largeur + 1 pour éviter des erreurs bêtes et tester.
Mais je ne comprend pas pourquoi tu as mis le -4
Ajouté le 10/11/2018 à 19:33 :
Et pour les Lbl :
Les labels sont à éviter autant que possible, ils sont lents et peuvent provoquer des bugs dans l'exécution du programme.
Citer : Posté le 10/11/2018 20:24 | #
Pour ne pas rater plein de murs vu que l’on avance de 10 par 10 pour une fiabilité obtimal je mettrai une boucle for,
Pour la première question c’est parce que les coordonnées de base sont en haut à gauche tiens un schéma :
Dessin du O (sprite)
KXXXXXXXXXXXX
XXXXQQQQQXXX
XXQQXXXXXQQXX
PXQQXXXXXQQXX
XQQXXXXXXXQQX
XQQXXXXXXXQQX
XQQXXXXXXXQQX
XQQXXXXXXXQQX
XXQQXXXXXQQXX
XXQQXXXXXQQXX
XXXXQQQQQXXXX
XXXXXXXXXXXXXX
XXXXXXXXXXXXXX
XXXXXXXXXXXXXX
XXXXXXXXXXXXXX
J
P : point qui sera analysé si c’est mal fait
J : point qui devrai être analysé
Q point noir
X: point blanc
X coordonnées 10,10
Si on fait :
On tombe sur P se n’est pas voulus
C’est pour ça qu’il faut faire
Et là on arrive sur J c’eslt ce qu’il faut
Tu comprends ???
Ça fait un gros bout d’un coup
Ajouté le 10/11/2018 à 20:27 :
Mince ça tu savais déjà
Pfff j’ai mis une demi heure
Vous êtes fan de « The legend of Zelda ocarina of Time »,si c’est le cas allez voir ZeldaGAME
mon projet de jeu basic casio
Citer : Posté le 10/11/2018 21:29 | #
Merci j'ai compris
Mais pourquoi -4 et pas -1 ou -20 par exemple ?
Citer : Posté le 11/11/2018 12:24 | #
S’ai Pas -1 ça rate tout les murs et -20 ça sert à rien.
Bon en fait sa marche pour de gauche a droite(mais pas super bien sa saute parfois des murs, mais ça marche pas pour monter et descendre.
Vous êtes fan de « The legend of Zelda ocarina of Time »,si c’est le cas allez voir ZeldaGAME
mon projet de jeu basic casio