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 » Problème en basic casio
Math680 Hors ligne Membre Points: 455 Défis: 5 Message

Problème en basic casio

Posté le 01/11/2018 09:50

Salut tout le monde,
avant toute chose je tiens à vous remercier d'avance.
Alors entrons dans le vif du sujet :je travaille sur un jeu en basic casio j'aimerais que sur un plan ou l'on peut se déplacer,
qu'il puisse y avoir en même temp une personnage tirant des projectiles (et donc j'aimerais pouvoir me déplacer pendant le trajet du projectile)
Malheureusement je ne sais pas le faire en basic casio, quelqu'un pourrai t'il m'aider ?


Merci encore et Bonne journée






1, 2 Suivante
Lephenixnoir Hors ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 01/11/2018 09:56 | #


As-tu pensé à écrire ta boucle principale de la façon suivante ?

Tant que le jeu tourne
  Lire les entrées clavier
  Déplacer le personnage
  Déplacer le projectile
  Afficher

Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Math680 Hors ligne Membre Points: 455 Défis: 5 Message

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


Mais le déplacement ne serai pas très fluide, si ?
Enfin plutôt réactif? ?
“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
Massena Hors ligne Ancien rédacteur Points: 2244 Défis: 11 Message

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


Le Basic Casio n'est pas fait pour être très réactif et rapide.
Math680 Hors ligne Membre Points: 455 Défis: 5 Message

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


Oui bien sûr,mais j'aimerai quand même avoir quelque chose de jouable
“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
Massena Hors ligne Ancien rédacteur Points: 2244 Défis: 11 Message

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


Prend des sprites TRÈS simples.
Aussi, tu as un handicap : tu ne peux pas enfermer ton getkey dans une boucle vu que l'IA se déplace en temps réel.
Il faut faire de l'optimisation. Tu comptes le faire en graphique ou en locate ?
Kikoodx Hors ligne Ancien labélisateur Points: 3039 Défis: 11 Message

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


Math680 a écrit :
Oui bien sûr,mais j'aimerai quand même avoir quelque chose de jouable

Déjà aie quelque chose ce serait déjà bien
Ensuite la solution de LePhénixNoir est la solution, tu n'as pas vraiment le choix, je suis en train de coder un petit moteur Basic ayant pour but de gérer jusqu'à 5 "Sprites" parametrables, c'est rapide jusqu'à deux et correct jusqu'à 4.
Mais c'est une calculatrice, pas un Game Boy ne t'inquiète pas

Ajouté le 01/11/2018 à 10:12 :
Massena a écrit :
Prend des sprites TRÈS simples.
Aussi, tu as un handicap : tu ne peux pas enfermer ton getkey dans une boucle vu que l'IA se déplace en temps réel.
Il faut faire de l'optimisation. Tu comptes le faire en graphique ou en locate ?

C'est pour ça que je ne travaille qu'en Locate
Enfin il ne peut pas enfermer le Getkey, même avec une latence d'une demi-seconde c'est correct pour les déplacements, faut juste trouver une solution pour le tir selon moi.
ouais ouais
Massena Hors ligne Ancien rédacteur Points: 2244 Défis: 11 Message

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


L'orientation du personnage par rapport au tireur.

Ajouté le 01/11/2018 à 10:13 :
Ça se fait peut-être via les coordonnées
Kikoodx Hors ligne Ancien labélisateur Points: 3039 Défis: 11 Message

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


Massena a écrit :
L'orientation du personnage par rapport au tireur.

Ajouté le 01/11/2018 à 10:13 :
Ça se fait peut-être via les coordonnées

C'est à dire ?
Que le tir se déplace dans la direction opposée du personnage ?
Ça pourrait se faire mais c'est plutôt complexe.
Le plus simple serait de mettre en place des vecteurs de déplacement je pense.
ouais ouais
Massena Hors ligne Ancien rédacteur Points: 2244 Défis: 11 Message

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


Bon bah là ça me dépasse x)
Kikoodx Hors ligne Ancien labélisateur Points: 3039 Défis: 11 Message

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


Massena a écrit :
Bon bah là ça me dépasse x)

Dit comme je l'ai dit ça à l'air complexe, mais c'est juste deux variables que tu additionnes.
Si tu as X=4 et Y=8 et vecteurs (je ne pense pas que ce soit approprié ici) V=0 et W=1 alors X=4+V=4 et Y=8+W=9
ouais ouais
Math680 Hors ligne Membre Points: 455 Défis: 5 Message

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


J'ai oublié de préciser que je code sur 90+e donc c'est un peu plus puissant, je pense
et je souhaitais le faire en graphique
Mais est-ce vraiment une bonne idée
“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
Shadow15510 Hors ligne Administrateur Points: 5503 Défis: 18 Message

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


Le BASIC Casio des Graph 90+E est moins puissant que celui des Graph 35, 75, 85, 95 C'est pas logique c'est vrai, mais c'est comme ça...
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Math680 Hors ligne Membre Points: 455 Défis: 5 Message

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


C'est vraiment moins puissant ou juste un peu ?
“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 01/11/2018 10:47 | #


Math680 a écrit :
C'est vraiment moins puissant ou juste un peu ?

LePhénixNoir a dit : juste un peu.
ouais ouais
Ne0tux Hors ligne Membre d'honneur Points: 3525 Défis: 265 Message

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


Résumons : tu souhaites avoir deux éléments qui se déplacent sur ton écran :

-> un personnage contrôlé par le joueur
-> un projectile tiré par le joueur qui suit ensuite une trajectoire rectiligne

Si tu n'as que ces deux éléments (un seul joueur et un seul projectile) c'est tout à fait faisable et ça sera fluide, tant que chacun de ces éléments reste "graphiquement simple". D'ailleurs si tu modélises un projectile par un simple trait, je pense que le Multidrawstat pourrait te permettre de faire 4-5 projectiles se déplaçant simultanément.

Maintenant, la question est de savoir ce à quoi tu donnes la priorité : le déplacement du joueur ou des projectiles ? Dans le premier cas tu pourrais par exemple mettre à jour les coordonnées des projectiles mais ne pas les afficher tout de suite si le joueur vient d'appuyer sur une touche, car alors il faudra en priorité déplacer le personnage. Dans le second cas il n'y a rien d'autre à faire que suivre l'ordre proposé par Lephé.

Pour ce qui est des connaissances à mobiliser je vois :

-> savoir récupérer une touche (Getkey)
-> connaitre les bases du Basic (Variables, boucles, conditionnelles)
-> avoir déjà essayé le Multidrawstat et/ou le SuperDrawstat (Pour afficher le personnage)
-> avoir compris ce qu'est une équation de droite
-> savoir manipuler les Lists (Pour mettre à jour la position des projectiles)
-> avoir déjà observé un exemple d'utilisation de BG-Pict et l'utilisation maligne du View-Windows, pour garder à l'écran le personnage lorsque les projectiles sont déplacés, par exemple


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 !
Lephenixnoir Hors ligne Administrateur Points: 24574 Défis: 170 Message

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


Il est juste un peu plus lent sur l'affichage à cause de l'écran couleur plus gros. Juste un poil.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Math680 Hors ligne Membre Points: 455 Défis: 5 Message

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


Je n'ai jamais utilisé le multi n'y le super drawstat
J'ai pas bien compris se qu'est l'histoire de priorité ?
“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
Drak Hors ligne Rédacteur Points: 1925 Défis: 40 Message

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


Ces deux techniques sont expliquées dans les tutoriels suivants :
https://www.planet-casio.com/Fr/programmation/tutoriels.php?id=63 (multi)
https://www.planet-casio.com/Fr/programmation/tutoriels.php?id=41 (super)

ensuite, pour rebondir avec ce que dit Ne0tux, tu as ce tutoriel qui t'explique comment te servir des entrées (getKey, principalement) : TDM 04 ; ainsi que ce tutoriel qui explique comment se servir des listes en détail, qui sert peut-être davantage de documentation détaillée : TDM 02

Eon the Dragon : version 1.2
Let's have a look!
Marre de ces RPGs qui t'imposent des classes, des compétences et des sorts ? Crée tes propres capacités sur Eon the Dragon ! Des monstres, des dragons et des combats aussi épiques que difficiles t'attendent !
Un RPG unique et immense t'attend ! Joue dès maintenant à Aventura, le Royaume Poudingue !
Vous aussi, soyez swag et rejoignez Planète Casio !
Ne0tux Hors ligne Membre d'honneur Points: 3525 Défis: 265 Message

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


Merci pour les compléments Drak ! C'est franchement stylé de pouvoir linker des TDM.

@Math' : pour la priorité c'est tout simple : si l'affichage des projectiles prend un peu de temps, même infime, alors dans cet intervalle le joueur ne pourra pas se déplacer car la calculatrice sera "occupée". L'idée c'est donc de retarder l'affichage des projectiles si on détecte que le joueur a appuyé sur une touche !

Du reste je pense que tu as toutes les cartes entre les mains à présent. Il faut juste te lancer.
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 !
Manolo Hors ligne Membre Points: 910 Défis: 13 Message

Citer : Posté le 01/11/2018 11:33 | #


Massena a écrit :
Le Basic Casio n'est pas fait pour être très réactif et rapide.

mais en bidouillant un peu on peut le rendre fluide et rapide...
1, 2 Suivante

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