Accueil du SiteAccueil du Site  AccueilAccueil  FAQFAQ  RechercherRechercher  MembresMembres  GroupesGroupes  ConnexionConnexion  S'enregistrerS'enregistrer  




Partagez | 
 

 HeroBook

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Hellper
Chevalier Dragon (niveau 5)
Chevalier Dragon (niveau 5)
avatar

Masculin
Messages postés : 1190
Date d'inscription : 04/03/2013
Jauge LPC :
86 / 10086 / 100












MessageSujet: HeroBook   Mer 23 Avr 2014 - 22:31

I. Description
Version 1.2
Poids de l'archive : 3Mo
Herobook est un interpréteur codé en ruby 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 disponible sur Windows. D'autres version sortiront plus tard pour GNU/Linux et Mac.

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


II. Installation
Lien du programme
L'archive contient le programme avec un template (pour se faire une idée de comment ça fonctionne).

III. Utilisation
Tutoriel en cours de réécriture.

IV. Code source
Code:
# encoding: UTF-8
def loadeur(nom)
   fichier = File.open("Pages/#{nom}.txt", "r").read.gsub("\n","").gsub("<br>", "\n").split("/")
   fichier
end
def afficher(texte)
   texte = texte.split("<par>")
   texte.each do |i|
      autoRN(i)
      puts $vocab[0]
      passage = gets
   end
end
def autoRN(chaine)
   if chaine.length < 80
      puts chaine
   else
      caractere = 79
      while not chaine[caractere] == " "
         caractere -= 1
      end
      puts (chaine[0..caractere])
      autoRN(chaine[(caractere+1)..-1])
   end
end
def inputMinMax(min, max)   
   inpute = min - 1
   while not inpute.between?(min, max)
      inpute = gets.chomp.to_i
      if not inpute.between?(min, max)
         puts sprintf($vocab[3], min, max)
      end
   end
   inpute
end
def exist?(file)
   File.file?("Pages/#{file}.txt")
end
def existTell?(file)
   if File.file?("Pages/#{file}.txt")
      ""
   else
      $vocab[5]
   end
end
$vocab = File.open("Vocab/vocab.txt", "r").read.split("/")
toload = "MainPage"
while true
   page = loadeur(toload)
   texte = page[0]
   suite = page[1]
   afficher(texte)
   suite = suite.split("_")
   puts "0. #{$vocab[1]}"
   #~ suite.each do |i|
      #~ i = i.split("|")
   #~ end
   0.upto(suite.length - 1) do |index|
      suite[index] = suite[index].split("|")
      puts "#{index+1}. #{suite[index][0]}" + existTell?(suite[index][1])
   end
   while true
      puts $vocab[2]
      choix = inputMinMax(0, suite.length)
      if exist?(suite[choix-1][1]) || choix == 0
         break
      else   
         puts $vocab[4]
      end
   end
   if choix == 0
      break
   else
      toload = suite[choix-1][1]
   end
end
Spoiler:
 


Dernière édition par Hellper le Dim 13 Sep 2015 - 14:51, édité 6 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://kustomskromatiks.byethost17.com/
Hellper
Chevalier Dragon (niveau 5)
Chevalier Dragon (niveau 5)
avatar

Masculin
Messages postés : 1190
Date d'inscription : 04/03/2013
Jauge LPC :
86 / 10086 / 100












MessageSujet: Re: HeroBook   Sam 7 Juin 2014 - 16:53

HeroBook passe en version 1.1 o/
Il est maintenant possible de modifier les instruction du jeu à partir du fichier vocab.txt, ce qui facilite la traduction.
Le code source a été mis à jour.

_____________________
Mon site super génial en construction
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://kustomskromatiks.byethost17.com/
Hellper
Chevalier Dragon (niveau 5)
Chevalier Dragon (niveau 5)
avatar

Masculin
Messages postés : 1190
Date d'inscription : 04/03/2013
Jauge LPC :
86 / 10086 / 100












MessageSujet: Re: HeroBook   Dim 21 Juin 2015 - 17:26

Up sur le projet qui maintenant est codé en ruby. Le premier post a été mis à jour (l'ancienne présentation est conservée dans un spoiler pour archives).

_____________________
Mon site super génial en construction
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://kustomskromatiks.byethost17.com/
Raven
Administrateur
Administrateur
avatar

Masculin
Messages postés : 1338
Date d'inscription : 20/04/2013
Jauge LPC :
41 / 10041 / 100














MessageSujet: Re: HeroBook   Lun 13 Juil 2015 - 15:12

Bon, j'ai DL et testé, j'trouve ça vachement sympa ! Ca me rappelle ces tout premiers jeux de JDR qu'on avait sur les vieux PCs (on a gardé un Windows 3.1 pour ça d'ailleurs). L'avantage c'est qu'on peut vraiment faire tout c'qu'on veut dedans comme c'est que du texte. C'est bien foutu, pas compliqué à mettre en place et ça peut du coup se partager facilement. Bref, bravo pour ce joli projet qui sort de l'ordinaire Hellper !

_____________________
|  |
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://redrustyraven.blogspot.fr https://www.facebook.com/RedRustyRaven
Hellper
Chevalier Dragon (niveau 5)
Chevalier Dragon (niveau 5)
avatar

Masculin
Messages postés : 1190
Date d'inscription : 04/03/2013
Jauge LPC :
86 / 10086 / 100












MessageSujet: Re: HeroBook   Lun 13 Juil 2015 - 16:50

Content que ça te plaise Smile

_____________________
Mon site super génial en construction
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://kustomskromatiks.byethost17.com/
Hellper
Chevalier Dragon (niveau 5)
Chevalier Dragon (niveau 5)
avatar

Masculin
Messages postés : 1190
Date d'inscription : 04/03/2013
Jauge LPC :
86 / 10086 / 100












MessageSujet: Re: HeroBook   Dim 13 Sep 2015 - 14:55

Herobook passe à la version 1.2. Maintenant il est possible du'itiliser des auts de ligne afin de rendre son texte plus lisible. Pour vous donner une idée de ce que ça peut apporter voici un avant/après :

Avant :
Code:
This is a first paragraph.
Whith a second line. Separated in two lines._And a second one./This will load Room2|Room2_This goes nowhere|haha

Après :
Code:
This is a first paragraph.
<br>Whith a second line.
Separated in two lines.
<par>
And a second one.
/
This will load Room2|Room2_
This goes nowhere|haha
Vous remarquerez au passage l'ajout de la balise
Code:
<br>
pour rajouter des sauts de lignes
et l'ajout de la balise
Code:
<par>
pour séparer les différents paragraphes de la page.

Voilà maintenant que j'ai fait une update vous pouvez re-spammer le projet de commentaire (comme à votre habitude) et voter pour le projet du mois Hinhin

_____________________
Mon site super génial en construction
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://kustomskromatiks.byethost17.com/
purplehills
Mage (niveau 4)
Mage (niveau 4)
avatar

Féminin
Messages postés : 323
Date d'inscription : 19/04/2015
Jauge LPC :
72 / 10072 / 100







MessageSujet: Re: HeroBook   Dim 13 Sep 2015 - 15:30

C'est cool ça, effectivement ça me rappelle de lointtttains souvenirs ^^

Bravo pour l'initiative, faudra que je teste.

_____________________
Revenir en haut Aller en bas
Voir le profil de l'utilisateur https://www.youtube.com/channel/UC-PZhXM9qux4l6zvZgInmvQ
Contenu sponsorisé




MessageSujet: Re: HeroBook   

Revenir en haut Aller en bas
 
HeroBook
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Le Palais Créatif :: ~ CRÉATIONS ~ :: Jeux et projets :: Projets jouables-
Sauter vers: