FAMAS Index du Forum

FAMAS
Faction armée des makers assoiffés de sang

 FAQFAQ   RechercherRechercher   MembresMembres   GroupesGroupes   S’enregistrerS’enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

HeroBook

 
Poster un nouveau sujet   Répondre au sujet    FAMAS Index du Forum -> Section Corvées -> Stand de tir
Sujet précédent :: Sujet suivant  
Auteur Message
Hellper



Inscrit le: 02 Avr 2014
Messages: 181

MessagePosté le: Sam 7 Juin - 16:56 (2014)    Sujet du message: HeroBook Répondre en citant

PublicitéSupprimer les publicités ?
I. Description
Version 1.1
Poids de l'archive : 8ko
Herobook est un interpréteur codé en python permettant de créer facilement un livre à embranchement sous forme numérique. Il est basé un système de pages et une syntaxe simple, gère la mise en forme et détecte automatiquement si un choix mène vers une page inexistante.
La version actuelle utilise la console, mais les versions futures devraient inclure une GUI et de fait plus de possibilités.

HeroBook est normalement compatible avec Windows, GNU/Linux et Mac. Cependant, n'ayant pas de quoi tester sur un autre support que Windows il est possible de rencontrer des bugs inattendus sur d'autres plateformes. Merci de me le signaler le cas échéant.

Voici un screenshot réalisé à partir d'un projet test :


II. Installation
Lien du programme
L'archives contient deux versions du programme, une première avec un template et une seconde avec un projet test (dont sont tirés les screnshots.
Le python étant un langage interprété il vous faudra installer la bibliothèque python :
Si vous êtes sur windows
Si vous êtes sur mac
Si vous êtes sur linux
Si vous êtes assez grand pour chercher vous-même

III. Utilisation
Voici un tutoriel écrit :
1. Faite une copie d'un des dossiers de l'archive et renommez-le comme vous voulez
2. Ouvrez le dossier et retirez tous les fichiers texte.
3. Créez un fichier texte nommé "MainPage".
4. Écrivez dedans le contenu de votre première page et terminez-la par un /. N'utilisez pas de saut de ligne.
5. Si vous jugez votre texte trop long ou que vous voulez changer son rythme, vous pouvez le séparer en paragraphes en plaçant un symbole _ à chaque séparation.
6. Écrivez après le / les choix qui seront offerts au joueurs et séparez-les par un _. Évitez de proposer plus de 15 choix mais mettez-en au moins un.
7. Après chaque choix, insérez un § suivit d'un identifiant pour la prochaine page à charger.
8. Créez un autre fichier texte et donnez-lui le nom que vous voulez (aka l'identifiant nécessaire pour que l'interpréteur charge le fichier à partir d'un autre).
9. Écrivez dedans le contenu de la page. N'utilisez pas de saut de ligne.
10. Revenez à l'étape 5 et continuez autant de fois que vous le souhaitez.


IV. Code source
Code:
# -*- coding: utf8 -*-
import HellStuff
##################################################################
##Création des fonctions
##################################################################
##Charge un fichier .txt et le retourne sous forme d'une liste (en utilisant les / comme séparation)
def load(a) :
    a += ".txt"
    ofi = open(a, "r")
    return ofi.read().split("/")
##Met en forme le texte à afficher pour éviter les retours à la ligne au milieu d'un mot
def afficher(a) :
    a = a.split("_")
    for b in a :
        HellStuff.autoRN(b)
        c = input(i[0])
##Pour savoir si la page poitée existe
def exist(a) :
    a += ".txt"
    try :
        ofi = open(a, "r")
        return ("", True)
    except :
        return (i[5], False)
##Affiche des choix disponibles
def choice(a) :
    b = 1
    print("0. " + i[1])
    for c in a :
        c = c.split("§")
        print (str(b) + ". " + c[0] + "   " + exist(c[1])[0])
        b += 1
##Demande de rentrer un entier entre deux points
def intOnlyBetween(mini, maxi) :
    a = False
    c = mini - 1
    while not a or c < mini or c > maxi :
        try :
            print (i[2])
            b = input()
            c = int(b)
            a = True
        except :
            pass
        if not a :
            print (i[3].format(mini, maxi))
        elif c < mini or c > maxi :
                print (i[3].format(mini, maxi))
                a = False
    return b
##################################################################
##Code du jeu
##################################################################
global i
i = load("vocab")
b = "MainPage"
while True :
    room = load(b)
    choix = room[1].split("_")
    afficher(room[0])
    choice(choix)
    c = int(intOnlyBetween(0, len(choix)))
    if c == 0 :
        break
    d = choix[c-1].split("§")
    if not exist(d[1])[1] :
        print (i[4])
    else :
        b = d[1]
Revenir en haut
sriden
Administrateur


Inscrit le: 22 Juil 2011
Messages: 15 226

MessagePosté le: Sam 7 Juin - 18:47 (2014)    Sujet du message: HeroBook Répondre en citant

Eh bin entre ça et les machins de trotter, si on n'a pas assez pour faire des livres dont vous êtes le héros, on vous le dit. :porte
Revenir en haut
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 07:38 (2017)    Sujet du message: HeroBook

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    FAMAS Index du Forum -> Section Corvées -> Stand de tir Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1

 
Sauter vers:  

Index | creer un forum gratuit | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com