[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
Citer : Posté le 10/01/2021 21:24 | #
Non, en fait je me suis trompé dans mon message, j'ai bien mis ==...
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 >_>).
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...
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
Citer : Posté le 12/01/2021 19:52 | #
Bonjour,j'ai changé <= en < comme m'a dit Kbd2 mais ça ne change rien ...
Citer : Posté le 12/01/2021 22:40 | #
All it does is prevent a buffer overflow crash.
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
Citer : Posté le 15/01/2021 17:34 | #
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.
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)
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.
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é.
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
Citer : Posté le 15/01/2021 17:45 | #
Je l'ai dit dans mon message précedent :
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.
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 ?
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 :
{
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.
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 ?
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 :
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
$ echo "build-cg/" >> .gitignore
$ git commit -m "Add build-cg/ to .gitignore"
$ git push
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
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).
Citer : Posté le 11/04/2021 13:42 | #
Ok merci, je vais reposter cela !