Ce programme a participé à l'édition n°19 des Casio Programming Contest. Pour plus d'informations sur cet événement, cliquez ici.
Votre calculatrice doit posséder les chaines de caractères (Str) et Menu pour utiliser ce programme. Si vous avez une Graph 85 (SD), mettez-la à jour.Description :
- Premier fichier : la version 1.0 ayant participé au concours, faite par moi-même ;
- Second fichier : la version 1.0 arrangée par Kirafi.
Synopsis
Vous êtes un enfant qui s'amuse dans une ruelle et tout à coup, vous voyez une fourmi qui essaie d'atteindre un bonbon un peu plus loin. Seulement, sur le sol, vous voyez une substance que vous savez toxique pour les fourmis, et vous voulez aider celle-ci. Quand tout à coup, vous voyez des cailloux à côté : voilà comment vous allez aider votre petite protégée.
Contrôles
Bien que le tutoriel présent in-game résume assez bien le synopsis ci-dessus, on m'a rapporté qu'il était un peu confus concernant les contrôles. Voici donc une clarification :
- Vous ne contrôlez PAS la fourmi. Tout ce que vous pouvez faire, c'est poser des caillous.
- Vous pouvez poser un caillou à droite, en haut à droite et en bas à droite de la fourmi (la flèche).
- La fourmi ne change de rang que s'il y a un caillou en face d'elle. Au début, elle va tout le temps en bas, puis si elle rencontre un caillou également en bas, elle va en haut jusqu'à ce qu'elle croise un obstacle en haut.
- Si la dernière fois qu'il a fallu qu'elle contourne un obstacle en face d'elle, elle est allée en haut, elle ira en haut par défaut la prochaine fois qu'il y aura un obstacle en face. Idem pour en bas. Un obstacle peut être un caillou ou les bords de l'écran, considérés comme des murs.
- Il n'y a pas moyen de reculer (aller vers la gauche). Une fois que vous avez dépassé le bonbon, vous devez retenter (en appuyant sur EXIT puis en relancant ou en attendant que l'écran de défaite s'affiche pour appuyer sur EXE/EXIT).
Pour poser un caillou :
- en haut à droite de la fourmi : flèche du haut, 7, 8 ou 9
- à droite de la fourmi : flèche de droite, 4, 5 ou 6
- en bas à droite de la fourmi : flèche du bas, 1, 2 ou 3
Trouvez la configuration qui vous convient (celle conseillée dans le tutoriel est la 9/6/3).
De plus, comme l'ensemble des jeux que je fais, il est possible de quitter de n'importe où dans les menus/le jeu en appuyant sur EXIT plusieurs fois. Par exemple, appuyer sur EXIT depuis le jeu ramène au menu de sélection de niveau qui quand on appuie sur EXIT ramène au menu principale qui quand on appuie sur EXIT quitte le jeu (et affiche un écran osef où n'importe quelle touche, y compris EXIT du coup, permet de revenir à la liste des programmes).
Notes
Les reproches que je puis faire à ce jeu sont les suivants :
- Le concept est trop simple et à moins d'ajouter des blocs, il devient rapidement limitant, la difficulté se jouant sur le fait de berner le joueur sur le chemin à emprunter (une conséquence importante est d'ailleurs le nombre de niveaux) ;
- Le tutoriel est assez confus et n'explique pas un certain nombre de choses (comme la configuration des touches etc), que j'ai dû expliciter plus haut ;
- C'est du CASIO Basic utilisant des Locate (des caractères dans un tableau de 21*7), donc l'aspect graphique est pas ouf' ;
- La taille et la vitesse du programme peuvent largement être optimisées, j'ai juste dû faire du straight-forward en utilisant des techniques ;
- J'aurais pu rajouter d'autres modes de jeu/d'autres blocs/quelques trucs utilisant le concept de base en s'en écartant, mais j'ai préféré faire une version finale pour passer à autre chose ;
Hou là, beaucoup de commentaires ! Tout d'abord merci
Je suis en train de bosser sur le mode "Infini" (avec scrolling etc, c'est bien galère à faire, je vous le cache pas), pour l'instant la partie basique puis viendra la partie génération dynamique des niveaux. De plus, j'ajoute quelques énigmes. Tout ça devrait me conduire à la version 0.2, puis une fois que j'aurai tout testé/corrigé, je rajouterai encore quelques niveaux et on devrait être à la version 1.0.
Dark elias a écrit : Le design de ta fourmi: [...]
Honnêtement, comme c'est du Basic, quand on veut faire quelque chose d'optimisé, on ne centralise pas ce genre de représentations, on le duplique au travers tout le programme. Et je t'avoue que vu le nombre de duplicatas, j'ai pas le courage de changer ça maintenant. xD (ça répond à Zezombye aussi du coup )
Kirafi a écrit : je me suis permi de faire quelques optimisations , juste avec le menu je suis passé à 5144 octets
Je serais curieux de les connaître ! Mais bon, je t'avoue que jusque là, vu les délais, c'est plutôt du straight-forward, une fois que ça fonctionne et que c'est suffisamment rapide, on laisse (jusqu'à ce qu'on ait le temps de s'y attarder, bien entendu).
Intelligide a écrit : Tu pourrais marquer: Réalisé par le futur scénariste des industries Marvel
J'avoue
Lilougue a écrit : je propose que tu fasses en sorte que les niveaux se débloquent au fur et à mesure
Si ç'avait été un addin, je suis d'accord, j'aurais pu stocker ça à un emplacement où seul le programme va aller, dans un fichier crant.sav par exemple. Sauf qu'on est en CASIO Basic, et on n'utilise que des variables/structures de données que d'autres programmes CASIO Basic peuvent utiliser. On pourrait se dire "oui mais on peut utiliser la dernière liste etc" sauf que ce genre d'astuces est totalement unsafe, puisqu'un autre programme peut avoir la même idée ! Faut partir dans l'idée que de base, une variable/structure de données en Basic peut contenir n'importe quoi.
Kirafi a écrit : Au fait, en trafiquant le tutoriel je suis passé à 4336 octets
Le tutoriel est une grosse animation que j'ai branlée à l'arrache en une matinée. Et honnêtement, vu à quel point je me suis fait chier pour la faire (le texte, etc), j'ai clairement pas envie d'y retoucher pour le moment. xD
Bon pour la sauvegarde encore pour ce genre de jeu ça va .
Je modifie aussi l'encodage des niveaux qui est vraiment crade (j'ai pas fini) !
--------- Edit ---------
C'est bon j'ai fini l'encodage des niveaux , et également le décompressage et affichage qui sont plus rapide .
Mais j'ai fichu erreur de syntaxe quelque pas, et ça fais 1h que je cherche !
--------- Edit (x2) ---------
Ayé, j'ai plus mon erreur syntaxe .
J'ai aussi optimisé le moteur du jeu , j'ai donc fini de trafiquer ton super jeu , et je suis à 3980 octets !
Publication de la v1.0, qui participe à la 19ème édition des 7 Days CPC
Alors tout d'abord, oui, je sais, j'avais dit que je ferais un mode infini etc, mais celui-ci est toujours en développement et je me suis rendu compte que je commençais à décrocher sérieusement (vers des choses qui ne sont pas du CASIO Basic, just sayin' ). Du coup, j'ai décidé de retravailler un peu les niveaux et de boucler le tout pour en faire une version 1.0 pour la présenter au concours.
Assez peu d'améliorations, du coup :
- Niveaux retravaillés (réorganisés, un supprimé, d'autres ajoutés) pour arriver au total de 10 ;
- Détection d'une fourmi bloquée ;
- Ajout d'un système de cailloux minimum (qui dit quand vous avez gagné si vous auriez pu faire ça en moins de cailloux) ;
- Quelques éléments d'affichage modifiés.
Peut-être qu'un jour, je finirai le mode infini. (ou mieux, que je referai ce programme en C, ce qui est quand même vachement plus propre è_é)
Kirafi a écrit : J'ai aussi optimisé le moteur du jeu :o, j'ai donc fini de trafiquer ton super jeu ^^, et je suis à 3980 octets !
Bien joué :o
C'est sûr que j'ai pas poussé à fond mes connaissances et techniques en CASIO Basic, j'ai juste tenté de faire un jeu pour un concours \o/
Bon Cake, je me suis permis donc d'optimiser pas mal de trucs, parce que j'aime tellement ce concept que je voulais avoir un jeu encore meilleur .
Pour le coup je réimplémente les niveaux, et juste pour te montrer vite fais, pour les niveaux 1 et 10 on passe à ça
Gosh, quel charabia xD
En vrai, je cherchais avant tout quelque chose de lisible (puisque dans le concours, il y a aussi des histoires de lisibilité du code ). Et puis, ce sera plus facile en C, puisqu'on peut faire des éditeurs, des fichiers externes et plein d'autres trucs cool
- Chargement plus rapide.
- Programme allégé de d'1 Ko pile (j'ai pas fais exprès d'avoir un nombre rond) → 4280 octets maintenant.
- Diverses améliorations esthétiques (recentrage de textes, design de curseur.
Problèmes/remarques dans ton amélioration :
- L'accent sur "Arrangé" dans les crédits, quoi. Et puis une petite majuscule quoi è_é
- Je remarque le "0->A~Z". Pourquoi initialiser toutes les variables alors qu'elles sont normalement initialisées comme il faut au début de (ou avant) chaque gamemode (G) ?
- "Tutoriel" dans le tutoriel n'est pas centré sur la ligne o_o
- J'ai 6 erreurs syntaxe dans le tutoriel :/ (un simple ":" suffit pour les corriger)
- Lorsqu'il faut appuyer sur des touches précises dans le tutoriel (3 ou 6), mettre le même symbole que lorsqu'on doit appuyer sur EXE peut être trompeur ! Soit ne pas mettre le symbole, soit l'enlever o_o
- Pourquoi ne pas mettre le petit triangle en bas tout à droite comme dans ma version du tutoriel ? o_o (enfin, après pourquoi pas)
- Au début du niveau, tu fais clignoter la fourmi, pourquoi pas, mais on ne peut pas placer de cailloux pendant ce temps, et la fourmi part tout de suite ! C'est très embêtant dans les niveaux où il faut commencer direct, comme le niveau 10.
Sinon, GG pour les optimisations et les améliorations graphiques sont pas dégeu
- On peut pas mettre des accents sur les petites lettres ...
- le "0→A~Z" est un truc que je cale systématiquement à chaque début de programme, après le début de la boucle, comme ça à chaque retour menu, les variables sont réinitialise, mais ton jeu doit conserver L donc bon... Tu peux l'enlever .
- Rajoute un espace à "Tutoriel" .
- Oh Sh*t les erreurs syntaxe étaient corrigées, mais j'ai du faire une fausse manip lors d'un transfert avec FA-124 et j'ai remis une version que j'avais pas encore corrigé pour ça , tu sais ce qu'il te reste à faire .
- Oookay bon pour le symbole change ça en ça :
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