K shell: découper une chaîne de caractère avec une sous-chaîne comme délimiteur

Edit 25/07/2009 :

Oubliez tout ce que je dis dans la suite de cet article, c’est que de la merde. Y’a une façon bien plus simple pour traiter les chaînes de caractères. (et bien plus autistique, comme le veut le K-shell).

Le fabuleux, et très explicite opérateur « pourcent-pourcent » permet de supprimer des trucs à la fin. On peut l’utiliser avec le caractère *, signifiant « le plus de conneries possibles ». Ça donne un truc comme ça:

CHAINE="GrosNichonsEtRobeRouge"
AVANT_CHAINE=${CHAINE%%Nichons*}
echo ${AVANT_CHAINE}
-> ça renvoie "Gros"

Et l’incommensurable opérateur dièse-dièse vire des trucs au début.

APRES_CHAINE=${CHAINE##*Nichons}
echo ${APRES_CHAINE}
-> ça renvoie "EtRobeRouge"

Pour récupérer une info entre deux « Nichons », procédez par étapes successives. Non, on peut pas l’avoir d’un seul coup, oui c’est de la merde. Mais c’est du K-shell.

Supposons que vous vouliez récupérer le mot « Poilus », dans la chaîne de caractère : « GrosNichonsRougeNichonsPoilusNichonsPoire ». (Je suppose ce que je veux et ne m’embêtez pas).

CHAINE="GrosNichonsRougeNichonsPoilusNichonsPoire"
AVANT_CHAINE_1=${CHAINE%%Nichons*}
-> AVANT_CHAINE_1 contient "Gros"


CHAINE_2=${CHAINE##${AVANT_CHAINE_1}Nichons}
-> CHAINE_2 contient "RougeNichonsPoilusNichonsPoire"


AVANT_CHAINE_2=${CHAINE_2%%Nichons*}
-> AVANT_CHAINE_2 contient "Rouge"


CHAINE_3=${CHAINE_2##${AVANT_CHAINE_2}Nichons}
-> CHAINE_3 contient "PoilusNichonsPoire"


AVANT_CHAINE_3=${CHAINE_3%%Nichons*}
echo ${AVANT_CHAINE_3}
-> ça renvoie "Poilus" et c'est ce qu'on voulait.

En plus ça s’exécute plus vite que des sed ou des grep, car ça ne crée pas de sous-processus.

Je tiens à remercier mon collègue Pied-Agile, qui m’a fait part de cette astuce. Comme quoi ça peut servir d’avoir dans son entourage un gars qui a tout vu, tout entendu et tout fait, et qui aime à étaler son savoir jusqu’au fond de ta gorge.

Voilà, c’est pas la peine de lire la suite de l’article. Il sert à rien. Je suis un échec. Je suis un échec. Je suis un échec. Je suis un échec. Je suis un échec.

Fin edit

Aujourd’hui, mon collègue Monsieur Vêtements est venu me poser une question toute conne sur ce langage de programmation d’autiste qu’est le Korn shell.

super_korn

comment

découper

une chaîne

de

caractère

en utilisant

une

sous-chaîne

comme

délimiteur

J’ai bidouillé et cherché sur internet pendant presque une heure, avant de trouver une solution toute simple, utilisant des instructions que je connais depuis 10 millions d’années. Alors soit c’est moi qui suis très con, soit personne n’utilise le Kshell pour faire des trucs de ce genre, soit personne n’utilise le Kshell du tout. Mais ça m’a suffisamment énervé d’avoir mis autant de temps à trouver pour que j’ai eu envie d’en faire un article, et pour montrer au passage que parfois les solutions se trouvent en prenant le problème à l’envers, en particulier avec les langages de programmation d’autiste, et putain c’est quoi cette phrase à rallonge, faut peut être que je mette un « . » là

.

J’en reviens pas d’être toujours autant capable d’écrire des trucs aussi pas drôles. Ce genre de blague on le fait au collège normalement. Hahaha. Point. Hahaha. Bon allez, on enchaîne [de caractère].

Au fait, j’ai rien contre les autistes. Mais c’est juste que c’est à la mode de dire qu’un truc est « d’autiste » quand sa compréhension nécessite un état d’esprit bizarre.

<ici, une photo de sexe avec des autistes?>

Le problème

Vous avez une variable dont la valeur est, au hasard: « GrosNichonsEtRobeRouge »

bj1501

Mettons que la sous-chaîne de délimitage soit « Nichons ». Vous voulez donc récupérer d’une part le mot « Gros » et d’autre part « EtRobeRouge ».

Les solutions que j’aurais trouvées cools

Je m’étais sottement dit qu’il existait une instruction pour découper une chaîne en morceau, et récupérer, soit la liste des bouts, soit le nième bout.

L’instruction « cut » permet cela. Sauf que le délimiteur ne peut être qu’un caractère tout simple. (Enfin c’est ce que j’ai cru comprendre en lisant leur man d’autiste).

Ou alors j’aurais pu faire ça en deux étapes. Une première instruction me donne l’index du mot « Nichons » dans ma chaîne, puis je récupère les caractères se trouvant avant cet index, et après l’index + la taille du mot Nichons.

Mais pour choper l’index d’une chaîne, c’est pas si évident que ça.

J’avais bien trouvé ce truc là (http:// www. unix.com/shell-programming-scripting/44960-using-awk-shell-script-extract-index-substring-parent-string.html). Ça utilise l’instruction « awk », ça semble un peu compliqué, mais pas si mal.

Sauf que la commande à exécuter n’est pas la même selon qu’on est sous Solaris ou sous autre chose. Ça me tue la gueule qu’un traitement aussi simple et aussi stupide soit dépendant de l’OS. Je dis merde. Bande de sales cons.

La solution que j’y avais pas pensé

J’ai bien évidemment oublié l’adresse du site où elle était expliquée. Tant pis.

Ça marche avec une commande sed toute conne. D’habitude, on s’en sert pour effectuer des changements ou des suppressions sur toutes les lignes d’un fichier. Mais il faut pas oublier qu’on peut aussi l’utiliser sur une variable à la con.

Et au lieu de dire « je veux récupérer ce qu’il y a avant ma sous-chaîne de délimitage » il faut se dire, à l’enverement: « je dois enlever ce qu’il y a après, ainsi que la sous-chaîne elle-même. »

Ce qui nous donne un truc comme ça:

CHAINE="GrosNichonsEtRobeRouge"
AVANT_CHAINE=`echo $CHAINE | sed -e "s/Nichons.*//"`
echo $AVANT_CHAINE

Et vous récupérez « Gros »

Pour ceux qui connaissent pas la fabuleuse syntaxe psychologiquement torturée du Kshell, je vous laisse rien comprendre à ce que j’écris, et vous documentez par vous-même, ou pas. Pour expliquer en une phrase: on remplace le terme « Nichons + n’importe quoi » par rien du tout.

Et pour choper ce qu’il y a après, c’est pareil mais dans l’autre sens:

CHAINE="GrosNichonsEtRobeRouge"
APRES_CHAINE=`echo $CHAINE | sed -e "s/.*Nichons//"`
echo $APRES_CHAINE

Et ça vous sort: « EtRobeRouge »

Les éventuels bouts de « Nichons » se trouvant avant ou après le délimiteur ne sont pas détectés, et c’est tant mieux. Par exemple, si CHAINE vaut « PetitNiichonsGrosNichonsEtRobeRouge », alors AVANT_CHAINE aura pour valeur: « PetitNiichonsGros ». Ça aurait fait pareil avec « Nichon » sans S, ou « ichons » sans N, ou tout autre truc mal écrit.

Y’a pas de Nichons

Si le mot « Nichons » n’est pas présent dans la chaîne de départ, alors AVANT_CHAINE et APRES_CHAINE vaudront pareil que CHAINE. C’est pas forcément pratique. Si ça vous plaît pas, vérifiez préalablement que le délimiteur est bien présent en faisant un petit

echo $CHAINE | grep "Nichons"

Y’a trop de Nichons

Si le mot Nichons est présent plusieurs fois dans la chaîne de départ, ce sera un peu bizarre. Le point-étoile de l’expression régulière du sed essaye de prendre le plus de trucs possibles. Donc pour AVANT_CHAINE vous récupérez ce qu’il y a avant le premier « Nichons », et pour APRES_CHAINE ce qu’il y a après le dernier « Nichons ». Pour avoir le milieu, il faut procéder par étapes successives: on récupère la première partie et le premier Nichons, et on enlève tout ça de la chaîne. Puis on prend la partie suivante, et ainsi de suite.

Si vous savez à l’avance combien y’a de nichons, vous pouvez récupérer directement le morceau que vous voulez:

CHAINE="GrosNichonsRougeNichonsPoilusNichonsPoire"
POS_3=`echo $CHAINE | sed -e "s/.*Nichons.*Nichons\(.*\)Nichons.*/\1/"`
echo $POS_3

Et ça vous répond « Poilus »

Dans le sed, mettez les antislash-parenthèses à la position du morceau que vous voulez choper.

Blablabla

Et vous savez quoi? Ça marche même sur les Mac. Youpi!

J’en profite pour dire que sur les claviers bizarres du Mac le caractère « | » se fait avec la combinaison alt + shift + L. Encore un truc d’autiste.

Ce caractère s’appelle un pipe, (prononcer païpeu en tordant la lèvre de travers pour vous donner un côté dragueur), ce qui me permet de transitionner vers la suite.

Les mots rigolos du langage informatique

C’est bien connu, les informaticiens connaissent rien aux trucs de sexe. Du coup, ils utilisent des mots dont ils ne se rendent même pas compte que c’est une cochotation (= une connotation cochonne).

On vient donc de voir le pipe, d’autant plus rigolo que la forme du caractère évoque l’objet en lui-même, en érection. Ho ho ho.

Mais vous avez aussi le bit. Hahaha!!! BITE!!! Hahaha!!! Sans oublier le « byte », qui ne vaut pas forcément 8 bits, attention!!! (http:// fr.wikipedia.org/wiki/Byte)

Le bool (variable booléenne). Haha. Eh les geek, on se mate un film de bool?

Ah tiens c’est marrant, tous ces mots rigolos étaient féminins au départ, et pour entrer dans le langage informatique, ils ont dû être masculinisés. Une pipe -> un païpe. Une bite -> un bit. Une boule -> un bool.

Quand je vous le disais que ce milieu d’autistes manque de nanas. Où soooonnnt les feeeeeeeemmes??? Tu tulu tu lulu.

Bon, je continue.

Le Mac. C’est un ordinateur. Mais c’est aussi un « DRH en plus-beau-métier-du-monde ». Et vive le commerce de proximité!

Pour les zoophiles, il y a bien sur la souris.

En moins fun, mais un peu quand-même, on a le « short ». (utilisé dans le langage C pour déclarer des variables numériques pas trop longues).

Et bien sûr, on s’y attendait tous, il arrive, le voilà:

LE STRING!!!

victoria02

Oui, l’image montre un maillot-de-bain-string et pas un vêtement-string. Mais je fais ce que je veux.

Et parfois, on entend même parler de « bitstring ». Ça doit être l’équivalent d’un god ceinture.

En parlant de mots rigolos, j’ai toujours trouvé ça absolument génial que le mot « God » désigne en même temps « Dieu » et le … ben, le gode quoi!!! Oh my god! Hahahaha. Et c’est une blague qu’on peut faire que en français. Les angliches l’auront jamais celle-là. Bien fait!

Je n’ai recensé que les trucs sessuels, mais il y en a plein d’autres (http:// www. presse-citron.net/comment-l-informatique-a-donne-un-nouveau-sens-aux-mots).

Et pis tiens:

. final

Ha ha ha ha! Je suis diabolique!

<blague débile sur le fait que comme je viens de rajouter une phrase après le point final il faudrait que je remette un point, et pis je remettrais une phrase, et je remettrais un point, ainsi de suite jusqu’à l’infini.>

Règles à respecter pour les jeux à énigmes

Je réoriente, possiblement momentanément, la ligne éditoriale de mon machin, pour vous causer de trucs de geek très sérieux.

Les règles

que doivent

respecter

les jeux à

énigmes

Avertissement: dans cet article, je vais donner plein de contre-exemples de jeux qui ne peuvent pas être considérés comme « à énigmes ». Ça veut pas dire qu’ils sont mauvais. C’est juste qu’ils font pas tout à fait partie du genre.

Second avertissement: « Deadly Rooms Of Death » (DROD) est le meilleur jeu à énigmes que je connaisse, je le mentionnerai assez souvent. Alors peut-être que vous devriez télécharger la version libre et gratuite du premier épisode (http:// caravelgames.com/Articles/Games_2/AE.html). Pour les épisodes suivants, pour des versions plus jolies, ou pour jouer sur Mac, baladez-vous dans le reste du site. Ce sera un peu moins gratuit. Mais je n’ai aucune honte à leur faire de la pub parce que vraiment j’aime bien ce qu’ils font.

drod-big

Troisième avertissement: Je vais utiliser beaucoup de fois le mot « règle ». Mon hémisphère cérébral de la rationalité dispense mon hémisphère cérébral des émotions de s’en servir pour des glissements de sens douteux. Et merde, ça y est il vient de le faire. Va falloir qu’il arrête de faire n’importe quoi, ce gros hémisphère débile assoiffé d’orgasme.

Quatrième avertissement: je suis un koala.

Règle 0 (pasque c’est rigolo de compter en geek): uniquement de la réflexion

Le jeu ne doit pas nécessiter d’adresse, d’habileté, de rapidité, ou des doigts magiques +10. Il ne doit pas non plus faire intervenir la chance ou le hasard. Voilà. Il fallait que ce soit dit.

Règle 1: Ne pas forcer le joueur à recommencer des énigmes, ou des parties d’énigmes déjà effectuées.

Ce qui se décompose en deux sous-règles.

1-0: Avoir un système de sauvegarde le plus complet possible.

Lorsqu’on est en pleine résolution d’une énigme, on doit pouvoir sauvegarder la situation actuelle à tout moment, et dans son intégralité.

1-1: Ne pas trop pénaliser les échecs.

Dans un jeu à énigmes, le joueur peut se faire tuer/bouffer/vitrifier/infantilisé. Il peut même se retrouver dans une situation bloquante, (l’énigme n’est plus résolvable), sans en être averti. Ce sera à lui de s’apercevoir par lui-même, avec son cerveau, qu’il s’est foutu tout seul dans la merde.

Mais dans tous les cas, il faut toujours pouvoir revenir rapidement à une situation « garantie 100% non bloquante ». Cette situation devra être la plus proche possible de celle où le joueur a pu commencer à se bloquer ou à crever.

La règle 1-1 est plus importante que la 1-0. Le système de sauvegarde ultra-complet ne sert plus à rien si on sauvegarde juste après s’être bloqué comme un âne. La seule solution sera alors de reprendre une partie plus ancienne, si on en a une, et c’est chiant. Ça s’appelle la « sauvegarde boucle infinie of the Death » (http:// www. nioutaik.fr/index.php/2007/05/16/278-top-7-des-trucs-qui-enervent-un-geek).

Le jeu DROD, ne respecte pas tout à fait la règle 1-0. Vous ne pouvez sauvegarder que sur des « cases checkpoint », ou en passant d’une salle à l’autre. C’est pas bien. Mais c’est pas trop grave, car la règle 1-1 est plutôt bien respectée, et en plus, y’a un historique automatique des sauvegardes à check point.

Exception: si la granularité des énigmes est suffisamment atomique (phrase qui pète mais qui veut dire, en normal: « si chaque énigme est simple et se résout en peu de temps »), alors ces règles peuvent être ignorées. Le joueur disposant uniquement d’un système de sauvegarde entre deux résolutions d’énigmes.

Règle 2: Donner un temps de réflexion illimité.

Parce que c’est un peu stressant, et totalement inutile de voir une horloge tourner, et de se faire pounaid la face à devoir tout recommencer juste parce qu’on est allé se chercher une bière pour aider à réfléctionnir.

Petite nuance: le temps d’exécution, lui, peut être limité.

Un exemple? Dans le sympathique jeu Pushover, vous dirigez une fourmi qui doit placer correctement des dominos, de façon à tous les faire tomber en cascade. Certains dominos ont des effets particuliers, tout cela est super rigolo.

pushover_14

On remarquera un compte à rebours en bas à gauche. Arrivé à zéro, il devient rouge, et se met à compter à-pas-rebours, mais le jeu ne s’arrête pas. Vous pouvez continuer de déplacer les dominos, les pousser, etc. Si vous résolvez l’énigme alors que le compteur est rouge, elle n’est pas validée. Il faut la refaire en mettant moins de temps. Pour certains niveaux, tout est calculé au pico-poil de cul près. Mais la règle est respectée: le temps de réflexion est illimité.

Pushover est récupérable ici (http:// www. abandonware-france.org/ltf_abandon/ltf_jeu.php?id=222&fic=liens), et certainement sur d’autres sites abandonware.

Règle 3: tous les objets doivent avoir un comportement prévisible, et les énigmes ne doivent pas reposer sur des éléments cachés.

Un chouette exemple : Incredible Machine, et toutes ses suites, Incredible Toons et autres. Dans ce jeu, vous devez placer des objets de façon à provoquer des enchaînements d’action, tel que: une souris posée près d’un chat qui va s’enfuir en courant qui va pousser une balle de tennis qui va tomber sur des ciseaux qui vont couper une ficelle qui va libérer un ballon qui va s’envoler qui va cogner contre une bascule qui va lancer un ballon de basket qui va atterrir sur une lampe de poche placée devant une loupe placée devant une mèche qui va brûler et déclencher un canon qui va tirer un boulet qui va atterrir sur le chat du début pour finalement le faire tomber par terre parce que c’est rigolo. Hiiiirrrrrr !!! Je reprends mon souffle.

incredib_machine_screenshot02

un contre-exemple: le Mah Jong.

Dans ce jeu millénaire de l’empire chinois de la frouzième dynastie du vase Ming, il faut éliminer toutes les pièces, en les regroupant par paires. Vous ne pouvez pas toucher une pièce si il y en a une autre par dessus, ou si ses bords gauche et droit sont collés à d’autres pièces.

mahjong_2335_fr_sc3

Vu comme ça, ça semble jeux-à-enigme-compliant. Eh bien non, car on ne voit pas les dessins des pièces de dessous! L’ensemble de la situation de l’énigme n’est pas visible dès le départ. Du coup, on associe des paires sans trop savoir si on le fait dans le bon ordre, puis on se bloque, et beurkh.

Petite subtilité dans la règle: lorsqu’on commence un jeu qu’on ne connaît pas, tout est, par conséquent, imprévisible. Les premières énigmes doivent donc être assez simple. Si de nouveaux objets apparaissent plus tard, on pourra, à chaque fois, les introduire dans des « énigmes-tutorial ».

Règle 4: Ne pas noyer le joueur dans un trop-plein de complexité inutile

« Privilégier la quantité à la qualité. » Je sais, c’est une formule toute faite que tout le monde utilise partout et tout le temps. Eh ben moi aussi, na!

Tiens pour cette fois, on va changer un peu. Au lieu de balancer exemple ou contre-exemple, on va faire comme si vous vouliez créer une énigme, et que moi je serais votre conseiller. (Oh oui oh oui Tonton Réchèr!) (Tonton Réchèr, raconte nous une histoire!) (Tonton Réchèr, pourquoi tu vas chercher la tronçonneuse?) (Je raconte n’importe quoi et j’ai même pas honte, c’est génial)

Même si tous les objets constituant votre jeu sont connus et prévisibles (règle 3), il y aurait peu d’intérêt à les mettre en un gros tas emberlificoté. Souvent, une énigme construite de cette manière oblige le joueur à essayer un million de possibilités une par une pour trouver la solution. C’est cacacrade et ça rend fou.

Par exemple, devoir ouvrir 100 portes dans un couloir, à l’aide de 200 boutons qui les actionnent toutes de manière différente, c’est chiant. Remplacez tout ce bordel par 3 portes, avec 3 boutons qui ne peuvent jamais ouvrir les 3 portes en même temps. Puis, ajoutez un petit passage secret permettant de contourner la porte du milieu. Vous avez quelque chose de moins prise de tête, mais intéressant quand même.

Attention! le passage secret doit se voir un minimum. S’il est totalement invisible, vous ne respectez pas la règle 3.

Avec cette règle, ça devient beaucoup plus dur de construire des bonnes énigmes. Mais elles seront plus amusantes, et plus titilleuses-de-cervelle. La meilleure technique que je connaisse, c’est d’utiliser une astuce quelconque (le passage secret), et de détourner l’attention du joueur vers autre chose (la prétendue complexité des trois boutons). Après c’est une question de dosage. Il faut cacher l’astuce, mais ne pas la noyer.

Ou alors si ! Vous pouvez la noyer, mais dans ce cas, exagérez à fond, que le joueur se dise justement: « ça peut pas être aussi crétin, il doit y avoir une astuce. » Et comme ça le joueur cherche l’astuce, au lieu de chercher dans le noyage. Euh, c’est pas clair ce que je dit. Tant pis, on le garde.

Règle 5: les énigmes doivent être indépendantes entre elles

Si le joueur a complété une énigme d’une manière pas très élégante, cela ne doit pas avoir de conséquence négative sur les énigmes à suivre.

J’ai pas d’exemple ni de contre-exemple. En gros, le but de cette règle est d’éviter des conneries du genre: « Ah mince, j’ai utilisé ma super dynamite magique +10 à l’énigme précédente, mais je n’y étais peut-être pas obligé, et maintenant je suis confronté à une énigme encore plus dure, pour laquelle la dynamite magique est peut-être indispensable, mais en fait j’en suis même pas sûr. Argh. Putain de jeu de merde. Bon j’en ai marre je vais regarder les feux de l’amour. »

Et c’est comme ça qu’on fait plonger les jeunes dans les « feuilletons ». Un feuilleton c’est comme une série, mais pour les vieux. Ah ah, je le trouve trop rigolo ce mot.

<ajouter ici une image des feux de l’amour>

Règle 6: Proposer différentes voies de progression dans le jeu

Si le jeu possède un tas d’énigmes géniales, mais qu’elles doivent être résolues dans l’ordre, c’est très dommage. Le joueur se retrouve bloqué à la première énigme qu’il ne parvient pas à résoudre. Les suivantes il les aurait réussies, et en plus elles étaient psychologiquement hyper-valorisantes, ça aurait rendu sa vie toute rose et il aurait repris confiance en lui et il aurait pu faire le beau et draguer sa mère qu’est une superbe femme et qu’il a envie de se la taper depuis 40 ans. Mais non, le joueur n’y a pas accès (aux énigmes, pas à sa mère). Tant pis. Fail.

On doit pouvoir continuer d’avancer dans le jeu même si un certain nombre d’énigmes ne sont pas encore résolues. Après, tout est une question de dosage sur le « certain nombre ».

DROD respecte un peu cette règle, mais pas trop. Le jeu est divisé en étages, eux-mêmes divisé en salle. Chaque salle consiste une énigme. On peut les résoudre plus ou moins dans l’ordre que l’on veut (ça dépend comment elles sont agencées), et ça c’est bien. Ce qui est moins bien, c’est qu’il faut, de toute façon, résoudre toutes les salles pour passer à l’étage suivant.

Mario 64 respecte cette règle de la meilleure façon. Oui c’est pas du tout un jeu à énigme, il faut de l’adresse, de la rapidité, et plein d’autres qualités bizarres, tel que la champignophilie, mais osef.

Dans Mario 64, chaque niveau vous permet de débloquer 6 étoiles, en réalisant certaines actions plus ou moins débiles: sauver un pingouin, libérer un chien-bouboule, ou encore ramasser des pièces de 2 centimes tel un gros capitaliste radin et arriviste prêt à vendre sa mère à un enfant du tiers-Monde et à demander des subventions aux ONG pour acte de bienveillance. Ah putain ce qui est génial avec les blogs c’est qu’on peut digresser comme on veut c’est ranafoutt.

Certains niveaux ne sont accessibles qu’après avoir débloqué un certain nombre d’étoiles. Mais on peut finir le jeu sans en avoir la totalité. C’est bien. Et ce qui est encore mieux, c’est que le joueur grosbill acharné qui veut passer du temps à tout débloquer est récompensé par quelques goodies bien sympa.

Exemple qu’on croit que c’est un contre-exemple alors qu’en fait non:

Dans le jeu Lemmings 2 – the Tribes, vous disposez de 12 tribus de 60 lemmings, chacune devant traverser 10 niveaux. D’un niveau à l’autre, vous ne conservez que les lemmings que vous avez sauvés. Par exemple, si vous en crevez 42 dès le premier niveau, vous n’en avez plus que 18 pour faire les suivants.

Vu comme ça, ça ressemble à un non-respect de la règle 5: les énigmes ne sont pas indépendantes entre elles. Mais en fait pas tellement. Vous connaissez le fonctionnement du jeu, donc vous savez qu’il est inutile de passer du temps à réussir un niveau si vous avez mal fait ceux d’avant. Cependant, vous pouvez quand même l’essayer, juste pour le fun. En fait c’est un total respect de la règle 6.

respect_magazine2

Règle 7 (facultative): foutriquer de la créativité dans les chaumières

Il faut donner aux joueurs la possibilité de créer leurs propres énigmes. C’est super important, même si c’est une règle facultative (qui a dit que je devais être cohérent dans mes propos?). Ça titille bien plus le cerveau de créer des énigmes bien foutues que d’en résoudre.

DROD permet évidemment de le faire. Leur forum contient quelques conseils de construction, (http:// forum.caravelgames.com/viewtopic.php?TopicID=1889) et, chose amusante, on y retrouve certaines des règles que j’énonce.

Règle 8 (facultative aussi): Ambiance, ambiance…

C’est juste pour dire qu’un jeu vidéo c’est toujours plus sympa avec une ambiance soignée: de beaux graphismes, de beaux sons, des personnages top moumoute, un scénario convaincant et un nuage de lait dans mon thé aux frites, merci. Ah tiens j’aurais aussi pu dire « et le cul de la crémière ». Bah, ce sera pour la porchaine fois. (c’est une fois en forme de porche.)

Voyons voir

quels jeux

respectent

ces règles:

Les mots croisés, mots fléchés, mots ribonds, mots quettes, etc.:

À priori tout a l’air bon. Même la règle 7: vous pouvez créer vos propres grilles de mots croisés. Juste un détail: la liste des mots possibles est quand même assez importante, puisqu’il s’agit de tout le dictionnaire de la langue française. C’est limite par rapport à la règle 4 (éviter trop de complexité), mais ça reste acceptable. Donc OUI.

Les sudokus:

sudoku_belge

Cette fois-ci, pas la peine de chercher toutes les solutions possibles dans le littré de tata Simone (qui va mourir), la règle 4 est donc OK. Les autres aussi.

Petite nuance: quand on s’est planté il faut recommencer la grille depuis le début. The règle 1-1 is fucked. Ceci étant, c’est rare de se planter dans un sudoku. Soit on avance, soit on est bloqué. Donc OUI.

Seconde petite nuance: c’est quand même chiant les sudokus.

Les échecs:

Le comportement de chaque pièce est simple, et connu d’avance. Il n’y a pas de pièce cachée. On peut jouer sans imposer de temps limite. On peut autoriser les retours en arrière si on a fait un coup pourri. Tout cela semble comme il faut. Sauf qu’il y a quand même un gros élément imprévisible: le joueur en face de vous, et les coups qu’il va jouer. La règle 3 n’est pas du tout respectée donc NON.

Et de manière générale, les jeux opposant plusieurs joueurs ne sont pas des jeux à énigmes.

Et pis tiens, zergling rush re-dans ta face.

zerglingrush_2

Les échecs en jouant contre soi-même:

Vous êtes schizophrène. OUI-NON.

Freecell:

Il s’agit d’un jeu de cartes d’une compilation assez sympa: démineur + solitaire + pinball + freecell. (Je crois même qu’il y a un OS en bonus dans la compil’, mais il est un peu bizarre).

Eh bien voui, c’est un jeu à énigmes. Les cartes sont toutes face ouvertes dès le départ. Pour ceux qui ne sauraient pas, toutes les parties sont réussissables (sauf une, mais on dit qu’on s’en fout). En plus les parties sont numérotées, ce qui permet de se souvenir de celles qu’on a déjà réussies, faut juste les noter sur un bout de papier. C’est pas le système de sauvegarde le plus pratique du monde, mais ça marche. Bref: OUI.

Jama Jama:

C’était un jeu vidéo avec un p’tit fantôme rigolo. Il était disponible en version payante sur le site Frutiparc. C’était OUI (règle 7 included) et ça me fait bien chier que le site ait fermé, surtout que je l’avais acheté avec de la réelle monnaie d’homo sapiens, et pas de la monnaie de singe.

Les puzzles du monde réel:

Lorsque vous avez besoin d’une pièce particulière, genre un coin ou un bord, il faut que vous passiez beaucoup de temps à la chercher dans le bordel de tas de pièce en bordel. Exagération de complexité inutile, fuckage de la règle 4. NON.

De plus, si vous possédez chez vous un chien ou un gamin stupide qui vient tout foutre en l’air, vous n’avez aucun système de sauvegarde, donc règle 1-0 dans le fion.

Tetris et les jeux du genre (Columns, Dr Mario, …):

NON. Parce qu’il faut de la rapidité.

Tetris et les jeux du genre, mais le « mode puzzle »:

Il s’agit d’un mode dans lequel la configuration initiale du terrain de jeu est fixée, ainsi que la suite de pièces qui tombent. Le but est de tout nettoyer. Et là, c’est OUI.

Pour un exemple sympa, essayez Bubble Islands (http:// www. dot-invasion.com/dbis/play/index.html), et choisissez « puzzle » dans le menu du début. Y’a juste que vous perdez une vie quand vous échouez, et qu’elles sont limitées, ce qui est un total non respect de la règle 1-1. Mais c’est pas trop pénalisant.

Tous les jeu d’aventures à la Lucas Arts (Monkey Island, Day of The Tentacle, Full Throttle, …):

On ne peut jamais mourir dans ces jeux, et la situation n’est jamais perdue. Abstractionnons le fait qu’il faille un minimum de rapidité à certains moments, par exemple: le coup du tirage de slip de LeChuck pendant qu’il se baisse.

La règle 3 est légèrement limite, car très souvent, on ne peut pas prévoir le comportement des objets, et c’est pour ça qu’on se retrouve bloqué.

Le vrai problème, c’est que ces jeux sont complètement linéaires. Quand on est bloqué, il n’y a qu’une solution possible: celle qu’on ne trouve pas. C’est un total fuckage de la règle 6. Donc moi je dis NON.

Et si on prend les vieux jeux de Sierra, par exemple: Larry , c’est encore pire. Si vous n’avez pas préalablement acheté le couteau au moment où la gonzesse vous attache au lit et se barre ensuite, vous êtes complètement foutu. Au revoir la règle 5.

7th guest:

la première fois qu’on essaye une énigme, il faut un petit temps avant de comprendre ce qu’il faut faire. Mais ça fait partie du jeu. On a accès à plusieurs énigmes en même temps et, cerise sur la moumoute, l’ambiance est très travaillée. La règle 8 est présente. Cependant, la règle 7 n’est pas là du tout. Tant pis. Je dis OUI.

Le mot de la fin:

Ouais, tout à l’heure, à propos du cul de la crémière:

vale_dvd_pic_02l