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 » Question :E
Math680 Hors ligne Membre Points: 455 Défis: 5 Message

Question :E

Posté le 07/11/2018 20:15

Salut à tous,
alors le sujet,
en vue de mon projet personnel de programmation : ZeldaGAME
Je souhaiterai que un programme en basic casio puisse analyser s’il y a un caractère à un endroit donné pour pouvoir par la suite pouvoir stocker un 1 dans une matrice

Mais malheureusement je ne sais pas comment faire... même si je pense que vous aviez compris

Bon merci d’avance les casionotes


Manolo Hors ligne Membre Points: 910 Défis: 13 Message

Citer : Posté le 09/11/2018 17:59 | #


on peut le faire sur Bide aussi. que pour calculatrice monochrome...
Math680 Hors ligne Membre Points: 455 Défis: 5 Message

Citer : Posté le 09/11/2018 17:59 | #


C'est bon j'ai trouvé seulement, ça me fait une erreur domaine ,regardez ça
(Juste pour avancer)
90 -> J
300 -> K
Black Text J,K,"O"
While 1
0 -> C
Do
Getkey > C
LpWhile C=0
If C=28
Then
If Not PxlTest(K,J+1)  #j'inversse les coordonné
Then Text J,K,"O"
Ifend
Ifend
WhileEnd

me suis-je trompé si oui que dois-je faire ?
Ensuite je ne sais toujours pas si je peut dessiner en marron ?
Et puis c'est tout
“Il y a bien moins de difficultés à résoudre un problème qu’à le poser.”

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
Manolo Hors ligne Membre Points: 910 Défis: 13 Message

Citer : Posté le 09/11/2018 18:05 | #


comme pour les fonction
Text
Pxlon
PxlTest
etc, on met les coordonnés verticales puis horizontales.
Math680 Hors ligne Membre Points: 455 Défis: 5 Message

Citer : Posté le 09/11/2018 18:37 | #


ok donc je dois faire ça :
If Not PxlTest(J+1,K)


Ajouté le 09/11/2018 à 19:43 :
Sur Casio 90+e
J'aurais souhaiter faire un programme en mode graphique où un personnage soit dans la capacité de se déplacer ( grâce au différentes flèches que l'on peut trouver sur une CG) ,
Attention autour de celui-ci se trouve des murs,
en toute logique il ne doit pas pouvoir les dépasser,
pour cela j'ai donc réalisé un petit programme qui consiste a observer si il y a des pixels devant lui,
après avoir interprété cette idée j'ai réalisé le programme si dessous :
(sans le graphique et juste la touche Avancer):
90 -> J
300 -> K
Black Text J,K,"O"
While 1
0 -> C
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,"O"
Ifend
WhileEnd


Après avoir réalisé ceci,
contre toutes mes attentes,
Lorsque je montais vers le haut, le personnage traversait tout comme avant
j'ai donc testé des constructions différentes pour mon programme, vérifié encore et encore le programme,
mais, toujours rien.
C'est donc pour ça que je fais appel à la communauté :
Dans le but de trouver une solution a mon problème.

Est-ce mieux (Dark Storm)


“Il y a bien moins de difficultés à résoudre un problème qu’à le poser.”

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

Citer : Posté le 09/11/2018 20:20 | #


Bon, y'a pas mal de trucs qui foirent dans ce code.

Déjà, ton perso ne bouge pas. À aucun moment il n'est écrit que J et K doivent changer de valeur suivant le Getkey.

Ensuite, poser l'algo au propre peut aider :
Initialiser la position du joueur
Tant que 1
    `Récupérer le Getkey`

    Si `la touche est la touche haut` Alors
        Si `le pixel au dessus du joueur est éteint` Alors
            `La position est actualisée un pixel plus haut`
        Fin Si
    Fin Si

    Si `la touche est la touche bas` Alors
       ...
    Fin Si

    ...

Fin Tant que


Ensuite on converti ce qu'on veut en Basic Casio :

Récupérer le Getkey : on stocke le Getkey dans la variable G. Tu l'as très bien fait tout seul.
la touche est la touche haut : ça correspond en Basic à la notion de Getkey. Donc G=28 dans notre cas. Pareil pour les autres touches suivant leur keycode.
le pixel au dessus du joueur est éteint : on va avoir besoin de découper ça en deux : le pixel au dessus du joueur puis est eteint. Cf plus bas
La position est actualisée un pixel plus haut : on va faire varier J et K suivant la direction qu'on souhaite : K+1→K par exemple.

le pixel au dessus du joueur correspond à la position du joueur moins 1 pixel (ou plus 1, ça dépend de ton ViewWindow). Attention, si c'est le pixel en dessous, ça correspond à la position plus 1 pixel plus la hauteur en pixels du joueur.
est eteint : PxlTest retourne 0.

Attention à ne pas mélanger X et Y dans les fonctions Text et PxlTest. Pour être sûr, consulte la liste des fonctions Basic.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Math680 Hors ligne Membre Points: 455 Défis: 5 Message

Citer : Posté le 09/11/2018 20:37 | #


Euh, pour le personnage qui ne se déplace pas j'ai oublié de le mettre le post

Ajouté le 09/11/2018 à 20:40 :
J'ai oublié en plus de préciser que à chaque actualisation la personnage avance de 10 pixels,
ça change beaucoup de chose.
Donc :
J+10→J
Text J,K,"O"


“Il y a bien moins de difficultés à résoudre un problème qu’à le poser.”

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
Manolo Hors ligne Membre Points: 910 Défis: 13 Message

Citer : Posté le 10/11/2018 00:34 | #


Oui, si il avance de dix, il se peut qu'il "rate" la ligne, c'est pour ça que dans la plupart de mes jeux en graphisme où il y a un PxlTest, je fais de gros cubes ( pour les murs ) pour pas rater le "mur",
Et sinon, je te conseil d'utiliser les variables A et B ( A en horizontal et B en Vertical ) et K ou G pour le Getkey, mais la variable C est clairement moins utilisé pour le GetKey car généralement, elle sert déjà à autre chose.
Math680 Hors ligne Membre Points: 455 Défis: 5 Message

Citer : Posté le 10/11/2018 10:40 | #


Déjà je vais faire des murs un peu plus épais mais,
Pour le faire partout j’aurais besoin d’une seconde couleur qui pourrait être du marron
Pourquoi:
Au milieu de la pièce se trouve un cercle(noir :
Puis en plus petit au même endroit un cercle blanc, puis un cercle noir etc...
Le problème c’est que si je épaissi mon cercle noir on ne vera plus le blanc c’est pour ça que j’aimerais,
Avoir du marrons: pour remplacer mon cercle blanc en cercle noir
Pour A et B les variables sont déjà utilisées.

“Il y a bien moins de difficultés à résoudre un problème qu’à le poser.”

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
Kikoodx Hors ligne Ancien labélisateur Points: 3039 Défis: 11 Message

Citer : Posté le 10/11/2018 11:00 | #


Manolo a écrit :
Oui, si il avance de dix, il se peut qu'il "rate" la ligne, c'est pour ça que dans la plupart de mes jeux en graphisme où il y a un PxlTest, je fais de gros cubes ( pour les murs ) pour pas rater le "mur",
Et sinon, je te conseil d'utiliser les variables A et B ( A en horizontal et B en Vertical ) et K ou G pour le Getkey, mais la variable C est clairement moins utilisé pour le GetKey car généralement, elle sert déjà à autre chose.

Tes conseils sont... étranges.
Je suis d'accord pour les variables du Getkey, mais pour le reste c'est comme on veut...
Et précise, à quoi sert à quoi "généralement" ? Moi par exemple j'utilise toujours I et J pour les coordonnées, A et B comme variables temporaires, G pour le Getkey, V et W si j'ai besoin de stocker plus de coordonnées, etc.
Chacun se crée ses conventions en Basic Casio j'ai l'impression

Math680 a écrit :
Déjà je vais faire des murs un peu plus épais mais,
Pour le faire partout j’aurais besoin d’une seconde couleur qui pourrait être du marron
Pourquoi:
Au milieu de la pièce se trouve un cercle(noir :
Puis en plus petit au même endroit un cercle blanc, puis un cercle noir etc...
Le problème c’est que si je épaissi mon cercle noir on ne vera plus le blanc c’est pour ça que j’aimerais,
Avoir du marrons: pour remplacer mon cercle blanc en cercle noir
Pour A et B les variables sont déjà utilisées.


Et pas la peine de faire des gros blocs, tu peux mettre le PxlTest dans un For par exemple, c'est lent mais en même temps fallait pas choisir ce fonctionnement
Et pour gagner du temps, effectivement augmenter l'épaisseur des murs et une bonne idée : des murs de 2 d'épaisseur prendront 2 fois moins de temps à tester qu'un mur de 1 pixel.
Comme je l'ai dit plus haut, tu fais ce que tu veux avec tes variables.
ouais ouais
Math680 Hors ligne Membre Points: 455 Défis: 5 Message

Citer : Posté le 10/11/2018 11:04 | #


De toutes façons le programme ne marche pas le personnage traverse toujours les murs
“Il y a bien moins de difficultés à résoudre un problème qu’à le poser.”

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
Kikoodx Hors ligne Ancien labélisateur Points: 3039 Défis: 11 Message

Citer : Posté le 10/11/2018 11:06 | #


Math680 a écrit :
De toutes façons le programme ne marche pas le personnage traverse toujours les murs

Tu pourras mettre ton code entier en fichier joint ?
Je regarderais cette après-midi si j'ai le temps, et les autres aussi.
ouais ouais
Manolo Hors ligne Membre Points: 910 Défis: 13 Message

Citer : Posté le 10/11/2018 11:08 | #


j'ai juste remarqué que c'était plus courant, enfin, je peut me tromper bien sur...
Math680 Hors ligne Membre Points: 455 Défis: 5 Message

Citer : Posté le 10/11/2018 11:10 | #


D’accord je mettrai tout mais je le ferai après
Je suis pas déjà sur mon pc je vais voir ça tout à deux heures sa veut dire dans moins de deux heures parce que tout àl’heure c’est : dans moins d’une heure
“Il y a bien moins de difficultés à résoudre un problème qu’à le poser.”

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
Math680 Hors ligne Membre Points: 455 Défis: 5 Message

Citer : Posté le 10/11/2018 12:11 | # | Fichier joint


Tenez le programme est en pièce jointe (ouvrez-le avec BIDE)
En attendant la Alpha -0.99, je vais sortir la version avant celle-ci : Alpha -1.0
Elle comporte :
Ajout dans le menu :
Info est utilisable
Quitter est utilisable
Lors de la cinématique les fautes sont corrigées.
Bon code

Ajouté le 10/11/2018 à 13:08 :
Ah nouveau problème :
Cela fait déjà plusieurs fois que lorsque je récupère le fichier sur BIDE et que je le renvois modifié sur la calculatrice
Sur toutes les fonctions : Text Y,X
je me retrouve avec : Text (Y)*3,(X)*3
Je dois donc tout retirer et sa prend une demi heure à chaque fois,
Avez-vous une solution
“Il y a bien moins de difficultés à résoudre un problème qu’à le poser.”

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
Manolo Hors ligne Membre Points: 910 Défis: 13 Message

Citer : Posté le 10/11/2018 13:09 | #


ah, c'est pour ça les "Hors domaine" tout le temps!
Math680 Hors ligne Membre Points: 455 Défis: 5 Message

Citer : Posté le 10/11/2018 13:10 | #


Ouais il faut retirer tout les fois 3 mais comment pui-je le faire ?

Ajouté le 10/11/2018 à 13:10 :
RAPIDEMENT et publier sans les *3

Ajouté le 10/11/2018 à 13:11 :
enfin je parlais de retirer les 3* rapidement pas que vous deviez répondre rapidement
“Il y a bien moins de difficultés à résoudre un problème qu’à le poser.”

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
Manolo Hors ligne Membre Points: 910 Défis: 13 Message

Citer : Posté le 10/11/2018 13:16 | #


on avais compris...
Math680 Hors ligne Membre Points: 455 Défis: 5 Message

Citer : Posté le 10/11/2018 13:18 | #



on sait jamais,
par contre l'histoire des *3 c'est embêtant
“Il y a bien moins de difficultés à résoudre un problème qu’à le poser.”

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
Kikoodx Hors ligne Ancien labélisateur Points: 3039 Défis: 11 Message

Citer : Posté le 10/11/2018 13:22 | #


Math680 a écrit :

on sait jamais,
par contre l'histoire des *3 c'est embêtant

Tu te fais un petit script qui les vire °°
ouais ouais
Math680 Hors ligne Membre Points: 455 Défis: 5 Message

Citer : Posté le 10/11/2018 13:26 | #


comment ?
En quelle language ?
“Il y a bien moins de difficultés à résoudre un problème qu’à le poser.”

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
Kikoodx Hors ligne Ancien labélisateur Points: 3039 Défis: 11 Message

Citer : Posté le 10/11/2018 13:38 | #


Math680 a écrit :
comment ?
En quelle language ?

Peu importe...
Par exemple en Python :
code = """Colle ton code ici"""
code = code.replace("(Y)*3", "Y")
code = code.replace("(X)*3", "X")
with fichier as open("sortie.txt", "w"):
    fichier.write(code)

NB : je n'ai pas testé le code je suis sur mon téléphone.

Ajouté le 10/11/2018 à 13:41 :
Ou plus compact et moins lisible :
with fichier as open("sortie.txt", "w"):
    fichier.write("""Colle ton code ici""".replace("(Y)*3").replace("(Y)*3"))

ouais ouais

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