From 12d2285380c01dc7f9447d1bdcdf2595b4c21660 Mon Sep 17 00:00:00 2001 From: Kali Date: Mon, 5 Feb 2024 08:38:28 -0500 Subject: [PATCH] ajout d'une logique de levier dans la salle red.sh et ajout d'un yellow.sh pour activer le levier --- adventure/adventuremulti.sh | 3 +- .../logic/leverlogic.ben | 2 +- .../logic/leverlogic.ben= | 1 + .../logic/stationlogic.ben | 2 +- .../logic/stationlogic.ben= | 1 + .../edouard.abgrall@ynov.com/rooms/red.sh | 15 ++++-- .../edouard.abgrall@ynov.com/rooms/start.sh | 4 +- .../edouard.abgrall@ynov.com/rooms/yellow.sh | 48 +++++++++++++++++++ 8 files changed, 69 insertions(+), 7 deletions(-) create mode 100755 adventure/games/edouard.abgrall@ynov.com/logic/leverlogic.ben= create mode 100755 adventure/games/edouard.abgrall@ynov.com/logic/stationlogic.ben= create mode 100755 adventure/games/edouard.abgrall@ynov.com/rooms/yellow.sh diff --git a/adventure/adventuremulti.sh b/adventure/adventuremulti.sh index 0ca68c90..4dc0863a 100755 --- a/adventure/adventuremulti.sh +++ b/adventure/adventuremulti.sh @@ -15,7 +15,8 @@ select game in $games; do # Assurez-vous que start.sh est exécutable chmod +x "$game/start.sh" # Exécuter start.sh du jeu sélectionné - ./$game/rooms/start.sh + cd ./$game/rooms + ./start.sh break else echo "Choix invalide. Veuillez choisir un numéro de jeu valide." diff --git a/adventure/games/edouard.abgrall@ynov.com/logic/leverlogic.ben b/adventure/games/edouard.abgrall@ynov.com/logic/leverlogic.ben index cfb931e4..b3d86404 100755 --- a/adventure/games/edouard.abgrall@ynov.com/logic/leverlogic.ben +++ b/adventure/games/edouard.abgrall@ynov.com/logic/leverlogic.ben @@ -1 +1 @@ -off +on diff --git a/adventure/games/edouard.abgrall@ynov.com/logic/leverlogic.ben= b/adventure/games/edouard.abgrall@ynov.com/logic/leverlogic.ben= new file mode 100755 index 00000000..cfb931e4 --- /dev/null +++ b/adventure/games/edouard.abgrall@ynov.com/logic/leverlogic.ben= @@ -0,0 +1 @@ +off diff --git a/adventure/games/edouard.abgrall@ynov.com/logic/stationlogic.ben b/adventure/games/edouard.abgrall@ynov.com/logic/stationlogic.ben index cfb931e4..b3d86404 100755 --- a/adventure/games/edouard.abgrall@ynov.com/logic/stationlogic.ben +++ b/adventure/games/edouard.abgrall@ynov.com/logic/stationlogic.ben @@ -1 +1 @@ -off +on diff --git a/adventure/games/edouard.abgrall@ynov.com/logic/stationlogic.ben= b/adventure/games/edouard.abgrall@ynov.com/logic/stationlogic.ben= new file mode 100755 index 00000000..cfb931e4 --- /dev/null +++ b/adventure/games/edouard.abgrall@ynov.com/logic/stationlogic.ben= @@ -0,0 +1 @@ +off diff --git a/adventure/games/edouard.abgrall@ynov.com/rooms/red.sh b/adventure/games/edouard.abgrall@ynov.com/rooms/red.sh index d7d84245..9002ec1b 100755 --- a/adventure/games/edouard.abgrall@ynov.com/rooms/red.sh +++ b/adventure/games/edouard.abgrall@ynov.com/rooms/red.sh @@ -18,13 +18,22 @@ echo "Vous êtes dans une serre." echo "Une seule sortie. A l'Ouest, d'où vous venez." echo echo "Que voulez-vous faire?" +echo $PWD # And the choices go here. while true; do read -p "> " nsewuh case $nsewuh in - n ) echo "Une fente dans le mur vous laisse observer une carcasse de voiture. Une vieille 2cv. Un grillage vous empêche de passer." ;; - s ) echo "L'emplacement d'un grand feu se trouve la. Il ne reste que de la cendre." ;; + n ) echo "Une fente dans le mur vous laisse observer une carcasse de voiture. Une vieille 2cv, qui émets un petit bruit. Vous pourriez passer en vous glissant dans l'interstice. Appuyez sur 'g' pour passer." + read -p "Appuyez sur 'g' pour passer: " response + if [ "$response" = "g" ]; then + ./yellow.sh + exit + else + echo "Commande invalide." + fi + ;; + s ) echo "L'emplacement d'un grand feu se trouve là. Il ne reste que de la cendre." ;; e ) echo "Une autre pièce remplie de gravats et d'éboulis se trouve devant vous. Impossible d'y accéder." ;; w ) ./mainroom.sh exit ;; @@ -33,7 +42,7 @@ while true; do xdg-open "https://www.copylaradio.com/blog/blog-1/post/le-pas-a-pas-qui-libere-du-grand-mechant-cloud-36#scrollTop=0" ;; h ) echo "Aucun détail particulier si ce n'est une tache sur le sofa." ;; - * ) echo "Je suis désolé, je ne vous comprends pas. Les commandes sont : n, e, s, w, u et h..";; + * ) echo "Je suis désolé, je ne vous comprends pas. Les commandes sont : n, e, s, w, u et h.." ;; esac done diff --git a/adventure/games/edouard.abgrall@ynov.com/rooms/start.sh b/adventure/games/edouard.abgrall@ynov.com/rooms/start.sh index e32ce377..9657719a 100755 --- a/adventure/games/edouard.abgrall@ynov.com/rooms/start.sh +++ b/adventure/games/edouard.abgrall@ynov.com/rooms/start.sh @@ -50,6 +50,8 @@ echo "Au nord un chemin remonte, au sud un passage descend, à l'est, la bergeri echo echo "Que voulez-vous faire? Les commandes sont : n, e, s, w, u, d et h." +echo $PWD + # Now we wait for their response - and send them somewhere accordingly. while true; do read -p "> " nsewuh @@ -58,7 +60,7 @@ while true; do echo "Appuyez sur Entrée pour continuer..." read -r # Exécutez riddle.sh après avoir ramassé l'écran - ./edouard.abgrall@ynov.com/rooms/riddle.sh + ./riddle.sh ;; n ) ./white.sh exit ;; diff --git a/adventure/games/edouard.abgrall@ynov.com/rooms/yellow.sh b/adventure/games/edouard.abgrall@ynov.com/rooms/yellow.sh new file mode 100755 index 00000000..a07ae6b8 --- /dev/null +++ b/adventure/games/edouard.abgrall@ynov.com/rooms/yellow.sh @@ -0,0 +1,48 @@ +#!/bin/bash +clear +# Initialise the Title Art +file1="../art/titleart.ben" +while IFS= read -r line +do + echo "$line" +done <"$file1" +echo + +# Set up the script for this room. It's a simple one! +sleep 1 +echo "Vous voila en train de vous glisser entre l'espace pour acceder à la voiture " +echo "vous faites le tour de la voiture, rien de particulierement notable." +echo "vous vous asseyez dans la voiture, cela devait être quelque chose de conduire ces engins." +echo +echo "le bruit semble venir d'un compartiment, vous l'ouvrez... " +echo "un petit boitier se trouve a l'interieur, et emets un bip régulier avec une petite lumiere rouge." +echo +echo "Que voulez-vous faire?" +echo " 'o' pour sortir, 'u' pour prendre l'objet" + + +# And the choices go here. +while true; do + read -p "> " nsewuh + case $nsewuh in + o ) echo "Vous vous extrayez de la carcasse." && ./red.sh ;; + u ) + leverstate=$(cat ../logic/leverlogic.ben) + if [ "$leverstate" = "on" ]; then + echo "le boitier s'est éteint après vous avoir montré son message" + else + sed -i='' 's/off/on/' ../logic/leverlogic.ben + echo "vous appuyez sur le bouton rouge" + sleep 3 + echo "vous entendez au loin un grincement au fond de la forêt." + echo "Puis le message 'OUVERTURE PORTE' s'affiche." + echo "le boitier s'éteint doucement. Il n'avait vraiment plus beaucoup de batterie." + + fi + ;; + * ) echo "Je suis désolé, je ne vous comprends pas. Les commandes sont : o et u.." ;; + esac +done + +esac +exit