Bienvenue visiteur !
|
Statistiques
Liste des membres
Contact
Mentions légales
848 connectés actuellement
30729625 visiteurs depuis l'ouverture
3242 visiteurs aujourd'hui
Partenaires
Tous nos partenaires
Devenir partenaire
|
Messages postés par François Berhn Nombre de messages référencés sur Oniromancie (non supprimés): 4695 Aller à la page: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
Posté dans Forum - [Interpréteur]Herobook |
Hellper -
posté le 22/04/2014 à 16:22:16. (5402 messages postés) |
| mtarzaim a dit: Bref, à moins que ton système soit crossplatform, gère le multimédia, et soit gratuit, ben, il ne va intéresser grand monde ... |
Niveau compatibilité si j'en réfère à wikipedia :
Citation: Le langage Python [...] fonctionne sur la plupart des plates-formes informatiques, des supercalculateurs aux ordinateurs centraux, de Windows à Unix en passant par GNU/Linux, Mac OS, ou encore Android, iOS, et aussi avec Java ou encore .NET. |
Au passage, un fois l'interpréteur terminé je compte travailler sur un éditeur. À ce moment là il me sera tout à fait possible d'exporter un projet sous une autre forme telle que l'html.
Niveau gestion des médias ce n'est pas ma priorité puisque le programme a été pensé pour utiliser la console système (dont je suis particulièrement friand), mais ça peut être quelque chose à ajouter plus tard.
Niveau gratuité c'est simple. Le logiciel est gratuit, libre et open source (chaque fichier .py pouvant être aisément lu par n'importe quel éditeur de texte)
|
La liste des raisons pour lesquelles le making se meurt, la cinquième va vous étoner | Des projets abandonnés, source d'inspiration :D | Mes jeux |
Posté dans Forum - [Interpréteur]Herobook |
Hellper -
posté le 22/04/2014 à 11:44:11. (5402 messages postés) |
| Merci pour vos réponses.
mtarzaim a dit:
En revanche, en dehors du challenge perso, je ne vois pas trop l'intérêt de choisir cette solution plutôt que celle d'un vrai livre numérique.
|
Tout simplement car je ne m'y connais pas du tout en livre numérique. D'ailleurs j'en profite pour le demander, mais c'est du en ligne ?
Un autre raison est que j'aimerais développer un moteur de jeu textuel assez avancé et que c'est un bon exercice pour aller dans cette direction
Citation: Je pense qu'en complexifiant légèrement le code et en sérialisant la nouvelle interactive (évidemment désérialisable mais bon...) tu gagneras en offrant aux utilisateur des données compacts et facilement partageables. |
Pourrais-tu développer s'il te plait ?
Citation: Par curiosité, pourquoi ne pas avoir implémenté un Objet qui sauvegarderait l'état du jeu en attribut (et qui permettrait de sauvegarder son avancée?) |
C'est prévu mais je ne l'ai pas encore fait car son implémentation rajoute au programme un système dispensable et car je ne le conçoit pas comme une priorité.
Citation: Je ne comprend pas l'intérêt du while not a :/ car a ne semble pas être changé dans la boucle d'interaction. (et il me semble qu'un while True suffirait, mais je n'ai jamais fait de python, donc je ne sais pas trop ) |
Tout simplement car je n'y avais pas pensé
|
La liste des raisons pour lesquelles le making se meurt, la cinquième va vous étoner | Des projets abandonnés, source d'inspiration :D | Mes jeux |
Posté dans Forum - [Interpréteur]Herobook |
Hellper -
posté le 21/04/2014 à 23:33:28. (5402 messages posté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 :
Spoiler (cliquez pour afficher) 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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
| # -*- 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]
|
|
La liste des raisons pour lesquelles le making se meurt, la cinquième va vous étoner | Des projets abandonnés, source d'inspiration :D | Mes jeux |
Aller à la page: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
|
|
|