Aller au contenu

Yasuhiro

Minefieldien
  • Compteur de contenus

    405
  • Inscription

  • Dernière visite

Messages posté(e)s par Yasuhiro

  1. Suite du programme :

     

    class Bombe3:
        """
        Initialise une bombe.
        Création des différents rotors et réflecteurs possibles.
        """
        def __init__(self):
            self.enigma = Enigma(3)
            self.solutions = []
            self.rotors = [None] * 8
            modeles = ['I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII']
            for i in range(8):
                self.rotors = Rotor(modeles)
            self.reflecteurs = [None] * 3
            modeles = ['A', 'B', 'C']
            for i in range(3):
                self.reflecteurs = Reflecteur(modeles)
     
        """
        recherche les modèles possibles des rotors et du réflecteur
        pour chaque possibilité de modèle des rotors et du réflecteur, on recherche les
        positions initiales possibles en appelant la méthode cherche_positions pour
        rechercher le mot certain (crib) dans les messages déchiffrés
        on retourne la liste des solutions possibles
        """
        def cherche_modeles(self, message_chiffre, crib):
            for rotor_0 in self.rotors:
                for rotor_1 in self.rotors:
                    if rotor_1 is rotor_0:
                        continue
                    for rotor_2 in self.rotors:
                        if rotor_2 is rotor_1 or rotor_2 is rotor_0:
                            continue
                        for reflecteur in self.reflecteurs:
                            self.enigma.rotors[0] = rotor_0
                            self.enigma.rotors[1] = rotor_1
                            self.enigma.rotors[2] = rotor_2
                            self.enigma.reflecteur = reflecteur
                            if self.cherche_positions(message_chiffre, crib) is not None:
                                return self.solutions
            return None
     
        """
        essaye toutes les postions initiales possibles (p0, p1, p2) des 3 rotors.
        pour chaque position p0,p1,p2 déchiffre le message.
        dans le message, on cherche le mot certain (crib)
        s'il est trouvé on ajoute la solution dans la liste des solutions possibles
        on retourne la liste des solutions possibles
        """
        def cherche_positions(self, message_chiffre, crib):
            print('Recherche des positions pour rotor1=%s rotor2=%s rotor3=%s reflecteur=%s' 
                  % (self.enigma.rotors[0].modele, 
                     self.enigma.rotors[1].modele, 
                     self.enigma.rotors[2].modele, self.enigma.reflecteur.modele), 
                  end = '', 
                  flush = True)
            l_connexions = self.enigma.rotors[0].longueur
            for p0 in range(l_connexions):
                for p1 in range(l_connexions):
                    for p2 in range(l_connexions):
                        self.enigma.rotors[0].position = p0
                        self.enigma.rotors[1].position = p1
                        self.enigma.rotors[2].position = p2
                        message_clair = self.enigma.chiffre(message_chiffre)
                        if crib in message_clair:
                            self.solutions.append(Solution(self.enigma.rotors, self.enigma.reflecteur, [p0, p1, p2]))
                            print(' %d %d %d :)' % (p0, p1, p2))
                            return self.solutions
            print(' :(')
            return None
     
        """
        Pour chaque solution trouvée, déchiffre le message et
        imprime le message clair.
        """
        def message_d(self, message_chiffre):
            for s in self.solutions:
                for i in range(3):
                    self.enigma.rotors = s.rotors
                    self.enigma.rotors.position = s.positions
                self.enigma.reflecteur = s.reflecteur
                message_clair = self.enigma.chiffre(message_chiffre)
                print ('%s -> %s' % (str(s), message_clair))
  2. Voici le programme que j'ai utilisé pour Enigma (nb : je l'ai fait moi-même).
     
    modele_rotor_alphabet = {
        'I' : 'EKMFLGDQVZNTOWYHXUSPAIBRCJ',   # 1930 Enigma I
        'II' : 'AJDKSIRUXBLHWTMCQGZNPYFVOE',   # 1930 Enigma I
        'III' : 'BDFHJLCPRTXVZNYEIWGAKMUSQO',   # 1930 Enigma I
        'IV' : 'ESOVPZJAYQUIRHXLNFTGKDCMWB',   # DEC 1938 M3 Army
        'V' : 'VZBRGITYUPSDNHLXAWMJQOFECK',   # DEC 1938 M3 Army
        'VI' : 'JPGVOUMFYQBENHZRDKASXLICTW',   # 1939 M3 & M4 Naval (FEB 1942)
        'VII' : 'NZJHGRCXMYSWBOUFAIVLPEKQDT',   # 1939 M3 & M4 Naval (FEB 1942)
        'VIII' : 'FKQHTLXOCBJSPDZRAMEWNIUYGV',   # 1939 M3 & M4 Naval (FEB 1942)
    }
     
    modele_rotor_encoche = {
        'I' : 'Q',    # If rotor steps from Q to R, the next rotor is advanced
        'II' : 'E',    # If rotor steps from E to F, the next rotor is advanced
        'III' : 'V',    # If rotor steps from V to W, the next rotor is advanced
        'IV' : 'J',    # If rotor steps from J to K, the next rotor is advanced
        'V' : 'Z',    # If rotor steps from Z to A, the next rotor is advanced
        'VI' : 'Z',    # if rotor steps from Z to A, or from M to N the next rotor is advanced
        'VII' : 'Z',    # if rotor steps from Z to A, or from M to N the next rotor is advanced
        'VIII' : 'Z',    # if rotor steps from Z to A, or from M to N the next rotor is advanced
    }
     
    modele_reflecteur_alphabet = {
        'A' : 'EJMZALYXVBWFCRQUONTSPIKHGD',    # Reflector A
        'B' : 'YRUHQSLDPXNGOKMIEBFZCWVJAT',    # Reflector B
        'C' : 'FVPJIAOYEDRZXWGCTKUQSBNMHL',    # Reflector C
    }
     
     
     
    def connexion(alphabet):
        cn = []
        for c in alphabet:
            cn = cn + [ord© - ord("A")]
        return cn
     
    def connexion_inverse(connexion):
        i = 0
        cni = []
        while i < len(connexion):
            cni = cni + [connexion.index(i)]
            i = i + 1
        return cni
     
    class Rotor:
     
     # *constructeur* de la *classe*: initialise les *champs* de l'objet
        def __init__(self, modele, alphabet = None, encoche = None, position = 0):
            self.modele = modele
            if alphabet is None:
                alphabet = modele_rotor_alphabet[modele]
            self.connexions = connexion(alphabet)
            self.longueur = len(self.connexions)
            self.connexions_inverses = connexion_inverse(self.connexions)
            if encoche is None:
                encoche = modele_rotor_encoche[modele]
            self.encoche = ord(encoche) - ord('A')
            self.position = position
     
        # méthode d'affichage: retourne une chaine de caractères fabriquée à partir des champs de l'objet
        def __str__(self):
            s = 'Rotor:'
            s += ' modele ' + self.modele
            s += ' connexions ' + str(self.connexions)
            s += ' connexions_inverses ' + str(self.connexions_inverses)
            s += ' position ' + str(self.position) + '\n'
            return s
     
        def rotation(self):
            r = False
            if self.position == self.encoche:
                r = True
            self.position = (self.position + 1) % self.longueur
            return r
     
        def connecte(self, contact):
            sortie = self.connexions[(contact + self.position) % self.longueur]
            sortie = (sortie - self.position) % self.longueur
            return sortie
     
        def connecte_inverse(self, contact):
            sortie = self.connexions_inverses[(contact + self.position) % self.longueur]
            sortie = (sortie - self.position) % self.longueur
            return sortie
     
     
    class Reflecteur:
        def __init__(self, modele, alphabet = None):
            self.modele = modele
            if alphabet is None:
                alphabet = modele_reflecteur_alphabet[modele]
            self.connexions = connexion(alphabet)
     
        def __str__(self):
            s = 'Reflecteur:'
            s += ' modele ' + self.modele
            s += ' connexions ' + str(self.connexions) + '\n'
            return s
     
        def connecte(self, contact):
            return self.connexions[contact]
     
     
    class Enigma:
        def __init__(self, n_rotors):
            self.n_rotors = n_rotors
            self.rotors = [None] * n_rotors
            self.reflecteur = None
     
        def __str__(self):
            s = ''
            for r in self.rotors:
                s += str®
            s += str(self.reflecteur)
            return s
     
        def rotation(self):
            r = 0
            while r < self.n_rotors:
                if self.rotors[r].rotation() is False:
                    return
                r = r + 1
     
        def connecte(self, contact):
            self.rotation()
            r = 0
            while r < self.n_rotors:
                contact = self.rotors[r].connecte(contact)
                r = r + 1
            contact = self.reflecteur.connecte(contact)
            r = self.n_rotors - 1
            while r >= 0:
                contact = self.rotors[r].connecte_inverse(contact)
                r = r - 1
            return contact
     
        def chiffre(self, message):
            message_c = ''
            for c in message:
                contact_entree = ord© - ord('A')
                contact_sortie = self.connecte(contact_entree)
                char_c = chr(contact_sortie + ord('A'))
                message_c = message_c + char_c
            return message_c
     
     
    class Solution:
     
        def __init__(self, rotors, reflecteur, positions):
            self.rotors = [None] * 3
            for i in range(3):
                self.rotors = rotors
            self.reflecteur = reflecteur
            self.positions = [None] * 3
            for i in range(3):
                self.positions = positions
        
        def __str__(self):
            s = '('
            for rotor in self.rotors:
                s += rotor.modele + ' '
            s += self.reflecteur.modele + ' '
            for position in self.positions:
                s += str(position) + ' '
            s += ')'
            return s

     

  3. Bonsoir Argyrus !


     


    Moi c'est Yasuhiro (Kenji Endô) sur le forum. Je fais partie de la communauté de Nevah et j'ai plus de trois ans d'expérience sur le serveur, je connais donc beaucoup de choses sur le serveur. Je serais très honoré de te parrainer.


    Si tu as des questions, n'hésite pas à m'envoyer un message privé sur le forum. Je t'invite aussi à aller sur mumble pour que l'on puisse discuter et faire connaissance. Je me trouve sur le channel Nevah mais si je n'y suis pas, dis que je suis ton parrain, les joueurs t'accueilleront avec plaisir. Je passe la plupart du temps vers 18 h.


     


    Voilà, j'espère te voir en jeu et sur mumble. Et encore bienvenue sur le serveur !


     


    Yasuhiro

  4. Bonsoir Nanahero !

     

    Moi c'est Yasuhiro (Kenji Endô) sur le forum. Je fais partie de la communauté de Nevah et j'ai plus de trois ans d'expérience sur le serveur, je connais donc beaucoup de choses sur le serveur.

    Si tu as des questions, n'hésite pas à m'envoyer un message privé sur le forum. Je t'invite aussi à aller sur mumble pour que l'on puisse discuter et faire connaissance. Je me trouve sur le channel Nevah mais si je n'y suis pas, dis que je suis ton parrain, les joueurs t'accueilleront avec plaisir. Je passe la plupart du temps vers 18 h.

     

    Voilà, j'espère te voir en jeu et sur mumble. Et encore bienvenue sur le serveur !

     

    Yasuhiro

  5. Bonjour ! Je vous présente ici ma candidature pour devenir un parrain de l'ANA.

     

    :goldblock:  Présentation : Je suis un joueur isolé (bien que je fasse partie de la communauté de Nevah) depuis maintenant plus de trois ans sur le serveur.

     

    :goldblock:  Pseudos sur le Forum, IG et sur Mumble : Kenji Endô sur le Forum (changement de pseudo en cours), Yasuhiro en jeu et Yasuhiro (ou Yasu) sur Mumble.

     

    :goldblock:  Nombre de nouveaux que vous souhaitez/pouvez accueillir : Je pense pouvoir prendre en charge un à deux filleuls.

     

    :goldblock:  Lieu où sera accueilli le filleul : Le filleul sera accueilli dans ma maison à Regly à côté de la Banlieue Sud de New-Stendel.

     

    :goldblock:  Vos motivations : Beaucoup de paysans ayant réussi le quiz sont déboussolés en jeu et ils ont, la plupart du temps, peur de poser des questions. Mon but est donc de répondre à leurs questions et les initier à la vie du serveur pour qu'ils puissent s'intégrer facilement et prendre du plaisir en jouant sur Minefield.

     

    :goldblock:  Les moyens techniques mis à la dispostion du filleul : Le filleul disposera d'un double coffre  :chest:  ainsi que d'une table de craft :tools: et d'un four :furnace: . Il aura également les outils de base (pioche :pick: , pelle :shovel: , hache :axe: ) et un équipement complet en fer avec une épée en fer :sword: .

     

    :goldblock:  La fréquence à laquelle vous estiez pouvoir accueillir un filleul : Je pourrais accueillir un filleul toutes les deux semaines sauf s'il y a besoin de plus de temps (ou moins).

     

    Yasuhiro

  6. Concours du Chiffre

     

    Bien le bonsoir chers minefildiennes et minefieldiens !

     

    Je vous annonce en cette belle nuit le début du Concours du Chiffre. Préparez vos cerveaux car ils vont chauffer !

     

    Qu'est-ce donc que le Concours du Chiffre ?

     

    Le Concours du Chiffre est une épreuve faisant appel à toutes vos capacités intellectuelles et qui consiste en le déchiffrage de neuf cryptogrammes qui vous seront exposés ci-dessous. Pour ceux qui ne savent pas, un cryptogramme est un message codé.

     

    Comment participer ?

     

    C'est très simple, il vous suffit de m'envoyer un message privé sur le forum ou alors de poster à la suite de ce sujet. A noter que vous pouvez participer en groupe.

     

    Quelles sont les règles ?

     

    L'épreuve est composée de neuf cryptogrammes. Pour pouvoir remporter le concours, vous devez déchiffrer TOUS les cryptogrammes. Vous pouvez m'envoyer un à un les cryptogrammes déchiffrés mais vous devez tout de même m'expliquer brièvement la façon dont vous avez procédé. Vous avez devant vous une durée de deux mois (voir trois) pour tout déchiffrer.

     

    Qu'est-ce qu'on remportera ?

     

    Surprise :P

     

    Voici donc les cryptogrammes :

     

    Étape 1 : Chiffre de substitution monoalphabétique


    GSOIPYC VMDI GC BSYOI VCI CTCDCFCDUI LYFMKDI, KG VCTKCDU DCBCIIMKOC ASYO YD ACYAGC VC VKIISYVOC GCI GKCDI ASGKUKPYCI PYK G'SDU MUUMBLC M YD MYUOC CU VC AOCDVOC, AMOFK GCI AYKIIMDBCI VC GM UCOOC, GM AGMBC ICAMOCC CU CZMGC M GMPYCGGC GCI GSKI VC GM DMUYOC CU VY VKCY VC GM DMUYOC GYK VSDDCDU VOSKU, GC OCIACBU VY M G'SAKDKSD VC G'LYFMDKUC SNGKZC M VCBGMOCO GCI BMYICI PYK GC VCUCOFKDCDU M GM ICAMOMUKSD. DSYI UCDSDI ASYO CTKVCDUCI ASYO CGGCI-FCFCI GCI TCOKUCI IYKTMDUCI: USYI GCI LSFFCI ISDU BOCCI CZMYE; KGI ISDU VSYCI AMO GC BOCMUCYO VC BCOUMKDI VOSKUI KDMGKCDMNGCI; AMOFK BCI VOSKUI IC UOSYTCDU GM TKC, GM GKNCOUC CU GM OCBLCOBLC VY NSDLCYO.

     

    Étape 2 : Chiffre de César

     

    VKWKBMRONOCFOBDEOEHOCDCOWOONYLCDKMVOCAESCYXDVOCOXDBOZBSCOCOQYSCDOCAEOPKSDCKXCPSXCEBQSBVYOEFBONEWKVSXLOXSCYSDSVVRYWWONOLYXXOFYVYXDOAESKEXYWNOVKMRKBSDOCOPKSDVOLOBQOBNOCPKSLVOCAESVQESNONKXCVKFKVVOONYWLBONOVKWYBDODNOCVKBWOCMKBSVOCDVOQKBNSOXNOCYXPBOBOODVKZBYFSNOXMONOCOXPKXDCQKBOCTKLKDDBKSKVYBCVOLBKCNEXODOBBSLVOMYVOBONEXOFOXQOKXMOPEBSOECOODOPPBKIKXDOCEBVOCRYBNOCSWZSOCAESZYEBMRKCCOXDODBONESCOXDXOKXDVOCLBOLSCNONSOEODDEMYXXKSDBKCZYEBAEYSWYXXYWOCDVDOBXOVAEKXNCEBDYSCKLKDDBKVKFOXQOKXMONEDYEDZESCCKXD

     

    Étape 3 : Chiffre de Vigenère

     

    GYICBASLUVDYZHPAGDNKRMISANROEBGUPATCVDMBZWZITCIIDLAXDBBFGJNA HQZLPVWZRPCIMEAFGMOIRQXOYNQAILEMDMWRVVUPGHDMLAWPSHQGJRW BVDSZHMHOKHPPMJBQKOUVUPEZVQPLZVUPAPAYZNPEIITBEJMUZGVVMHEQJRP FIOAXHEHSPZYGAJYMBNHPSIFLEVDCBEEIDVZSSCHQEPEYVJGEUFEYSPAKPLH NXLULVHZNAVHZMKVGOIANRNQBNPDSHEXDFLKTZRLB

     

    Étape 4 : Chiffre ADFGVX

     

    VGGVAFXDVGAFXFVDGVAFXDVGAFXFVDVXFAVDVFFXFAXVFAFXDFXDVD
    VDAGAGXDFFDAFFXVDFFADDGAFFFXFXFADVVGVDVXAFXVDFVGVDVXAF
    FAXFDFXVAFVFFXDDVDXVFFAAVDVDDFXVAFVFFXVXFADFFXAFVFXAFA
    VDXVFXDFAFFAVGVDFXXAFADVXDFFXVDFVDFXVXAFVFVGVDVFXDFXVX
    FFXVFXDFAFXVAAAFVDVFXDGAVGVDFAXVVXVDAGAGXDAFFAFXVDGAVG
    FFXVDFVDXDAFXVDFDVFAVDXVDFDFAAAFDDDDVDVXFFXVFXVFXVVDAA
    FADVVGVDVGVDGAVGFFFAFXFAXDXAFFGAAFXDVDVFGXAGVFFAXDFFXA
    VDXDFXVGGVAFXDFAXGAFXVFFFAXVFXFAGGVFVFXVVDFXDAVGGAGVFA
    VXVDFFVFAGAFXVVXVXVDVGFFAAAFVFVGFAFXFXVDAAGVFFGGVFVDFA
    XVFXDFFFXVDFDFVDVXXAAFXDVDVFXVDDAFXDAAVDFFVFVXVFVXVGFA
    AAVDFFAAGVFFGGVFVDGVAFDDDDVDFFAAAAAFXDVXGAAFVFXDDFAFVF
    DFVDFXFFFXFFFAFXAFXVDFXDAFFAFXDDFAVGVGVDFXFAGXAAVDXVDF
    FXAGAFFAFXGAFFXDGVVDVFXDVDVGFFFXVDAAAFXVVXVDAAGVVFAAGV
    AFDFVDFXAFVFXAFAVDXVFXDFAFFAXDFFGAFAVXVDFFXAVDAAFXFFXA
    AFFAGXVXFAXVFXVDAADFVDDDFFFAXVDFVDXVFFXVDFVXFADFAXVDFX
    VFFAFXFFVFDFXDVDAGAFFAFXVDDFAXFFFAGAAFDDGADFFFXAFAVDFF
    XAVDAADDFFDFXDAFDDGAVDFADDDDAFXVVXVDXDVDDDVDDDDVVDXDFX
    AFVFXAFAVDXVFXDFAFFAGAXDAFVXFAXFVFVDVDFXDFAFDDVDDDAFXD
    DDAFXVXFAFFXFAVDXDVXVDDDDFFFVGGAFFXDVGVDDFAFVFDFVDFXVG
    VDFXVGFFXVXFVFVDFXVGVDFXDDFAXVVFDFVDFXDDAFXDDFVDVGAGAF
    VGDFXDVDFXAFXVDFVXVDFXXFFFXVXFVFVDFXGGVFFAVGXVVDAGFFVF
    DFGAFFFXVGAAGVVDXDFXFFXVFXVDXVVDGXDFXDFFFAXDVDVGAFXDFX
    AFVFXAFAVDXVFXDFAFFAGGVFVDVGVDDFVDDDGAFXVDFXDFVFXVAXAF
    VFVDVFXDFFXAFAVXVDGGVFFAXFFFXFXVVDFXFFXVFXDFXDFAAAGVVD
    XDDFAFVFDFAAAFVFGAAAVDFXDFVGFFVGAFFAVGVDAXAFVFXDVXAAXD
    AFDFVGFFXVVFFADFFFVFXFDDVDXVDFVDFXAFVFXAFAVDXVFXDFAFFA
    VGVDXFAFVFAGAGXDVDFFDFAFVFAXAFVFXDFXFXAFFAAGVGFFAAVGVD
    GAFXDAVXXDVDFXVDXAFAVXVDDFFFXVDFDFFXAFXVXVVDXDFFVGGVVD
    VFXDVDAFVGVDVXFAXAFAXVGVFFFXFFXDVXAFVGFFVFXFVFFXDFVDXA
    VDXDDFVFDFAFXVGAAFVFFXVDVDXVAAAFXDXAFAVDXDXFVDAFVGVDXD
    VDGAVDXVDFFAXDDDDDVDAFGVVGFFVXVDXDXVFAXDVDFFVFDVVDXDXF
    VDAFDFAFVFDFDFVDVXFAXDFFDDVDVFXDFXXAFAVDVFGXVGAAGVVDFA
    VGVDFXDFDFXDAFGADFFFXDVXAAGVFFXDVGVDFXDVFFVFVXVDVGFFFA
    XDVDXXXXDD

     

    Étape 5 : Chiffre Playfair

     

    PDQPU NHKUE KSDFI FKDAP RDPQQ UKHKU DYYOO MUEKS UNEPB VUNXB CYUSU PBKJM BOBKK BQFKU FECYM APEEF PDHTU SAKUS MEKUB YKBYO FANBM ARCUP BKGRK STOKB UYEPI TIOUP CRGBO XEFDM HXEPO ARCEF DFYKV SASPB FAZGD UEMMF NMSXO BHZFK KSEFY PYOUG BKRAP DUMIF DKGIF KZOSX PDNOS QFOVY YOBKB KYBRJ BKBYK BHOUN SHEFY CAFKD SZDFX IPDIB AIYEU BSLKD DIJMF BBUME KCOSE PLUUK PBFAV YSBOX BKPDI TKTRJ SMSKB KFKBF RUMQD REYMR AOFOV YYODP BKLOF KUXPD KBXGB KARKS BKFMO EASKH BKEFJ IKHSB KUBK

     

    Étape 6 : Enigma

     

    XLATEGFZCYPOERPVCBEFAHRJACYRSOBTYTPGICCOLNAMPITFWXZCRCQLHYUHLUZYXWRMYZFXWEKCOUFHEPLSDKULIXFLBRKVOUMHVTQKBAKSTHOQOQBEICSKRNEZABOURWCPQHWMIHXSVELITGBZRQRNDPOHXLEBXARWLPQXZUXNQCILSPPWWPXYFDUZDODESFJQLUWYYYGKJQGUGFISMBAQNRXJCDALWDFKSXGBYKNPKSGCGIINGAGGBZUOOFJHIFGLOXCRFBULWGVKVIELLOWVHDKDRZWYPTUWKFEWWIWTUKDYCLXWRJHGGMPAYQIFWQDMVGELRMZKPOUGCZJHSHPOGGARMGAQGBZHJIKNKONNLUFMZNVKMTTZILWORYOHBHEQHXLUUTHWTCDOJKVNNMYMFRVCPTPMPGTREYEXNMIYLSDIZTPZWMMQPAXAAKLWWVHXGUEQQNTCMHBQLYVPKERNDXEKSBGGTPZBBANSCTPVQFJPVMKOQK

     

    La machine comporte trois rotors, le tableau de connexions n'est pas utilisé.

     Étape 7 :

     

    LTKUTBENAJWRCFGBAJSVGKURAFAJKPRFZUANEMEB XPNYGOXAQHGWHJNIAJKPIIGBSMLTKOTAITWQTOKL WHNNLEOGITGORZDHIECQLEEOQESMWHENZLQFYWVK YTWIGTSDWROHITWHDRRSVZVXSMVZPDLECFLTITYE KCSVWQENAJXPAIEOFHSYYKFKCIOGKPJPUAFKEORP LXWBMYJEEOWHJTENWRAZWQDQYRYWXTURENWHJTEL GOFXVXMBWRSMRLNINJRBORVZTJSORPBNHZIVCBVR WHQHVRENGGOERPENBHOQYZUYANSLGHQHVRVZEMAJ NJIIENVZFBIPVZBNZBVGSMEOHGEOKRGBYECFSIRF XPVXSMEOHGUZMBII

     

    Étape 8 :

     

    174 280 333

     

    Étape 9 :

     

     

    Message court :

     

    10052 30973 22295 13534 12990 66921 15454 81904 58209 26472 18119 11542 99190 01294 87266 20201 55809 80932 92390 96710 64341 91354 27685 27572 48495 78859 80627 33369 29356 36094 85523

     

    Message long :

     

    begin 600 text.d

     

    M.4#)>SI:R!!4)NA+\%T%V /(AW!7HHDPS$;T[\E!RWA?,J8:X#D[!:XF,A>KMXT9$Q)37\IOMG

    6KL-$6?A!#FZ2Y)N+K %*.^2K!SP?Z2'8O7LZ]QP \T=QG-*MAMJA;Q@3H[8^U/L<ILL%TA0J9M*@8F?H:76%<33JOESAP=@3:(\:8NBGFM0M,MP3B^CP %/D8DICZ$VO(7IS(DTJRZY- 7I\-#VI0''>J@+O!CT.+6B9K$J%4:EAB9%#;(P+I>1!#<+2+;(7.W<

     

    Je reste bien entendu disponible sur le forum ainsi que sur Mumble et en jeu si vous souhaitez obtenir plus d'informations !

     

    Je vous souhaite à tous bonne chance et que le meilleur cryptanalyste gagne !

  7. tavernier_moyen.pngL'Adrianno - Yasuhiro tavernier_moyen.png

    ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ L'Adrianno est une brasserie servant des produits de qualité qui régalera vos papilles ! Viandes et poissons grillés, bières mousseuses et soupes onctueuses au rendez-vous ! ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

    stendel.pngTaverne de Magna Dea stendel.png

    Voici ce que je vends et les prix de mon magasin en x:-43 y:62 z:358

    4197.png Cookie : 3 PA pour 16unités 4200.png Melon : 1 PA pour 5unités 4137.png Bread : 1 PA pour 3unités 10014.png Soupe de poisson : 0,9 PA pour 1unité

    ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

    signature_generateur.png

  8. tavernier_moyen.pngL'Adrianno - Yasuhiro tavernier_moyen.png

    ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ L'Adrianno est une brasserie servant des produits de qualité qui régalera vos papilles ! Viandes et poissons grillés, bières mousseuses et soupes onctueuses au rendez-vous ! ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

    new-stendel.pngTaverne de Nevah new-stendel.png

    Voici ce que je vends et les prix de mon magasin en x:-668 y:71 z:-741

    4204.png Steak : 1 PA pour 1unité 4200.png Melon : 1 PA pour 5unités 4160.png Cooked Porkchop : 1 PA pour 1unité 4137.png Bread : 1 PA pour 3unités 4160.png Cooked Porkchop : 1 PA pour 1unité

    ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

    signature_generateur.png

  9. Bonjour les taverniers !

     

    J'ai vu que j'ai été mis dans la section "Joueurs en pause / Sans nouvelles". Il est vrai que ça fait pas mal de temps que je n'étais pas venu, je faisais une pause. D'ailleurs j'ai jamais été actif dans la corporation je dois admettre... Mais maintenant je suis de retour et je reprends en main mes commerces ! Donc si je pouvais être remis dans la section "Joueurs actifs" ce serait cool ^^

     

    Bonne journée !

     

    PS : J'ai changé de pseudo, le nouveau est Yasuhiro.

  10. Ce projet a l'air sympa, on sent l'inspiration dans l'architecture et au moins, on voit qu'elle est aboutie. Pour moi c'est déjà un bon point. En revanche, le gros hic, c'est les fautes, ça détruit la présentation qui manque aussi cruellement d'informations. On aimerait en savoir plus sur ce projet, quelles sont tes motivations, quel est le but du projet ? Le territoire demandé est aussi beaucoup trop grand pour un projet de ce type et pour seulement deux participants. Etoffe ta présentation et ce sera parfait. Aussi fais la corriger (comme l'a dit Alexas ci-dessus).

    Je plussoierais ce projet quand tu auras développé tout cela. Ne désespère pas !

     

    Bonne chance !

     

    Yasuhiro

     

    PS : Je pique le boulot de the_dionysos en te faisant remarquer qu'il manque l'accord de Merel ;)

×
×
  • Créer...