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 » [Projet] Elphorina
Potter360 Hors ligne Rédacteur Points: 1254 Défis: 2 Message

[Projet] Elphorina

Posté le 30/12/2020 12:25

Bonjour !
Je suis en train de créer un jeu vidéo pour Graph Monochrome, je vous laisse pour l'histoire avec le README du dépôt Git :
Elphorina est un jeu pour Casio Graph Monochromes.

L'histoire : Dans le royaume d'Elphorina, deux camps se livrent une bataille sans merci pour une terre : le comté de Hannenbourg.

Vous êtes le réconciliateur, c'est-à-dire que vous avez le pouvoir de réconcilier les camps ennemis.

Vous devez donc vous rendre dans le comté d'Hannenbourg, pour arrêter cette guerre, donc vous vous enfermez 2 mois dans votre maison pour réviser vos secrets de magiciens.

Au bout de ces 2 mois, on a oublié de vous dire un petit détail : le royaume a été ravagé par une tempête, qui a tout détruit sur son passage.

Votre but ? Le reconstruire pour pouvoir passer.

Mais vous ne pourrez pas toujours ne mettre qu'un bout de bois ! Il faudra faire preuve d'une grande ingéniosité pour reconstruire le chemin...



Je vais avancer progressivement là dessus, en attendant vous pouvez trouver le dépôt (mis à jour régulièrement) ici : https://gitea.planet-casio.com/Potter360/Elphorina

Enjoy


Potter360 Hors ligne Rédacteur Points: 1254 Défis: 2 Message

Citer : Posté le 10/01/2021 21:24 | #


Non, en fait je me suis trompé dans mon message, j'ai bien mis ==...
Globalement, coder. Mal, mais coder.
Lephenixnoir Hors ligne Administrateur Points: 24563 Défis: 170 Message

Citer : Posté le 10/01/2021 21:26 | #


D'accord. Je vois aussi que cette remarque par KBD2 semble être passée complètement inaperçue (ce qui, volontairement ou pas, donne l'impression que tu ne lis qu'à moitié les réponses >_>).
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Potter360 Hors ligne Rédacteur Points: 1254 Défis: 2 Message

Citer : Posté le 10/01/2021 21:29 | #


Non non, j'avais changé mais il y a eu apparement un problème de sauvegarde, je vais voir ca...
Globalement, coder. Mal, mais coder.
Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 11/01/2021 07:59 | #


Tu sais, le copier coller ça existe, et ça permet d'éviter ce genre d'erreurs quand tu partage ton code.

Pour la sauvegarde, prends le réflexe de ctrl+s très régulièrement
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Potter360 Hors ligne Rédacteur Points: 1254 Défis: 2 Message

Citer : Posté le 12/01/2021 19:52 | #


Bonjour,j'ai changé <= en < comme m'a dit Kbd2 mais ça ne change rien ...
Globalement, coder. Mal, mais coder.
Kbd2 Hors ligne Membre Points: 269 Défis: 0 Message

Citer : Posté le 12/01/2021 22:40 | #


All it does is prevent a buffer overflow crash.
Potter360 Hors ligne Rédacteur Points: 1254 Défis: 2 Message

Citer : Posté le 13/01/2021 13:59 | #


Oh yes, thanks !
Donc, si vous avez une idée...

Ajouté le 15/01/2021 à 17:26 :
Help
Globalement, coder. Mal, mais coder.
Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 15/01/2021 17:34 | #


Dark storm a écrit :
On te répondra quand tu aura décrit et isolé ton problème, ce que tu as fait, ce que tu n'a pas fait, que tu pense faire, et prouvé que t'as un minimum bossé avant que les autres ne le fassent pour toi.

Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Potter360 Hors ligne Rédacteur Points: 1254 Défis: 2 Message

Citer : Posté le 15/01/2021 17:34 | #


Justement j'ai décris mon problème

Ajouté le 15/01/2021 à 17:35 :
(Evidemment je ne vous "presse" pas je relance juste le sujet sinon mon problème n'a aucune chance d'etre résolu)
Globalement, coder. Mal, mais coder.
Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 15/01/2021 17:36 | #


Ben reprend sa description, rend le plus lisible, compréhensible, met en valeur ce que tu as fait entre temps, ce qui a changé, poste un petit bout de code qui peut contenir le problème, etc.

Si tu n'a pas de réponse, c'est probablement que la question est mal posée, surtout sur Planète Casio.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Potter360 Hors ligne Rédacteur Points: 1254 Défis: 2 Message

Citer : Posté le 15/01/2021 17:39 | #


Ok alors, :

Les objets sont definis entre autre par une bool isCommenced et isFinish (isCommenced indique si le bloc commence une ligne de blocs,donc si il y a un bloc avant, et isFinish si il ya un bloc après)
Le personnage est defini par entre autre isWalkableTop et isWalkableBack, je vous laisse comprendre
Donc dans mon code j'ai : désolé pour l'indentation dégueulasse, ce n'est pas comme ca dans mon code)
                
        current_player->isWalkableTop = true;
        for(i=0;i<=(sizeof(ListOfObjects) / sizeof(struct object));i++)
        {
                if(current_player->x == xref+current_object->XrefAdd && current_object->isFinish == true)
                {
                         current_player->isWalkableTop = false;
                
                }
          }


Ici isWalkableTop = true au départ, et si la position x du joueur est la meme que celle du bloc selectionné et que ce bloc a sa variable isFinish selectionée, alors on ne peut pas marcher donc isWalkableTop = false.
Ensuite j'ai juste : if(isWalkableTop = true)
xref=xref+1

J'ai envoyé ca, et on m'a dit de changer >= par >, ce que j'ai fait.
Là, pas d'erreurs à la compilation, mais le personnage n'est juste pas arreté.
Globalement, coder. Mal, mais coder.
Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 15/01/2021 17:42 | #


Quel est le comportement attendu de ce code ? Sinon on ne pourra pas faire la différence entre un bug et une feature
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Potter360 Hors ligne Rédacteur Points: 1254 Défis: 2 Message

Citer : Posté le 15/01/2021 17:45 | #


Je l'ai dit dans mon message précedent :
Potter360 a écrit :
Ici isWalkableTop = true au départ, et si la position x du joueur est la meme que celle du bloc selectionné et que ce bloc a sa variable isFinish selectionée, alors on ne peut pas marcher donc isWalkableTop = false.

Le but c'est qu'il n'ya pas de blocs après les blocs avec isFinish = true, et que si le joueur est sur un de ses blocs, alors il ne pourra pas marcher.
Globalement, coder. Mal, mais coder.
Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 15/01/2021 17:48 | #


Est-ce que tu as vérifié que la condition current_player->x == xref + current_object->XrefAdd est correctement exécutée ? Et a le comportement attendu ? Idem pour l'autre partie de la condition.
Est-ce que tu as vérifié que mettre current_player->isWalkableTop = false; empêche bien le personnage de bouger ?
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Potter360 Hors ligne Rédacteur Points: 1254 Défis: 2 Message

Citer : Posté le 15/01/2021 17:51 | #


Le 1er je vois pas trop comment faire...

Ajouté le 16/02/2021 à 13:48 :
Logiquement, isWalkableTop empêche le joueur d'avancer :
        if(current_player->isWalkableTop == true)
            {
                xref = xref-1;
        }
        


Ajouté le 02/03/2021 à 21:13 :
Salutations !
Non, ce projet n'est pas mort.
Oui, j'y ai repensé cet après-midi !
Je m'y suis remis, et après une série de prints j'ai découvert que xref+current_object->XrefAdd était louche.
Je vais voir ça demain, et j'ai reposté ici pour faire "vivre" ce projet et montrer qu'il n'est pas mort.

Ajouté le 03/03/2021 à 11:14 :
J'ai avancé ce matin, et je vous passe les détails mais ça marche !
Je vais mettre à jour le Gitea dans la journée, mais je suis passé de Vim à Sublime Text et pour je ne sais quelle raison l'indentation est pétée ; je vais la rétablir avant de mettre tout cela à jour !

Ajouté le 03/03/2021 à 13:08 :
Désolé pour les doubles post x) !
J'ai mis tout cela sur Gitea, maintenant si le joueur est situé sur un bloc qui n'a pas de blocs après il ne peut pas avancer, et si il est situé sur un bloc qui n'a pas de blocs avant il ne peut pas reculer !
Je vais commencer à voir le système de vies.
Globalement, coder. Mal, mais coder.
Massena Hors ligne Ancien rédacteur Points: 2244 Défis: 11 Message

Citer : Posté le 03/03/2021 13:11 | #


Sympa !
C'est rare les gens qui passent de vim à subl3, généralement ça va dans l'autre sens
Un article prévu pour la RdP de ce week-end ?
Potter360 Hors ligne Rédacteur Points: 1254 Défis: 2 Message

Citer : Posté le 03/03/2021 13:14 | #


Bah pour la RDP j'étais déjà apparu dans l'un d'entre eux

Ajouté le 03/03/2021 à 13:59 :
J'ai rajouté les cœurs de vies et le signe "pause", ce n'est pas terminé et la vie n'est pas gérée mais voici un petit screen :


Globalement, coder. Mal, mais coder.
Kikoodx En ligne Ancien labélisateur Points: 3038 Défis: 11 Message

Citer : Posté le 03/03/2021 14:13 | #


Content de voir que le projet avance, bon courage pour la suite
Je te recommande de supprimer build-cg de ton dépôt, c'est lourd et inutile
$ git rm build-cg/ -r
$ echo "build-cg/" >> .gitignore
$ git commit -m "Add build-cg/ to .gitignore"
$ git push

ouais ouais
Potter360 Hors ligne Rédacteur Points: 1254 Défis: 2 Message

Citer : Posté le 03/03/2021 18:06 | #


Build cg tu veux dire ?

Ajouté le 03/03/2021 à 18:08 :
Je retire ce que je viens de dire

Ajouté le 24/03/2021 à 08:14 :
Bonjour !
Je continue de travailler sur Elphorina, mais avant de vous en parler je remets le screenshot pour la RdP :



La vie est contrôlée par les monstres (non présents sur le screenshot).
J'ai aussi revu le système d'objets, avec une liste.

Voilà, avancement bien maigre mais que je tenais à envoyer pour la RDP !

@RDP

Ajouté le 11/04/2021 à 13:32 :
RIP le RDP parti trop tôt
Globalement, coder. Mal, mais coder.
Lephenixnoir Hors ligne Administrateur Points: 24563 Défis: 170 Message

Citer : Posté le 11/04/2021 13:39 | #


Il y a une limitation à cause du fait que les messages sont repérés par date de création, et comme ton post a été fusionné avec le précédent il apparaît toujours comme daté du 3 Mars. Je songe à désactiver la fusion des posts si les deux posts ne sont pas du même jour voire entièrement, je crois que sur la v5 on n'en aura plus du tout.

Désolé pour le raté (que Tituya avait remarqué mais que je pouvais pas vraiment corriger). Si tu le peux assure-toi que quand tu postes tu évites la fusion (tu peux faire ça en mettant une pièce jointe bidon à ton message, tu peux même supprimer la pièce jointe après en modifiant le message).
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Potter360 Hors ligne Rédacteur Points: 1254 Défis: 2 Message

Citer : Posté le 11/04/2021 13:42 | #


Ok merci, je vais reposter cela !
Globalement, coder. Mal, mais coder.

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