Nombre de visites sur cette page : 3450 Score au progrank : 45 Note actuelle : 9.8/10 noté 1 fois Vous devez être connecté(e) pour noter (inscription).
Ce programme est sous licence Creative Commons 2.0 BY
Description :
Ce programme a été élu aux Casio Awards 2021
Nécessite absolument Locate2.py de Kikoodx. La dernière version du script est intégrée dans le dossier Asci.
Le Secret d'Asci
Asti, est une ville-royaume où l'aléatoire règne en maître absolu et incontesté. Suite à un fait d'arme, le Roi de la ville-royaume d'Asci vous remarque. Il vous confie dès lors une mission secrète : re-trouver un code à 5 chiffres oubliés qui donnent le pouvoir de se téléporter dans un quartier du royaume…
Un jeu de rôle en Python où vous évoluez dans un monde en caractères ASCII. Voici le premier opus de cette série intitulée Asci. Le premier fichier en téléchargement est l'opus n°1 en lui-même, le second contient tous les programmes indispensable au jeu mais ils sont 100% compatible avec les autres opus (dossier de 15 000 octets auquel il faut ajouter le poids de l'opus en lui-même)
Un premier opus simple pour avoir des repère et qui amène une intrigue plus complexe qu'une simple quête dès le second opus…
Contrôles et repères indispensables
Cliquer pour enrouler
Passons à la technique, pour jouez vous devez entrer le numéro de la touche puis valider avec [EXE]. Les numéros des touches varient en fonctions de l'action désirée.
[1] pour allez vers la gauche
[5] pour aller vers le haut
[3] pour aller vers la droite
[2] pour aller vers le bas
[7] pour certaines interactions
[8] pour avoir un aperçu des stats
[9] pour quitter le jeu
Les dialogues sont automatiquement gérés : il faut se déplacer sur une case contenant un PnJ, si celui-ci n'a rien à vous dire il vous dit : « … »
Lors des déplacements, valider un champs vide répète votre dernier déplacement, donc plus besoin de taper les touches pour aller plus vite : il suffit de valider .
Pour les combats, c'est un peu pareil, à chaque tour, vous entrez le numéro de l'arme à utiliser et les stats du combat s'affichent jusqu'à la fin. Valider le numéro de l'arme alors que le champs est vide permet de quitter le combat.
Vous êtes représenté par le symbole « @ », les PnJ sont symbolisés par le symbole multiplié soit une étoile « * », quant aux ennemis, ce sont des dollars : «$».
Pour installer le jeu
Cliquer pour enrouler
1 - Téléchargez les deux dossiers et dé-zippez-les
2 - Copiez-collez le contenu du dossier « Opus 1 » dans le dossier « Asci »
3 - Transférez votre dossier Asci à la racine de votre Graph 90+E (OS 3.20 ou ultérieur)
nb : Si vous avez déjà joué à ce jeu, copiez seulement le contenu du dossier Opus 1 dans votre dossier Asci.
Mises à jour attendues et changelog
Cliquer pour enrouler
0.9 : Jeu de baseCette version n'est plus en ligne
1.0 : Intégration de sorts et potions en combat, résolutions des incohérencesCette version n'est plus en ligne
1.0b : Améliorations diverses de l'ergonomieCette version n'est plus en ligne
1.1 : Corrections des bugs et améliorations de l'ergonomie. Notamment au lancement du jeu.Cette version n'est plus en ligne
Le jeu est très sympa, félicitations, je te recommande de rajouter un buffer pour ton "getkey", pour que l'utilisateur n'ai pas à taper 5 fois sur 3 pour avancer
Edit :
J'ai exploré toutes les salles que je pouvais, affronté tous les ennemis, parlé à tous les PNJ et pourtant... Je ne sais pas quoi faire.
Sachant que je note le numéro et les caractéristiques de toutes les salles explorées (oui je joue comme ça ).
Je vais éclaicir le problème : il faut rentrer le numéro de l'opus que tu as lancé ! Je travaille à ce problème
Concernant les dossiers, je peux tout mettre en un c'est vrai… mais si quelqu'un veut seulement les fichiers du jeu sans l'opus c'est pratique de séparer les deux Et puis lorsqu'il y aura 15 opus, tu seras content de ne pas avoir à trier les opus des autres fichiers.
Concernant la quête, le but est en fait simple, mais la pratique est plus dure : un code à 5 chiffres est caché, enfouis dans les mémoires, il faut aller de proches en proches glaner des infos sur qui connait ce code. Tout est en fait logique chaque dialogue te ramenant à un nouveau PnJ. Note bien les quartiers numéro / description, cela peut servir pour la téléportation !
Merci pour le test ! (juste pour le début brouillon, je te re-dirais quand j'aurais résolu ça >_<' )
Edit : Dans la version 1.0b j'ai ajouté une fonctionnalité qui permet de ne pas avoir à répéter les touches des déplacements : par exemple, pressez [3] une fois pour aller vers la gauche puis juste [EXE] J'ai changé un peu le texte au début, quelqu'un pour me dire si c'est plus clair : «Confirmez le numéro indiqué à côté de l'opus sélectionné. »
J'ai trouvé un disfonctionnement, rentrer un nombre négatif en combat fait planter le jeu.
Sinon bonne mise à jour !
Pourquoi ne pas mettre le code d'Asci.py dans une fonction et l'appeler avec un paramètre au lieu de demander à l'utilisateur de rentrer le nombre de lui même ?
Question : où sont les sorts ?
Est-ce qu'il serait possible d'indiquer la version du jeu au démarrage ?
Les sorts ne sont pas implémentés (pas encore, mais certains codes spéciaux seront donnés en temps voulu )
La version ? Oui, c'est même très simple Je te fais ça
Le problème est qu'une fonction qui prend le numéro de l'opus et importe un module via ce paramètre ne permet pas d'importer ce module pour toute les fonctions du *.py Je sais pas si c'est très clair…
>>> math = None
>>>
>>> def import_math():
... import math as m
... global math
... math = m
...
>>> math.sin
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'NoneType' object has no attribute 'sin'
>>> import_math()
>>> math.sin
<built-in function sin>
Donc la fonction global suivi du nom du fichier *.py permet d'importer le fichier *.py pour toutes les fonctions présentes dans le fichier 2 *.py où a lieu l'importation alors ?
Non. Le mot-clé global permet d'indiquer qu'une variable est globale.
Quel est le problème au fond ? Quand tu importes un module dans une fonction, le module est importé pour tout le programme. Mais le nom du module n'est visible que dans la fonction.
Donc, je crée une variable globale avec le nom du module que je veux importer, math, et à l'intérieur de la fonction import_math(), j'effectue l'opération math = <le module>.
Il y a deux choses à faire pour que ça marche :
1. Il faut que la variable math soit globale, d'où le global math
2. Il faut que le nom du module ne soit pas math, d'où le as m
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