Code source du jeu 11


Mraaaah vient d’avoir un compte sur le blog, et peut être aura-t-il le temps de publier les sources de ses solutions. En attendant, voici le code source du jeu.

En général on documente un peu le truc, on met un README, des commentaires, etc. Mais là je vais invoquer le fait que je veux vous montrer ce que ça donne un code à la vite pour justifier ma grosse flemme. Ce code source est intéressant car il montre plusieurs choses :

  • On peut coder en très peu de lignes un truc comme ça en Python.
  • Nous aussi on fait du code à l’arrache : ici un truc pondu en une après-midi, non commenté, écrit d’une traite.
  • Les petites libs comme path.py ou bottle, ça aide bien.
  • Quand on fait les trucs trop vites, il y a des coquilles : dans notre cas on a une lib qui sert à rien, le check du mot de passe final sur la mauvaise fonction, etc. Et c’est pas scalable pour deux ronds.
  • Même quand on code mal en Python, ça reste assez lisible.
  • Python, c’est pas si lent : malgré un code d’init lourd et un serveur en pur Python (cherrypy) qui s’est pris vos essais de bourrins, ça démarre vite et ça a bien tourné.

Vous trouverez dans le répertoire scripts les soluces des énigmes que j’ai utilisé pour vérifier que ça marchait. Vous verrez que là aussi, c’est du vite fait, avec parfois des trucs qui plantent tout simplement par fainéantise.

Pour démarrer le jeu : python site.py avec du 2.7.


Mraaaah a publié ses solutions.

11 thoughts on “Code source du jeu

  • Etienne

    Il est étonnamment clair ce code. Et plus simple que ce que j’imaginais.

  • Syl

    Ah cool! Je vais enfin voir les entrailles de ce jeu! Merci!

    P.S: “que j’ai utiliseré

  • Sam Post author

    Au passage, il est évident que l’utilisation de variable globales n’est PAS quelque chose de recommandé. Je répète, ceci n’est pas du code propre.

  • roro

    Ben y’a pu qu’à le commenter ce code (sans rien changer. hein..)
    Quand tu aura le temps… of course..

  • Kad

    l’utilisation de variable globales n’est PAS quelque chose de recommandé

    J’ai souvent entendu ça…tu peux m’expliquer pourquoi?
    Y’a un risque particulier?

  • freakzoid

    Je vois que vous utilisez CherryPy en plus de bottle.
    Qu’est ce que ça apporte en plus ?

  • Sam Post author

    @Kad: faire ce qu’on appelle un code “spaguetti”, c’est à dire un code difficile à relire car les effets de bords sont difficiles à prévoirs et les dépendances éparpillés relou à tracer. Les globales, c’est se rajouter des bugs et se compliquer la maintenance.

Leave a comment

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Des questions Python sans rapport avec l'article ? Posez-les sur IndexError.