From c2e9655e75aac7cc041ac668ec6af86b366933ff Mon Sep 17 00:00:00 2001 From: fred Date: Tue, 20 Feb 2024 19:16:24 +0100 Subject: [PATCH] Good Sync Fork to All --- adventure/adventure.sh | 25 +- .../games/Cyril.marty@ynov.com/CODE/menu.sh | 175 -------------- .../Cyril.marty@ynov.com - Raccourci.lnk | Bin 2507 -> 0 bytes .../games/Cyril.marty@ynov.com/art/Gune.ben | 21 -- .../Cyril.marty@ynov.com/art/astrologo.ben | 21 -- .../art/astroportland.ben | 21 -- .../Cyril.marty@ynov.com/art/astrored.ben | 21 -- .../Cyril.marty@ynov.com/art/bigfinish.ben | 9 - .../Cyril.marty@ynov.com/art/logoastro.ben | 21 -- .../games/Cyril.marty@ynov.com/art/supper.ben | 10 - .../Cyril.marty@ynov.com/art/titleart.ben | 9 - .../Cyril.marty@ynov.com/logic/leverlogic.ben | 1 - .../logic/stationlogic.ben | 1 - .../Cyril.marty@ynov.com/rooms/bigroom.sh | 58 ----- .../games/Cyril.marty@ynov.com/rooms/brown.sh | 62 ----- .../Cyril.marty@ynov.com/rooms/code/choix.sh | 198 --------------- .../Cyril.marty@ynov.com/rooms/code/debut.sh | 46 ---- .../Cyril.marty@ynov.com/rooms/code/map.sh | 70 ------ .../games/Cyril.marty@ynov.com/rooms/end.sh | 71 ------ .../Cyril.marty@ynov.com/rooms/gameroom.sh | 88 ------- .../games/Cyril.marty@ynov.com/rooms/green.sh | 38 --- .../games/Cyril.marty@ynov.com/rooms/grue.sh | 35 --- .../games/Cyril.marty@ynov.com/rooms/kroo.sh | 58 ----- .../games/Cyril.marty@ynov.com/rooms/kroo2.sh | 40 --- .../Cyril.marty@ynov.com/rooms/magic8.sh | 29 --- .../Cyril.marty@ynov.com/rooms/mainroom.sh | 45 ---- .../Cyril.marty@ynov.com/rooms/meteofrance.sh | 58 ----- .../games/Cyril.marty@ynov.com/rooms/red.sh | 41 ---- .../games/Cyril.marty@ynov.com/rooms/start.sh | 72 ------ .../games/Cyril.marty@ynov.com/rooms/white.sh | 62 ----- .../Cyril.marty@ynov.com/script/opening.ben | 23 -- adventure/games/baptiste.puig@ynov.com/readme | 56 +++++ .../baptiste.puig@ynov.com/rooms/start.sh | 0 adventure/games/cyril.marty@ynov.com/readme | 45 ++++ .../rooms}/choix.sh | 0 .../rooms}/debut.sh | 0 .../rooms}/map.sh | 0 .../rooms/start.sh} | 0 .../games/damien.espenel@ynov.com/README | 69 ++++++ .../{masterguesser.sh => rooms/riddle.sh} | 12 +- .../games/edouard.abgrall@ynov.com/readme | 37 +++ .../games/gregory.dantin@ynov.com/readme | 1 + adventure/games/ilan.doumenc@ynov.com/readme | 48 ++++ .../rooms/start.sh | 0 .../games/janick.mourougassin@ynov.com/readme | 68 ++++++ .../games/jonathan.bordes@ynov.com/hacker.jpg | Bin 0 -> 138667 bytes .../games/jonathan.bordes@ynov.com/readme | 47 ++++ .../games/joris.vidiella@ynov.com/readme | 30 +++ adventure/games/mickael.ferez@ynov.com/readme | 75 ++++++ .../mickael.ferez@ynov.com/rooms/start.sh | 0 .../games/mickael.fernandez@ynov.com/readme | 27 +++ .../rooms/bigroom.sh | 0 .../mickael.fernandez@ynov.com/rooms/brown.sh | 0 .../mickael.fernandez@ynov.com/rooms/end.sh | 0 .../rooms/gameroom.sh | 0 .../mickael.fernandez@ynov.com/rooms/green.sh | 0 .../mickael.fernandez@ynov.com/rooms/grue.sh | 0 .../mickael.fernandez@ynov.com/rooms/kroo.sh | 0 .../mickael.fernandez@ynov.com/rooms/kroo2.sh | 0 .../rooms/magic8.sh | 0 .../rooms/mainroom.sh | 0 .../rooms/meteofrance.sh | 0 .../mickael.fernandez@ynov.com/rooms/red.sh | 0 .../mickael.fernandez@ynov.com/rooms/start.sh | 0 .../mickael.fernandez@ynov.com/rooms/white.sh | 0 .../games/morgan.riviere@ynov.com/readme | 27 +++ .../morgan.riviere@ynov.com/rooms/start.sh | 0 .../readme | 31 +++ .../rooms/start.sh | 228 +++++++++++++----- .../rooms/young_hacker.sh | 172 ------------- .../games/tom.vanschendel@ynov.com/readme | 49 ++++ adventure/games/tuuake.jessop@ynov.com/readme | 64 +++++ .../rooms}/Config.sh | 10 +- .../rooms}/Puissance4.sh | 120 ++++----- .../rooms}/fonction.sh | 162 ++++++------- .../rooms/start.sh} | 69 +++--- .../games/yassine.elazzaoui@ynov.com/readme | 51 ++++ .../rooms/bigroom.sh | 0 .../rooms/boutonrouge.sh | 0 .../yassine.elazzaoui@ynov.com/rooms/brown.sh | 0 .../yassine.elazzaoui@ynov.com/rooms/end.sh | 0 .../rooms/gameroom.sh | 0 .../yassine.elazzaoui@ynov.com/rooms/green.sh | 0 .../yassine.elazzaoui@ynov.com/rooms/grue.sh | 0 .../yassine.elazzaoui@ynov.com/rooms/kroo.sh | 0 .../yassine.elazzaoui@ynov.com/rooms/kroo2.sh | 0 .../rooms/magic8.sh | 0 .../rooms/mainroom.sh | 0 .../rooms/papier.sh | 0 .../yassine.elazzaoui@ynov.com/rooms/red.sh | 0 .../yassine.elazzaoui@ynov.com/rooms/start.sh | 0 .../yassine.elazzaoui@ynov.com/rooms/white.sh | 0 images/CAP_theorem.png | Bin 0 -> 40033 bytes 93 files changed, 1098 insertions(+), 1829 deletions(-) delete mode 100644 adventure/games/Cyril.marty@ynov.com/CODE/menu.sh delete mode 100644 adventure/games/Cyril.marty@ynov.com/Cyril.marty@ynov.com - Raccourci.lnk delete mode 100644 adventure/games/Cyril.marty@ynov.com/art/Gune.ben delete mode 100644 adventure/games/Cyril.marty@ynov.com/art/astrologo.ben delete mode 100644 adventure/games/Cyril.marty@ynov.com/art/astroportland.ben delete mode 100644 adventure/games/Cyril.marty@ynov.com/art/astrored.ben delete mode 100644 adventure/games/Cyril.marty@ynov.com/art/bigfinish.ben delete mode 100644 adventure/games/Cyril.marty@ynov.com/art/logoastro.ben delete mode 100644 adventure/games/Cyril.marty@ynov.com/art/supper.ben delete mode 100644 adventure/games/Cyril.marty@ynov.com/art/titleart.ben delete mode 100644 adventure/games/Cyril.marty@ynov.com/logic/leverlogic.ben delete mode 100644 adventure/games/Cyril.marty@ynov.com/logic/stationlogic.ben delete mode 100644 adventure/games/Cyril.marty@ynov.com/rooms/bigroom.sh delete mode 100644 adventure/games/Cyril.marty@ynov.com/rooms/brown.sh delete mode 100644 adventure/games/Cyril.marty@ynov.com/rooms/code/choix.sh delete mode 100644 adventure/games/Cyril.marty@ynov.com/rooms/code/debut.sh delete mode 100644 adventure/games/Cyril.marty@ynov.com/rooms/code/map.sh delete mode 100644 adventure/games/Cyril.marty@ynov.com/rooms/end.sh delete mode 100644 adventure/games/Cyril.marty@ynov.com/rooms/gameroom.sh delete mode 100644 adventure/games/Cyril.marty@ynov.com/rooms/green.sh delete mode 100644 adventure/games/Cyril.marty@ynov.com/rooms/grue.sh delete mode 100644 adventure/games/Cyril.marty@ynov.com/rooms/kroo.sh delete mode 100644 adventure/games/Cyril.marty@ynov.com/rooms/kroo2.sh delete mode 100644 adventure/games/Cyril.marty@ynov.com/rooms/magic8.sh delete mode 100644 adventure/games/Cyril.marty@ynov.com/rooms/mainroom.sh delete mode 100644 adventure/games/Cyril.marty@ynov.com/rooms/meteofrance.sh delete mode 100644 adventure/games/Cyril.marty@ynov.com/rooms/red.sh delete mode 100644 adventure/games/Cyril.marty@ynov.com/rooms/start.sh delete mode 100644 adventure/games/Cyril.marty@ynov.com/rooms/white.sh delete mode 100644 adventure/games/Cyril.marty@ynov.com/script/opening.ben create mode 100644 adventure/games/baptiste.puig@ynov.com/readme mode change 100644 => 100755 adventure/games/baptiste.puig@ynov.com/rooms/start.sh create mode 100644 adventure/games/cyril.marty@ynov.com/readme rename adventure/games/{Cyril.marty@ynov.com/CODE => cyril.marty@ynov.com/rooms}/choix.sh (100%) mode change 100644 => 100755 rename adventure/games/{Cyril.marty@ynov.com/CODE => cyril.marty@ynov.com/rooms}/debut.sh (100%) mode change 100644 => 100755 rename adventure/games/{Cyril.marty@ynov.com/CODE => cyril.marty@ynov.com/rooms}/map.sh (100%) mode change 100644 => 100755 rename adventure/games/{Cyril.marty@ynov.com/rooms/code/menu.sh => cyril.marty@ynov.com/rooms/start.sh} (100%) mode change 100644 => 100755 rename adventure/games/damien.espenel@ynov.com/{masterguesser.sh => rooms/riddle.sh} (70%) create mode 100644 adventure/games/edouard.abgrall@ynov.com/readme create mode 100644 adventure/games/gregory.dantin@ynov.com/readme create mode 100644 adventure/games/ilan.doumenc@ynov.com/readme rename adventure/games/{Ilan.doumenc@ynov.com => ilan.doumenc@ynov.com}/rooms/start.sh (100%) mode change 100644 => 100755 create mode 100644 adventure/games/janick.mourougassin@ynov.com/readme create mode 100644 adventure/games/jonathan.bordes@ynov.com/hacker.jpg create mode 100644 adventure/games/jonathan.bordes@ynov.com/readme create mode 100644 adventure/games/joris.vidiella@ynov.com/readme create mode 100644 adventure/games/mickael.ferez@ynov.com/readme mode change 100644 => 100755 adventure/games/mickael.ferez@ynov.com/rooms/start.sh create mode 100644 adventure/games/mickael.fernandez@ynov.com/readme mode change 100644 => 100755 adventure/games/mickael.fernandez@ynov.com/rooms/bigroom.sh mode change 100644 => 100755 adventure/games/mickael.fernandez@ynov.com/rooms/brown.sh mode change 100644 => 100755 adventure/games/mickael.fernandez@ynov.com/rooms/end.sh mode change 100644 => 100755 adventure/games/mickael.fernandez@ynov.com/rooms/gameroom.sh mode change 100644 => 100755 adventure/games/mickael.fernandez@ynov.com/rooms/green.sh mode change 100644 => 100755 adventure/games/mickael.fernandez@ynov.com/rooms/grue.sh mode change 100644 => 100755 adventure/games/mickael.fernandez@ynov.com/rooms/kroo.sh mode change 100644 => 100755 adventure/games/mickael.fernandez@ynov.com/rooms/kroo2.sh mode change 100644 => 100755 adventure/games/mickael.fernandez@ynov.com/rooms/magic8.sh mode change 100644 => 100755 adventure/games/mickael.fernandez@ynov.com/rooms/mainroom.sh mode change 100644 => 100755 adventure/games/mickael.fernandez@ynov.com/rooms/meteofrance.sh mode change 100644 => 100755 adventure/games/mickael.fernandez@ynov.com/rooms/red.sh mode change 100644 => 100755 adventure/games/mickael.fernandez@ynov.com/rooms/start.sh mode change 100644 => 100755 adventure/games/mickael.fernandez@ynov.com/rooms/white.sh create mode 100644 adventure/games/morgan.riviere@ynov.com/readme mode change 100644 => 100755 adventure/games/morgan.riviere@ynov.com/rooms/start.sh create mode 100644 adventure/games/nathan.fleury@ynov.com_benjamin.bouteille@ynov.com/readme delete mode 100755 adventure/games/nathan.fleury@ynov.com_benjamin.bouteille@ynov.com/rooms/young_hacker.sh create mode 100644 adventure/games/tom.vanschendel@ynov.com/readme create mode 100644 adventure/games/tuuake.jessop@ynov.com/readme rename adventure/games/{Tuuake.jessop@ynov.com => tuuake.jessop@ynov.com/rooms}/Config.sh (92%) mode change 100644 => 100755 rename adventure/games/{Tuuake.jessop@ynov.com => tuuake.jessop@ynov.com/rooms}/Puissance4.sh (87%) mode change 100644 => 100755 rename adventure/games/{Tuuake.jessop@ynov.com => tuuake.jessop@ynov.com/rooms}/fonction.sh (96%) mode change 100644 => 100755 rename adventure/games/{Tuuake.jessop@ynov.com/Menu.sh => tuuake.jessop@ynov.com/rooms/start.sh} (95%) mode change 100644 => 100755 create mode 100644 adventure/games/yassine.elazzaoui@ynov.com/readme mode change 100644 => 100755 adventure/games/yassine.elazzaoui@ynov.com/rooms/bigroom.sh mode change 100644 => 100755 adventure/games/yassine.elazzaoui@ynov.com/rooms/boutonrouge.sh mode change 100644 => 100755 adventure/games/yassine.elazzaoui@ynov.com/rooms/brown.sh mode change 100644 => 100755 adventure/games/yassine.elazzaoui@ynov.com/rooms/end.sh mode change 100644 => 100755 adventure/games/yassine.elazzaoui@ynov.com/rooms/gameroom.sh mode change 100644 => 100755 adventure/games/yassine.elazzaoui@ynov.com/rooms/green.sh mode change 100644 => 100755 adventure/games/yassine.elazzaoui@ynov.com/rooms/grue.sh mode change 100644 => 100755 adventure/games/yassine.elazzaoui@ynov.com/rooms/kroo.sh mode change 100644 => 100755 adventure/games/yassine.elazzaoui@ynov.com/rooms/kroo2.sh mode change 100644 => 100755 adventure/games/yassine.elazzaoui@ynov.com/rooms/magic8.sh mode change 100644 => 100755 adventure/games/yassine.elazzaoui@ynov.com/rooms/mainroom.sh mode change 100644 => 100755 adventure/games/yassine.elazzaoui@ynov.com/rooms/papier.sh mode change 100644 => 100755 adventure/games/yassine.elazzaoui@ynov.com/rooms/red.sh mode change 100644 => 100755 adventure/games/yassine.elazzaoui@ynov.com/rooms/start.sh mode change 100644 => 100755 adventure/games/yassine.elazzaoui@ynov.com/rooms/white.sh create mode 100644 images/CAP_theorem.png diff --git a/adventure/adventure.sh b/adventure/adventure.sh index 0ed7a93c..56bbe649 100755 --- a/adventure/adventure.sh +++ b/adventure/adventure.sh @@ -40,15 +40,24 @@ select game in "${GAMES[@]}"; do MY_GAME="$MY_PATH/games/$game" echo "SELECTION: "${MY_GAME} - # test game start protocol compatibility - if [[ -x ${MY_GAME}/rooms/start.sh ]]; then - sleep 1 - echo "Charging game..." - sleep 1 - break + diff --recursive --brief ${MY_GAME}/ ${MY_GAME}/../_votre\ jeu/ + + echo "confirm ?" + read ENTER + + if [[ ! $ENTER ]]; then + # test game start protocol compatibility + if [[ -x ${MY_GAME}/rooms/start.sh ]]; then + sleep 1 + echo "Charging game..." + sleep 1 + break + else + # not compatible + echo "ERROR - not compatible game - SELECT ANOTHER - " + fi else - # not compatible - echo "ERROR - not compatible game - SELECT ANOTHER - " + echo "CHOOSE NEXT" fi done diff --git a/adventure/games/Cyril.marty@ynov.com/CODE/menu.sh b/adventure/games/Cyril.marty@ynov.com/CODE/menu.sh deleted file mode 100644 index 8418ca5e..00000000 --- a/adventure/games/Cyril.marty@ynov.com/CODE/menu.sh +++ /dev/null @@ -1,175 +0,0 @@ -#!/bin/bash -clear -#récupérer la varible nom -nom="$1" -position=Entrée - # Afficher dynamiquement les informations du personnage à chaque fois que le menu s'affiche -cat "personnages/$nom/$nom.txt" -echo "-----------------------" -cat "personnages/$nom/$nom-fichier_stats.txt" -echo "-----------------------" - -# Menu principal -while true; do -clear - echo "--------------------------------------------------------------------------------" - echo " Menu Principal " - echo "--------------------------------------------------------------------------------" - echo "" - echo " vous êtes actuellement : $position" - echo "" - echo "" - echo "" - echo " ___ " - echo " |___|____ " - echo " / \\ " - echo " | () () | " - echo " \\ ^ / " - echo " ||||| " - echo " /|||||\ " - echo " \|||||/ " - echo " ||||| " - echo " ||||| " - echo " /_\ /_\ " - echo "" - echo "" - echo "" - echo "" - echo "" - echo "" - echo "" - echo "" - echo "" - echo "1. Ouvrir le Sac 4. Regarder" - echo "2. Ouvrir la carte 5. Agir" - echo "3. Ouvir son portmonnaie 6. Se déplacer" - echo " " - echo " 7. Quitter le jeu" - echo " FDP" - echo "" - echo "--------------------------------------------------------------------------------" - echo " " - echo "--------------------------------------------------------------------------------" - - read -p "Choisissez une option (1/2/3/4/5/6/7) : " choix - -case $choix in - 1) - # Insérez ici le code pour ouvrir le sac - echo "Le sac n'est pas encore implémenté." - ;; - 2) - # Insérez ici le code pour ouvrir la carte - if [ -f "map.sh" ]; then - ./map.sh # Exécuter le script si présent - else - echo "La carte n'est pas encore implémentée." - fi # Fin du bloc if - ;; # Fin de l'option 4 - 3) - cat "personnages/$nom/$nom-inventaire.txt" - ;; - 4) - afficher_statistiques_personnage - ;; - - 5) - cat "personnages/$nom/$nom-inventaire.txt" - ;; - 6) - echo "-------------------------------------" - echo " " - echo "-------------------------------------" - echo "vous êtes actuellement ici : $position" - echo "regarder la map pour plus d'information" - echo "-------------------------------------" - echo "Voici la liste des directions possible" - echo "1.Accueil" - echo "2.Escalier" - echo "3.Récréation" - echo "4.CDI" - echo "5.Cantine" - echo "6.Salle cours 1" - echo "7.Salle cours 2" - echo "8.Salle cours 3" - echo "9.Salle cours 4" - echo "10.Salle cours 5" - echo "11.Salle cours 7" - echo "12.Salle cours 8" - echo "13.Concièrge" - echo "14.Terrain de Basket" - echo "15.Le coin fumeur" - read -p "ou souhaites tu aller ? 1/2/3/4/5/6/7/8/..." lieu - case $lieu in - 1) - echo "comme tout personnes normal vous allez à l'acceuil" - ./accueil.sh - ;; - 2) - echo "intriger par les escalier vous décider d'y aller" - if [ -f "personnages/$nom:inventaire.txt/baseball" ]; then - echo "le pion se dirige vers vous mais vous lui donner un coup de batte de basebell" - echo "il semble plus donner signe de vie mais l'escalier vous intrige plus que ça vie insignifiante" - ./escalier.sh # Exécuter le script si présent - else - echo "Un pion surgit de nulle part et vous attrape pour vous ammener à l'acceui" - ./accueil.sh - fi # Fin du bloc if - ;; # Fin de l'option 2 - 3) - echo "Le chemin pour allez à l'ecole vous a fatiguer il est temps d'aller en pause" - ./recreation - ;; - 4) - echo "Pourquoi ne pas aller au CDI" - ./CDI.sh - ;; - - 5) - cat "personnages/$nom/$nom-inventaire.txt" - ;; - 6) - - ;; - 7) - exit - ;; - - 8) - # Insérez ici le code pour ouvrir le sac - echo "Le sac n'est pas encore implémenté." - ;; - 9) - # Insérez ici le code pour ouvrir la carte - if [ -f "map.sh" ]; then - ./map.sh # Exécuter le script si présent - else - echo "La carte n'est pas encore implémentée." - fi # Fin du bloc if - ;; # Fin de l'option 4 - 10) - cat "personnages/$nom/$nom-inventaire.txt" - ;; - 11) - afficher_statistiques_personnage - ;; - - 12) - cat "personnages/$nom/$nom-inventaire.txt" - ;; - 13) - ;; - *) - echo "Option invalide. Veuillez choisir une option valide." - ;; - esac - read -p "Appuyez sur une touche pour continuer..." - ;; - - 7) - ;; - *) - echo "Option invalide. Veuillez choisir une option valide." ;; - -esac -done diff --git a/adventure/games/Cyril.marty@ynov.com/Cyril.marty@ynov.com - Raccourci.lnk b/adventure/games/Cyril.marty@ynov.com/Cyril.marty@ynov.com - Raccourci.lnk deleted file mode 100644 index 9d0194b6f04a922ffd09779b42e02354d7d8efa2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2507 zcmds3TWb?R6h4WHT5qY1P(0|Z$Kp0k+t?(lyW5n$_#zcA zeG#enBtCe<3tChJwMFm`ls*V8A`~hjqE!$T6!bfjHm16WqKG(fW-=!;-#K&6H*?lc zL=LwTJ<$W%)0Sh-8RWw6!QLfpn_|O`s`o~U$BB7v8TL*57$3VZE`sFHa!Q`pLspLK z-8nV-tt7y4zG9^5wW$62L!%~9*pU|4JiHy~5 zBt(mrPME^WYt*!6Se-SU89l4U^)#GPse201Y@)MnDvQloxa#%N{*d>`4YTFbsj>Kvd(fW%Y21?GE&C7bAZ{l-uVW@?Cz0wL*fDnJ1Ml0AEwEGad>Q@bYzWOb| zG}OskV&bjmvZu)Mr%*HIaom)gmR~$Zn+uU> bgKIoV52DTK1{QdC$nOph=wF8+0 diff --git a/adventure/games/Cyril.marty@ynov.com/art/Gune.ben b/adventure/games/Cyril.marty@ynov.com/art/Gune.ben deleted file mode 100644 index dedb1304..00000000 --- a/adventure/games/Cyril.marty@ynov.com/art/Gune.ben +++ /dev/null @@ -1,21 +0,0 @@ - - - .';:llllc;'. - .:xXWX;.,ll;.:XWXx;. - ;0MMMMMMKl;'',l0MMMMMWO, - ,0MMMMMMW0dc;,,;cd0WMMMMMMO. - dWMMMMM0; ;OMMMMMN: - dMMMMMN: .,'. cWMMMMMc - ,WMMMMX. .xNMMMMNx,'lONMMMMMMN. - oMMMMM: :WMMMMMMMMMMMMMMMMMMMMc - xMMMMM' xMMMMMMOlllllllloNMMMMo - oMMMMMc ,NMMMMMWd. KMMMM: - .WMMMMN, .l0NWWWKc KMMMX. - cMMMMMWo .. KMMW; - cWMMMMMXo' .lKd. KMK' - .xWMMMMMMN0dlllldONMMMMWOXd - .xNMMMMMMMd''lWMMMMMMXo. - 'lONWMW, .XMWXOl. - ..,,..,,.. - - diff --git a/adventure/games/Cyril.marty@ynov.com/art/astrologo.ben b/adventure/games/Cyril.marty@ynov.com/art/astrologo.ben deleted file mode 100644 index 64180c37..00000000 --- a/adventure/games/Cyril.marty@ynov.com/art/astrologo.ben +++ /dev/null @@ -1,21 +0,0 @@ - - .':cdxxxxxoc;. - .:x00dc;'..:..,:lk00o' - ;0Xd, oMo :OXx. - :KK; cMMMl .oNk. - .kN: ;MMMMMc xNl - .0K. ,WMMMMMW; ;Wo - OX. ,WMMMMMMMW; ;Wc - cM; .WMMMMMMMMMW, kX. - OX .NMMMMMMMMMMMW' ,Mc - O0 .NMMMMMMMMMMMMMW' .Mc - ON .XMMMMM0kkkkKMMMMN. ,M: - :M; KMMMMM: .,,;dMMMMMN. kX. - ON. 0MMMMMl ,WMMMMMMMMMMX. ;Wc - .0K. 0MMMMMd 'WMMMMMMMMMMMMX. :Wo - .xN: kMMMMMO .XWWWWNNNNNXXKKKd xNc - ;0Xl. .oXx. - ,OXx, .cOKd. - ;d00xl:,....';coO0Ol' - .;:odddddl:,. - diff --git a/adventure/games/Cyril.marty@ynov.com/art/astroportland.ben b/adventure/games/Cyril.marty@ynov.com/art/astroportland.ben deleted file mode 100644 index f27e1fd1..00000000 --- a/adventure/games/Cyril.marty@ynov.com/art/astroportland.ben +++ /dev/null @@ -1,21 +0,0 @@ -MMMMMMMMMMMMMMMMMMMl xxlxxxd . KNNMNl. 'd0xdddkXKxc. ,dNMMMMMMMMMMMMMMM -MMMMMMMMMMMWKOl:cc' .NNOMXNX .ld; ,lxXMMMMMMMMMMM -MMMMMMMMNo. ,,' .KKWMOXX .. .dWMMMMMMMM -MMMMMMWc cdddc .NNNMXNX .do '' ' .:,:k; l, .KMMMMMMM -MMMMMW, ;ll: .,:ddddd .KKOM0XX .do '0MMXMo . dMMMMMMXOMX0: XMMMMMM -MMMMMo xc:d 'ddddddd .XXWMK00' .do .oo. .dMMMMMMO;lWNMMMMMMWXMMMX: :MMMMMM -MMMMW. .cXKKXWooK0kk0d0Oxxkkx .XXNM0Ok; .:ol:'do,0MMK ... 'XMMMMMMMMMMMMMMMMMWWMMMMx .dkONMM -MKNK. NMWooOWllKKoMNll0MM0x0 xNXXOMKOkKOoM0kkkOkWMMMM0NWWXXMMMMMMMMMMW:WkWk0OKMWdOMNxd0O. .KM -l dkkMMWloOWcc0KoMNccOMMxl0cMMXXWM0KOMMMM0OkkOKMMMMMMMMMMMMMMMMMMMMM0 : o.. 'll.lMMMMMMx .O - ;kMMMMMWlckWooKXdMNccOMMxlXk0MMMNMMMMMMMM0OkkOWMMMMMMMMMMMMMMMMMMMMMMo0OWW,xNWKcooMM0NN0Oc - .NMMMMMMNllkWllKKoMNll0MMxlNxOMMMOMMMMMMMM0OkOOWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNMMNdxMMMk - ;WMMMMMMMMMMMNNWWNMMMMMMMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMWx. - :MMkxxxWMMMWkxxxxxxxWXxxxxxxxxKWxxxxxxxxxWMMKxxxxxxKMMKxxxxxxxxKMMXxxxxxx0MMkxxxxxxxxNMXxdlloodO: - :N, OMM0. 'N. 0: :Mc XK Nx kl ,N. ;' -x..M0xddddKMMOddddddddKKddddddddxNxdddddddddOWoooooooooN0ddddddddddNdoooooooo0xdddddddddkKdddddddox. -MWKK ,MN. .,XMMMMl ;MMMM' xc 'MMd .Mx ;x .NMO N; dMMMl ,W -MMMK NM:. 'MMMW. xMMMO dW. oMM. lM' .:N, ;MM; ;K oMMMW. dO -MMMMMMMo xXXXXXk .MMMO NMMM; .WWN. 00 XM0 KK 0WWWWMMW OMX kc .WWW. OMMMO Nc -MMMMMMMX dMMM; ;MMMN dMMk N0 .. oMl .MMMMMMMN ... :W. lMM0 XMMM; ;M' .c -MMMMMMMM, .xMMMW. kMMMx .NMM: cMMd. .;0MM. oMMMMMMMMk. .,kMO XMMl :MMMW. kMOKMM -MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM diff --git a/adventure/games/Cyril.marty@ynov.com/art/astrored.ben b/adventure/games/Cyril.marty@ynov.com/art/astrored.ben deleted file mode 100644 index 7ed4a2b8..00000000 --- a/adventure/games/Cyril.marty@ynov.com/art/astrored.ben +++ /dev/null @@ -1,21 +0,0 @@ - .,'. - .,,;,'',;,'',,.'. - .;;,,.. .........' - .l:. ............cc. - .c, .................:c. - .lc ................... .l; - l' ... .............. c: - :: .. ........... l' - d . .''...... 'o - .o .. ''''''. l - .d . ......''''''' l - o . .,,,,,,'''''' 'l - ;: . ',,,,''''', l. - l, .. .,,,''''', oc - .lc .',,,''',. .c, - 'l, .,,''',..:c. - ';;. .,,',,:;. - ':;;'. .;:,,,. - .,,'''''','..;,,. - ,:. - ., diff --git a/adventure/games/Cyril.marty@ynov.com/art/bigfinish.ben b/adventure/games/Cyril.marty@ynov.com/art/bigfinish.ben deleted file mode 100644 index 8ca22cfc..00000000 --- a/adventure/games/Cyril.marty@ynov.com/art/bigfinish.ben +++ /dev/null @@ -1,9 +0,0 @@ - _______ _ ______ _ - |__ __| | | ____| | | - | | | |__ ___ | |__ _ __ __| | - | | | '_ \ / _ \ | __| | '_ \ / _` | - | | | | | | __/ | |____| | | | (_| |_ - |_| |_| |_|\___| |______|_| |_|\__,_(_) - - - \ No newline at end of file diff --git a/adventure/games/Cyril.marty@ynov.com/art/logoastro.ben b/adventure/games/Cyril.marty@ynov.com/art/logoastro.ben deleted file mode 100644 index 859e4af1..00000000 --- a/adventure/games/Cyril.marty@ynov.com/art/logoastro.ben +++ /dev/null @@ -1,21 +0,0 @@ - - - .:dO0NNkNX0ko,. - .:OWMMMMMMc cWMMMMMXd, - 'kWMMMMMMMMc cWMMMMMMMNo. - .kMMMMMMMMMMo lMMMMMMMMMWl - .KMMMMMMMMMMd oMMMMMMMMMMx - .XMMMMMMMMMMk dMMMMMMMMMMx - xMMMMMMMMMM0 OMMMMMMMMMM, - .NMMMMMMMMMK. OMMMMMMMMMk - 'MMMMMMMMMK. OMMMMMMMMK - .NMMMMMMMK. ,;;;;' OMMMMMMMx - dMMMMMMX. kMKkxxc 0MMMMMM, - .KMMMMN. dMx .KMMMMd - .0MMN. cMx .KMMd - xW' 'W0. ......:Xc - .lXNNWNWMMMMMMMMMMMMMMMMXl - ;xXMMMMMMMMMMMMMMWKo' - .,lxkKKKK0kdc' - - diff --git a/adventure/games/Cyril.marty@ynov.com/art/supper.ben b/adventure/games/Cyril.marty@ynov.com/art/supper.ben deleted file mode 100644 index e1806a8a..00000000 --- a/adventure/games/Cyril.marty@ynov.com/art/supper.ben +++ /dev/null @@ -1,10 +0,0 @@ - _____ _ _ - / ____| (_) | | - | (___ _ _ _ __ _ __ _ __ _ ___ ___| | - \___ \| | | | '__| '_ \| '__| / __|/ _ \ | - ____) | |_| | | | |_) | | | \__ \ __/_| - |_____/ \__,_|_| | .__/|_| |_|___/\___(_) - | | - |_| - - \ No newline at end of file diff --git a/adventure/games/Cyril.marty@ynov.com/art/titleart.ben b/adventure/games/Cyril.marty@ynov.com/art/titleart.ben deleted file mode 100644 index 6da1d7df..00000000 --- a/adventure/games/Cyril.marty@ynov.com/art/titleart.ben +++ /dev/null @@ -1,9 +0,0 @@ - _ _ _ ____ ___ _ ____ - / \ ___| |_ _ __ ___ _ __ ___ _ __| |_ |___ \ / _ \ _ / |___ \ - / _ \ / __| __| '__/ _ \| '_ \ / _ \| '__| __| __) | | | | (_) | | __) | - / ___ \\__ \ |_| | | (_) | |_) | (_) | | | |_ / __/| |_| | _ | |/ __/ -/_/ \_\___/\__|_| \___/| .__/ \___/|_| \__| |_____|\___/ (_) |_|_____| - |_| - - --- Un JEu de Forêt Jardin en Monnaie Libre sur IPFS --- - diff --git a/adventure/games/Cyril.marty@ynov.com/logic/leverlogic.ben b/adventure/games/Cyril.marty@ynov.com/logic/leverlogic.ben deleted file mode 100644 index cfb931e4..00000000 --- a/adventure/games/Cyril.marty@ynov.com/logic/leverlogic.ben +++ /dev/null @@ -1 +0,0 @@ -off diff --git a/adventure/games/Cyril.marty@ynov.com/logic/stationlogic.ben b/adventure/games/Cyril.marty@ynov.com/logic/stationlogic.ben deleted file mode 100644 index cfb931e4..00000000 --- a/adventure/games/Cyril.marty@ynov.com/logic/stationlogic.ben +++ /dev/null @@ -1 +0,0 @@ -off diff --git a/adventure/games/Cyril.marty@ynov.com/rooms/bigroom.sh b/adventure/games/Cyril.marty@ynov.com/rooms/bigroom.sh deleted file mode 100644 index a3463cf3..00000000 --- a/adventure/games/Cyril.marty@ynov.com/rooms/bigroom.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/bash -clear -# Initialise the Title Art -file1="../art/titleart.ben" -while IFS= read -r line -do - echo "$line" -done <"$file1" - -# This is close to the endgame, but affords the player a last set of things to try and do. -# Obviously if you use this framework to create a game of your own, you can extend this massively. - -echo -sleep 1 -echo "Vous décidez de sortir de la Sation Astroport." -echo - echoleverstate=`cat ../logic/stationlogic.ben` - if [ "$leverstate" = "on" ]; then - - sleep 2 - echo "Il ne dépend que de vous d'explorer ce nouveau futur." - echo "Le Visa MadeInZion inaugure un monde sans territoire, sans frontière, transnationnal, interplanétaire, à vous de voir?" - sleep 2 - echo "Avant de nous rejoindre. Visitez notre 'bon coin' https://gchange.fr " - echo - sleep 3 - echo "Ouvrez une ambassade? Installez IPFS, devenons hébergeur, fournisseur d'accès de nos Internets." - echo - sleep 4 - echo "Ouvrez votre propriété au futur en commun, activez Astroport." - echo "Nous organisons des formations habitats posés, vissés et cousus. Eau potable. Biogaz, Marmite Norvégienne..." - echo "Comment nourrir le sol, reconnaitre les plantes... Redevenir ceuilleur, créateur." - echo - else - echo "" - echo "Aucune entrée n'est visible." - fi -echo -sleep 5 -echo -echo "Que voulez vous faire?" - -while true; do - read -p "> " nsewuh - case $nsewuh in - n ) echo "Pas moyen de se déplacer." ;; - s ) echo ".Pas le choix." ;; - e ) echo "Pas par là." ;; - w ) echo "Plus à l'ouest que ça? Y'a pas!" ;; - u ) ./end.sh - exit ;; - h ) echo "Comment refuser une telle proposition..." ;; - * ) echo "Je suis désolé, je ne vous comprends pas. Les commandes sont : n, e, s, w, u et h..";; - esac -done - -esac -exit diff --git a/adventure/games/Cyril.marty@ynov.com/rooms/brown.sh b/adventure/games/Cyril.marty@ynov.com/rooms/brown.sh deleted file mode 100644 index 673e5d43..00000000 --- a/adventure/games/Cyril.marty@ynov.com/rooms/brown.sh +++ /dev/null @@ -1,62 +0,0 @@ -#!/bin/bash -clear -# Initialise the Title Art -file1="../art/titleart.ben" -while IFS= read -r line -do - echo "$line" -done <"$file1" -echo -sleep 1 - -# Here's this room's script. - -echo "Sur la direction du sud, vous traversez une zone plus sombre et humide." -echo "Le sol est glissant à cause de l'argile qui colle sous vos bottes" -echo "Vous finissez par croiser un chemin qui traverse la forêt d'Est en Ouest" -echo -echo "Un terminal informatique est installé là." -echo -echo "Il ressemble à une grosse calculatrice" - - -# Here we tell the player whether the lever is on or off. -leverstate=`cat ../logic/leverlogic.ben` - if [ "$leverstate" = "on" ]; then - echo "'VISA SVP' clignote sur l'écran..." - else - echo "La machine affiche l'heure : 20:12" - fi -echo -echo "Il est tard pour explorer le chemin à pied, vous devriez retourner d'où vous venez." -echo -echo "Que faites vous?" - -# In this set of actons lies the logic switch used later in the game. -# You have to set this switch to reach the endgame. -while true; do - read -p "> " nsewuh - case $nsewuh in - n ) ./mainroom.sh - exit ;; - s ) echo "Si vous continuez à marcher dans la forêt. Vous allez vous perdre. Demi tour." ;; - e ) echo "Le chemin qui part à l'Est est plein de boue... Impossble d'aller par là." ;; - w ) echo "Une rivière vous empêche de passer." ;; - u ) leverstate=`cat ../logic/leverlogic.ben` - if [ "$leverstate" = "on" ]; then - echo "A chaque frappe d'une touche. l'écran fait défiler le texte 'SCANNEZ VISA SVP'." - else - sed -i='' 's/off/on/' ../logic/leverlogic.ben - echo "Vous pianotez sur l'appareil..." - sleep 3 - echo "A moment où vous touchez la touche '#' L'écran se met à clignoter..." - echo "Puis le message 'ACTIVATION STATION' défile sur les caractères lumineux." - fi - ;; - h ) echo "Le terminal comporte un clavier numérique. Un petit écran.. Il est réalisé avec un mini ordinateur Raspberry Pi. Il porte l'adresse G1TAG [https://g1sms.fr]" ;; - * ) echo "Je suis désolé, je ne vous comprends pas. Les commandes sont : n, e, s, w, u et h..";; - esac -done - -esac -exit diff --git a/adventure/games/Cyril.marty@ynov.com/rooms/code/choix.sh b/adventure/games/Cyril.marty@ynov.com/rooms/code/choix.sh deleted file mode 100644 index f98f61c1..00000000 --- a/adventure/games/Cyril.marty@ynov.com/rooms/code/choix.sh +++ /dev/null @@ -1,198 +0,0 @@ - -#!/bin/bash -clear -echo "_________ __ .__ " -echo "\_ ___ \_______ ____ _____ _/ |_|__| ____ ____ " -echo "/ \ \/\_ __ \_/ __ \\__ \\ __\ |/ _ \ / \ " -echo "\ \____| | \/\ ___/ / __ \| | | ( <_> ) | \ " -echo " \______ /|__| \___ >____ /__| |__|\____/|___| / " -echo " \/ \/ \/ \/ " - -# Vérifier si le dossier "personnages" existe, sinon le créer -dossier_personnages="personnages" -if [ ! -d "$dossier_personnages" ]; then - mkdir "$dossier_personnages"> /dev/null 2>&1 -fi - -# Fonction pour afficher les options et obtenir un choix de l'utilisateur -afficher_options() { - echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" - echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" - echo "Options disponibles :" - echo "1. Créer un nouveau personnage" - echo "2. Charger un personnage existant" - echo "3. Quitter" - echo "4. Commencer à jouer" - echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" - echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" -} - -# Fonction pour créer un personnage -creer_personnage() { - read -p "Entrez le nom de votre personnage : " nom - echo "Classes disponibles :" - echo "1. Bicraveur : Vendez ce qui est impossible à vendre + 10 en dextérité" - echo "2. Nikmook : Il a un besoin irrémédiable de séduire les daronnes + 10 en agilité" - echo "3. Freefighter : Doit devenir le plus fort en combat + 10 en Force" - echo "4. Hacker : Doit trouver un fichier compromettant sur le proviseur pour réussir + 10 en Intelligence" - read -p "Choisissez une classe (1/2/3/4) : " classe - - case $classe in - 1) - classe="Bicraveur" - ;; - 2) - classe="Nikmook" - ;; - 3) - classe="Freefighter" - ;; - 4) - classe="Hacker" - ;; - *) - echo "Classe invalide." - return - ;; - esac -mkdir "personnages/$nom"> /dev/null 2>&1 - - echo "Équipements disponibles :" - echo "1. Sacoche Lacoste + 5 en dextérité" - echo "2. Bâton magique +5 en agilité" - echo "3. Gant de boxe +5 en force" - echo "4. Laptop +5 en Intelligence" - read -p "Choisissez un équipement (1/2/3/4) : " equipement - - case $equipement in - 1) - equipement="Sacoche Lacoste" - ;; - 2) - equipement="Bâton magique" - ;; - 3) - equipement="Gant de boxe" - ;; - 4) - equipement="Laptop" - ;; - *) - echo "Équipement invalide." - return - ;; - esac - - # Créer un fichier de sauvegarde pour le personnage - nom_fichier="$dossier_personnages/$nom/$nom.txt" - stats="$dossier_personnages/$nom/$nom_fichier_stats.txt" - echo "Nom : $nom" > "$nom_fichier" - echo "Classe : $classe" >> "$nom_fichier" - echo "Équipement de base : $equipement" >> "$nom_fichier" - echo "Point de vie : 100" > "$nom_fichier_stats" -# Assurez-vous que le fichier stats existe -stats="$dossier_personnages/$nom/$nom-fichier_stats.txt" -if [ ! -f "$stats" ]; then - echo "Point de vie : 100" > "$stats" - echo "Dextérité : 0" >> "$stats" - echo "Force : 0" >> "$stats" - echo "Agilité : 0" >> "$stats" - echo "Intelligence : 0" >> "$stats" -fi - -# Mettez à jour les points en fonction de la classe -case $classe in - "Bicraveur") - sed -i "s/Dextérité : .*/Dextérité : 10/" "$stats" - ;; - "Nikmook") - sed -i "s/Agilité : .*/Agilité : 10/" "$stats" - ;; - "Freefighter") - sed -i "s/Force : .*/Force : 10/" "$stats" - ;; - "Hacker") - sed -i "s/Intelligence : .*/Intelligence : 10/" "$stats" - ;; -esac - -mkdir "$dossier_personnages/$nom/$nom-inventaire.txt"> /dev/null 2>&1 - -# Mettez à jour les points en fonction de l'équipement -case $equipement in - "Sacoche Lacoste") - # Obtenir la valeur actuelle de la dextérité - valeur_dexterite=$(grep "Dextérité" "$stats" | awk '{print $3}') - # Ajouter 5 à la valeur actuelle et mettre à jour le fichier - nouvelle_dexterite=$((valeur_dexterite + 5)) - sed -i "s/Dextérité : .*/Dextérité : $nouvelle_dexterite/" "$stats" - ;; - "Bâton magique") - # Obtenir la valeur actuelle de l'agilité - valeur_agilite=$(grep "Agilité" "$stats" | awk '{print $3}') - # Ajouter 5 à la valeur actuelle et mettre à jour le fichier - nouvelle_agilite=$((valeur_agilite + 5)) - sed -i "s/Agilité : .*/Agilité : $nouvelle_agilite/" "$stats" - ;; - "Gant de boxe") - # Obtenir la valeur actuelle de la force - valeur_force=$(grep "Force" "$stats" | awk '{print $3}') - # Ajouter 5 à la valeur actuelle et mettre à jour le fichier - nouvelle_force=$((valeur_force + 5)) - sed -i "s/Force : .*/Force : $nouvelle_force/" "$stats" - ;; - "Laptop") - # Obtenir la valeur actuelle de l'intelligence - valeur_intelligence=$(grep "Intelligence" "$stats" | awk '{print $3}') - # Ajouter 5 à la valeur actuelle et mettre à jour le fichier - nouvelle_intelligence=$((valeur_intelligence + 5)) - sed -i "s/Intelligence : .*/Intelligence : $nouvelle_intelligence/" "$stats" - ;; -esac - -# Enregistrez l'équipement dans un fichier équipement -equipement_file="$dossier_personnages/$nom/$nom-equipement.txt" -echo "Équipement choisi : $equipement" > "$equipement_file" - echo "Personnage créé et sauvegardé dans $nom_fichier." -} - - -# Boucle principale -while true; do - afficher_options - read -p "Choisissez une option (1/2/3) : " choix - - case $choix in - 1) - creer_personnage - ;; - 2) - echo "" - echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" -ls personnages/ - echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" - echo "" - read -p "Entrez le nom du personnage à charger : " nom - nom_fichier="$dossier_personnages/$nom/$nom.txt" - if [ -f "$nom_fichier" ]; then - cat "$nom_fichier" - else - echo "Personnage introuvable." - fi - ;; - 3) - exit - ;; - 4) - # Exécutez le script menu.sh - ./menu.sh "$nom" - ;; - *) - echo "Option invalide. Veuillez choisir une option valide." - ;; - esac -done -# Effacer l'écran avant de passer à la suite du jeu -clear - - diff --git a/adventure/games/Cyril.marty@ynov.com/rooms/code/debut.sh b/adventure/games/Cyril.marty@ynov.com/rooms/code/debut.sh deleted file mode 100644 index dbdd64e7..00000000 --- a/adventure/games/Cyril.marty@ynov.com/rooms/code/debut.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/bash - -# Fonction pour afficher le texte avec une pause entre les lignes -afficher_texte() { - while read -r ligne; do - echo "$ligne" - sleep 1 # Pause d'une seconde entre chaque ligne - done -} - -# Titre du jeu -clear # Effacer l'écran -echo "_______ .__ __ __ " -echo " \ \ |__| | __ _____ ____ ____ | | __" -echo " / | \| | |/ // \ / _ \ / _ \| |/ /" -echo "/ | \ | <| Y Y ( <_> | <_> ) < " -echo "\____|__ /__|__|_ \__|_| /\____/ \____/|__|_ \"" -echo " \/ \/ \/ \/" -echo "Bienvenue dans le jeu!" -echo - -# Histoire -echo "Il était une fois, dans un lointain royaume.. un gosse mal éduquer" -echo "Un batard courageux se prépare à entreprendre une quête épique." -echo "Votre mission est de BAISER des mères périlleuses." -echo -echo "Appuyez sur ESPACE pour continuer..." -read -n 1 touche # Attendre que l'utilisateur appuie sur ESPACE -echo - -# Effacer l'écran avant de passer à la suite du jeu -clear - -# Vous pouvez continuer à développer votre jeu à partir d'ici en ajoutant plus de fonctionnalités et de pages. - -#read -n 1 touche # Attendre que l'utilisateur appuie sur ESPACE -echo - -# Exécuter le script suite.sh -if [ "$touche" == "" ]; then - ./choix.sh -fi - -# Effacer l'écran avant de passer à la suite du jeu -clear - diff --git a/adventure/games/Cyril.marty@ynov.com/rooms/code/map.sh b/adventure/games/Cyril.marty@ynov.com/rooms/code/map.sh deleted file mode 100644 index 6024394d..00000000 --- a/adventure/games/Cyril.marty@ynov.com/rooms/code/map.sh +++ /dev/null @@ -1,70 +0,0 @@ -#!/bin/bash - -echo "+--------+ +----------------------------------------------------+" -echo "| Entrée |" -echo "| +---------------+ | "RDC" " -echo "| | | |" -echo "| +---+ +----+ | Escalier | |" -echo "| | Acceuil | | | |" -echo "| | | +---------------+ |" -echo "| +-----------+ |" -echo "| |" -echo "|---------------+ +----------------+ +-------------------|" -echo "| | | | | |" -echo "| Salle cours 1 | | Salle cours 2 | | Salle cours 3 |" -echo "| | | | | |" -echo "|----+ +-------+ +----+ +--------+ +----+ +-----------|" -echo "| |" -echo "|----+ +-------+ +----+ +--------+ +----+ +-----------|" -echo "| | | | | |" -echo "| Salle cours 4 | | Salle cours 5 | | |" -echo "| | | | | |" -echo "|----+ +-------+ +----+ +--------+ + |" -echo "| Cantine |" -echo "|----+ +-------+ +----+ +--------+ + |" -echo "| | | | | |" -echo "| Salle cours 7 | | Salle cours 8 | | |" -echo "| | | | | |" -echo "|----+ +-------+ +----+ +--------+ +----+ +-----------|" -echo "| |" -echo "|----+ +-------+ +----+ +--------+ +----+ +-----------|" -echo "| | | | | |" -echo "| Concièrge | | Bibliothèque | | CDI |" -echo "| | | | | |" -echo "|---------------+ +----------------+ +-------------------|" -echo "+-----------------+ +-------------------------------------------+------------------------+" -echo "| |---| |---| |---| |---| |" -echo "| |" -echo "| |" -echo "| |" -echo "| |" -echo "| Récréation |" -echo "| /\\ /\\ /\\ /\\ |" -echo "| / \\ / \\ / \\ / \\ |" -echo "| /____\\ /____\\ /____\\ /____\\ |" -echo "| |" -echo "| |" -echo "||---| |---| |---| |" -echo "+--------+ +-------------------------------------+ +----------+-------------------------+" -echo "| Terrain de | |" -echo "| Basketball | |" -echo "| | |" -echo "| ___________ | |" -echo "| / \\ | |" -echo "| / \\ | |" -echo "| | | | |" -echo "| | | | |" -echo "| | | | |" -echo "| | | | |" -echo "| | | | |" -echo "| | | | |" -echo "| | | | |" -echo "| \\ / | |" -echo "| \\___________/ | |" -echo "| | |" -echo "+-------------------------------------------+ |" -echo "| "Coin fumeur" |" -echo "+----------------------------------------------------------+" -# À la fin de map.sh -echo "Appuyez sur Enter pour revenir au menu principal." -read -s -n 1 # Attendre que l'utilisateur appuie sur une touche diff --git a/adventure/games/Cyril.marty@ynov.com/rooms/end.sh b/adventure/games/Cyril.marty@ynov.com/rooms/end.sh deleted file mode 100644 index 5a84c0bd..00000000 --- a/adventure/games/Cyril.marty@ynov.com/rooms/end.sh +++ /dev/null @@ -1,71 +0,0 @@ -#!/bin/bash -clear - -# This is the endgame. This file does nothing but give you the final bit of storyline. -# Use (over-use) of 'sleep' is for dramatic effect - play around with it, see how it reads. - -# Let's reset the lever, now that we're done with it. -sed -i='' 's/on/off/' ../logic/leverlogic.ben - -# Initialise the Title Art -file1="../art/titleart.ben" -while IFS= read -r line -do - echo "$line" -done <"$file1" -echo -sleep 1 -echo "Voici la fin de cette petite aventure." -echo -sleep 4 -echo "Vous venez de visiter la forêt où s'est posé Astroport ONE." -sleep 3 -echo -echo "Une oeuvre habitable. Un jardin sur sol vivant. Un progamme pair à pair interplanétaire" -sleep 4 -echo -echo "Les terraformeurs" -echo "En quête de la meilleure façon de vivre sur le vaisseau spatial Terre..." -echo -sleep 5 -echo "Vous aussi ouvrez votre Ambassade." -echo "Activez le JEu. Invitez vos visiteurs à rêver d'un monde meilleur" -echo "Reproduisez, améliorez, partagez les plans pour y parvenir." -echo -sleep 7 -echo "Il est l'heure de laisser derrière vous la civilisation thermo industrielle." -echo "Gagnez en autonomie, en convivialité, en optimisme, en conscience." -echo -sleep 5 -echo -echo "EMBARQUEZ VERS LE FUTUR" -echo -sleep 9 -echo -file1="../art/bigfinish.ben" -while IFS= read -r line -do - echo "$line" -done <"$file1" -echo -echo -read -p "Appuyez sur [ENTER] pour terminer..." -echo -clear -file1="../art/titleart.ben" -while IFS= read -r line -do - echo "$line" -done <"$file1" -echo -echo "Merci d'avoir joué le jeu" -echo "Je suis heureux de vous avoir fait partager le rêve des astronautes terraformeurs." -echo -echo "Le futur ne se prédit pas, il se construit. Il se vit." -echo -echo " - @Fred" -echo - -# That's all, folks! - -exit diff --git a/adventure/games/Cyril.marty@ynov.com/rooms/gameroom.sh b/adventure/games/Cyril.marty@ynov.com/rooms/gameroom.sh deleted file mode 100644 index dbdb370d..00000000 --- a/adventure/games/Cyril.marty@ynov.com/rooms/gameroom.sh +++ /dev/null @@ -1,88 +0,0 @@ -#!/bin/bash -MY_PATH="`dirname \"$0\"`" # relative -MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized -ME="${0##*/}" - -clear -# Initialise the Title Art -file1="../art/titleart.ben" -while IFS= read -r line -do - echo "$line" -done <"$file1" -echo - -# This room gives the player a typical poisoned apple style scenaro. -# Just because something looks shiny and fun, doesn't make it any -# less deadly. -sleep 1 -echo "Dans une cabine, un écran est disposé en coin. Un tout petit ordinateur" -echo "y est raccordé... D'autres fils sortent de l'appareil. Une webcam. Une imprimante." -echo -echo "Que voulez vous faire?" -myIP=$(hostname -I | awk '{print $1}' | head -n 1) -isLAN=$(echo $myIP | grep -E "/(^127\.)|(^192\.168\.)|(^10\.)|(^172\.1[6-9]\.)|(^172\.2[0-9]\.)|(^172\.3[0-1]\.)|(^::1$)|(^[fF][cCdD])/") -[[ ! $myIP || $isLAN ]] && myIP="127.0.1.1" - -while true; do - read -p "> " nsewuh - case $nsewuh in - n ) echo "Vous êtes dans une cabine. Des QRCode sont collés à la parois nord" ;; - s ) echo "Cette paroie comporte un miroir. Pour se faire une beauté avant d'enregistrer une capsule vidéo." ;; - w ) ./kroo.sh - exit ;; - e ) echo "Vous êtes face à l'écran. Au dessus des hauts parleurs, une webcam" ;; - u ) leverstate=`cat ../logic/stationlogic.ben` - if [ "$leverstate" = "on" ]; then - echo "A chaque frappe d'une touche. l'écran fait défiler le texte 'SCANNEZ VISA SVP'." - else - sed -i='' 's/off/on/' ../logic/stationlogic.ben - echo "Vous appuyez sur l'interupteur de l'écran. Y apparaît alors :" - sleep 3 - echo "AMBASSADE MadeInZion - TerraPi4 - 2 To -" - echo "" - echo - sleep 2 - echo "INTERNET est dangereux. il vend vos information personnelles pour que vous deveniez un produit. " - sleep 2 - echo - echo "Rebootez INTERNET. Activez votre TW sur le Système de Fichiers Interplanétaire (IPFS)." - sleep 2 - echo - echo "On y échange en pair à pair. La monnaie y est Libre." - sleep 4 - file1="../art/astrored.ben" - while IFS= read -r line - do - echo "$line" - done <"$file1" - echo - echo - echo "____ Astroport déclenche à 20:12 la synchronisation de ses ambassades..." - echo "Rapport 2022 : https://ipfs.asycn.io/ipfs/QmUtGpGeMZvwp47ftqebVmoFWCmvroy5wEtWsKvWvDWJpR" - sleep 3 - echo - echo "ASTROPORT ONE" - echo "VISA pour le vaisseau spatial TERRE." - if [[ -d ~/.zen/Astroport.ONE ]]; then - read -p "Appuyez sur [ENTER] pour activer votre Station Astroport.ONE" - espeak "Astroport Command" > /dev/null 2>&1 - - ~/.zen/Astroport.ONE/command.sh - else - espeak "Please Install Astroport" > /dev/null 2>&1 - echo "Install Astroport.ONE ..." - echo "bash <(wget -qO- https://raw.githubusercontent.com/papiche/Astroport.ONE/master/install.sh)" - ./end.sh - fi - fi - exit - ;; - - h ) echo "'DEMARRER API http://$myIP:1234 ... Une Station Astroport.ONE.?." ;; - * ) echo "Je suis désolé, je ne vous comprends pas. Les commandes sont : n, e, s, w, u et h..";; - esac -done - -esac -exit diff --git a/adventure/games/Cyril.marty@ynov.com/rooms/green.sh b/adventure/games/Cyril.marty@ynov.com/rooms/green.sh deleted file mode 100644 index d3e56110..00000000 --- a/adventure/games/Cyril.marty@ynov.com/rooms/green.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/bash -clear -# Initialise the Title Art -file1="../art/titleart.ben" -while IFS= read -r line -do - echo "$line" -done <"$file1" -echo - -# Everybody clap your hands. I mean, here is the script. -sleep 1 -echo "Vous atteignez une zone remplie de jeunes épineux" -echo "Vous reconnaissez des prunus, des aubépines." -echo "Quelques génévriers dont vous remarquez les baies noires." -echo "Un peu plus loin ce sont les ronces." -echo -echo "Plus vous progressez plus vous souffrez des épines. Existe-t-il un passage? Qui sait." -echo -echo "Que voulez vous faire?" - -# And here's what you could have won... -while true; do - read -p "> " nsewuh - case $nsewuh in - n ) echo "Un énorme roncier vous barre la route. Ca ne passe pas." ;; - s ) echo "Vers le sud, aucun passage en vue." ;; - e ) ./mainroom.sh - exit ;; - w ) echo "Vous voyez le même paysage à perte de vue" ;; - u ) echo "Vous cueillez une baie de genèvrier. Vous la portez à la bouche. Croquez. La saveur est délicieuse. La force de la plante vous envahi." ;; - h ) echo "Ce type de terrain est caractéritique des zones déboisées. La nature sort ses épines pour protéger les arbres qui poussent en dessous." ;; - * ) echo "Je suis désolé, je ne vous comprends pas. Les commandes sont : n, e, s, w, u et h..";; - esac -done - -esac -exit diff --git a/adventure/games/Cyril.marty@ynov.com/rooms/grue.sh b/adventure/games/Cyril.marty@ynov.com/rooms/grue.sh deleted file mode 100644 index a6016e52..00000000 --- a/adventure/games/Cyril.marty@ynov.com/rooms/grue.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/bash -clear -# Initialise the Title Art -file1="../art/titleart.ben" -while IFS= read -r line -do - echo "$line" -done <"$file1" -echo - -# I like this room. There is no way to get out of it alive. -sleep 1 -echo "Un évier derrière une fenère, une ancienne porte d'armoire comme table." -echo "Un meuble fait de planches de bois cousues rempli de bocaux" -echo "Une glacière recouverte d'une couche d'isolant Un bruleur à gaz." -echo "C'est un espace pour cuisiner." -sleep 3 -echo -echo "Vous avez soif. Un filtre à eau gravitationnel vous fait face" -echo "vous attraper un gobelet et le remplissez à raz bord du liquide de la bombone" -echo "Vous portez le verre à vos lèvres..." -echo -sleep 5 -echo "A la première gorgée vous vous sentez ramolir. Comment savoir combien vous avez bu" -echo "quand votre corps devenu impossible à garder droit s'est éffondré sur le sol." -echo "Simplement le temps de vous demander pourquoi?" -echo -echo "Vous sombrez dans l'inconscience." -sleep 4 -echo "VOUS VOUS SENTEZ DECOLLER." -echo -read -p "Appuyez sur [ENTER] pour revenir..." -./mainroom.sh - -exit diff --git a/adventure/games/Cyril.marty@ynov.com/rooms/kroo.sh b/adventure/games/Cyril.marty@ynov.com/rooms/kroo.sh deleted file mode 100644 index 9b8f1a11..00000000 --- a/adventure/games/Cyril.marty@ynov.com/rooms/kroo.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/bash -clear - -# This room gets a little artsy with sleep commands, to help with the -# narrative of the story. This is why there are two versions - foyer and foyer2. - -# Initialise the Title Art -file1="../art/titleart.ben" -while IFS= read -r line -do - echo "$line" -done <"$file1" -echo - -# It's script time again... -sleep 1 -echo "Vous pénétrez à l'intérieur de l'Astroport." -echo -sleep 3 -echo "Une voix synthétique vous accueille." -espeak "Welcome. Please Identify." > /dev/null 2>&1 -echo -echo "Vous parcourez l'espace du regard" -echo "Au nord, face à vous se trouve un foyer où brule un feu." -echo -sleep 3 -echo "A l'ouest sont suspendus tuyaux, ustensiles et bocaux. Une cuisine?" -echo "A l'est il y a un genre de 'photomaton' " -sleep 2 -echo "Derrière vous, la porte par où vous êtes entré est encore ouverte." -echo -echo "Que voulez vous faire?" - -# And once again the room logic. - -while true; do - read -p "> " nsewuh - case $nsewuh in - n ) echo "Vous vous asseyez sur le grand tapis devant le feu. Vous vous relaxez un instant." - ./magic8.sh - ;; - s ) ./bigroom.sh - exit ;; - e ) ./gameroom.sh - exit ;; - w ) ./grue.sh - exit ;; - u ) echo "Vous tapotez sur le barmoètre. Une photo satellite?" - ./meteofrance.sh - exit - ;; - h ) echo "La pièce est spacieuse. La chaleur du feu agréable, à gauche on dirait une cuisine explosée, à droite une chaise moletonnée fait face à un écran." ;; - * ) echo "Je suis désolé, je ne vous comprends pas. Les commandes sont : n, e, s, w, u et h..";; - esac -done - -esac -exit diff --git a/adventure/games/Cyril.marty@ynov.com/rooms/kroo2.sh b/adventure/games/Cyril.marty@ynov.com/rooms/kroo2.sh deleted file mode 100644 index ebdb5e36..00000000 --- a/adventure/games/Cyril.marty@ynov.com/rooms/kroo2.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash -clear -# Initialise the Title Art -file1="titleart.ben" -while IFS= read -r line -do - echo "$line" -done <"$file1" -echo - -# So here's a little story all about how this script got flip-turned upside down... -sleep 1 -echo "You're in a corridor, but it's quite a small one. You got here" -echo "the first time by hugging a statue of a kitten. Standard." -echo -echo "You see a glow coming from the rooms to your east and west, and" -echo "there's a big, old looking door to the south of you." -echo -echo "What would you like to do?" - -# Imma let you finish, but here's the room choices. - -while true; do - read -p "> " nsewuh - case $nsewuh in - n ) echo "You faceplant the wall. Idiot." ;; - s ) ./bigroom.sh - exit ;; - e ) ./gameroom.sh - exit ;; - w ) ./grue.sh - exit ;; - u ) echo "There's nothing you can use right here." ;; - h ) echo "After hugging that cat you aren't sure you should try to hug yourself again." ;; - * ) echo "I'm sorry, I don't understand you. Commands are: n, e, s, w, u and h.";; - esac -done - -esac -exit \ No newline at end of file diff --git a/adventure/games/Cyril.marty@ynov.com/rooms/magic8.sh b/adventure/games/Cyril.marty@ynov.com/rooms/magic8.sh deleted file mode 100644 index fa8b8fd7..00000000 --- a/adventure/games/Cyril.marty@ynov.com/rooms/magic8.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash - -# magic 8 ball. Yup. Pick a random number, output message -# source: https://www.linuxjournal.com/content/bash-shell-games-lets-play-go-fish - -answers=("Oui c'est certain." "C'est carrément ça." - "Sans aucun doute." "Oui - assurément." - "Comptez la dessus." "Comme je le vois, oui." "Très probablement." - "Bonne perspective." "Oui." "Les signes indiquent que oui." - "Réponse floue, essayez à nouveau." "Redemandez plus tard." - "Il vaut mieux ne pas vous le dire maintenant.." "Impossible de prédire maintenant." - "Concentrez-vous et demandez à nouveau." "N'y comptez pas." - "Ma réponse est non." "Mes sources disent que non." - "Rien de bon." "Très douteux.") - -echo "Oh ! Boule magique, dis-moi la vérité, s'il te plaît...." ; echo "" -/bin/echo -n "Quelle est votre question ? " -read question - -answer=$(( $RANDOM % 20 )) - -echo "" -echo "J'ai regardé dans le futur et je dis: " -echo " ${answers[$answer]}" ; echo "" - -sleep 3 -./mainroom.sh - -exit diff --git a/adventure/games/Cyril.marty@ynov.com/rooms/mainroom.sh b/adventure/games/Cyril.marty@ynov.com/rooms/mainroom.sh deleted file mode 100644 index d8b4d8a4..00000000 --- a/adventure/games/Cyril.marty@ynov.com/rooms/mainroom.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/bash -clear - -# This is a repeat of the opening room in the start.sh file - if the player -# wants to go back to the main room, this saves going through the whole -# start script over again. - -# Initialise the Title Art -file1="../art/titleart.ben" -while IFS= read -r line -do - echo "$line" -done <"$file1" -echo - -# Shakesphere wrote this, honest. -sleep 1 -echo "Vous êtes de retour à votre point de départ." -echo "La forêt qui vous entoure est immense." -echo "Vous ne pouvez pas vraiment en imaginer la taille," -echo -echo "Vous pouvez vous diriger au nord, à l'est, au sud et à l'ouest." -echo -echo "Que voulez-vous faire ?" - -# And the room logic once again. -while true; do - read -p "> " nsewuh - case $nsewuh in - n ) ./white.sh - exit ;; - s ) ./brown.sh - exit ;; - e ) ./red.sh - exit ;; - w ) ./green.sh - exit ;; - u ) echo "Il n'y a rien que vous puissiez utiliser ici." ;; - h ) echo "Vous observez votre montre, il est 20:12" ;; - * ) echo "Je suis désolé, je ne vous comprends pas. Les commandes sont : n, e, s, w, u et h..";; - esac -done - -esac -exit diff --git a/adventure/games/Cyril.marty@ynov.com/rooms/meteofrance.sh b/adventure/games/Cyril.marty@ynov.com/rooms/meteofrance.sh deleted file mode 100644 index a3526818..00000000 --- a/adventure/games/Cyril.marty@ynov.com/rooms/meteofrance.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/bash -################################################################################ -# Author: Fred (support@qo-op.com) -# Version: 0.1 -# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/) -################################################################################ -MOATS=$(date -u +"%Y%m%d%H%M%S%4N") -mkdir -p ~/.zen/tmp/${MOATS} -################################################################################ -# Choisir la source de capture -# https://fr.sat24.com/image?type=visual5HDComplete®ion=fr - -MY_PATH="`dirname \"$0\"`" # relative -MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized -ME="${0##*/}" - -## TEST IPFS -[[ ! $(which ipfs) ]] && echo "Missing IPFS. Please install... https://ipfs.tech" && exit 1 - -## PREPARE FILE SYSTEM CACHE -mkdir -p ~/.zen/adventure/meteo.anim.eu -rm -f ~/.zen/adventure/meteo.anim.eu/meteo.png - -## SCRAPING meteo.png -curl -m 20 --output ~/.zen/adventure/meteo.anim.eu/meteo.png https://s.w-x.co/staticmaps/wu/wu/satir1200_cur/europ/animate.png - -if [[ ! -f ~/.zen/adventure/meteo.anim.eu/meteo.png ]]; then - - echo "Impossible de se connecter au service meteo" - exit 1 - -else - - echo "Mise à jour archive meteo : ${MOATS}" - echo ${MOATS} > ~/.zen/adventure/meteo.anim.eu/.moats - - OLDID=$(cat ~/.zen/adventure/.meteo.index 2>/dev/null) - # TODO : COMPARE SIMILAR OR NOT - # ipfs get "/ipfs/$OLDID/meteo.anim.eu/meteo.png" - - ## PREPARE NEW index.html - sed "s/_OLDID_/$OLDID/g" ${MY_PATH}/../templates/meteo_chain.html > /tmp/index.html - sed -i "s/_IPFSID_/$IPFSID/g" /tmp/index.html - sed -i "s/_DATE_/$(date -u "+%Y-%m-%d#%H:%M:%S")/g" /tmp/index.html - sed "s/_PSEUDO_/${USER}/g" /tmp/index.html > ~/.zen/adventure/index.html - - # Copy style css - cp -r ${MY_PATH}/../templates/styles ~/.zen/adventure/ - - INDEXID=$(ipfs add -rHq ~/.zen/adventure/* | tail -n 1) - echo $INDEXID > ~/.zen/adventure/.meteo.index - echo "METEO INDEX : http://127.0.0.1:8080/ipfs/$INDEXID" - - IPFS=$(ipfs add -q ~/.zen/adventure/meteo.anim.eu/meteo.png | tail -n 1) - echo $IPFS > ~/.zen/adventure/meteo.anim.eu/.chain - -fi - diff --git a/adventure/games/Cyril.marty@ynov.com/rooms/red.sh b/adventure/games/Cyril.marty@ynov.com/rooms/red.sh deleted file mode 100644 index d7d84245..00000000 --- a/adventure/games/Cyril.marty@ynov.com/rooms/red.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/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 entrez dans l'ancienne bergerie." -echo "Un canapé mauve est installé au milieu de l'espace" -echo "Une bache transparente vous sépare du ciel." -echo -echo "Vous êtes dans une serre." -echo "Une seule sortie. A l'Ouest, d'où vous venez." -echo -echo "Que voulez-vous faire?" - -# 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." ;; - 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 ;; - u ) echo "Vous vous asseyez dans le canapé. Vous vous sentez immédiatement happé par un nuage." - sleep 2 - 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..";; - esac -done - -esac -exit diff --git a/adventure/games/Cyril.marty@ynov.com/rooms/start.sh b/adventure/games/Cyril.marty@ynov.com/rooms/start.sh deleted file mode 100644 index bd214979..00000000 --- a/adventure/games/Cyril.marty@ynov.com/rooms/start.sh +++ /dev/null @@ -1,72 +0,0 @@ -#!/bin/bash - -clear - -# Logic in the game is stored in .ben files. This sample has just one 'logic' file. -# You can add more logic files by simply adding a 'sed' command and appropriate .ben file. -# First off, let us reset the game logic. Use this as an example. - -sed -i='' 's/on/off/' ../logic/leverlogic.ben - -# Who doen't love ASCII text, right? -# Next up, let's initialise the Title Art -file1="../art/titleart.ben" -while IFS= read -r line -do - echo "$line" -done <"$file1" -echo - -# Next up, let's load in the initial introduction. Script is also stored in .ben files. -sleep 5 -file2="../script/opening.ben" -while IFS= read -r line -do - echo "$line" -done <"$file2" -read -p "Pressez sur [ENTER] pour démarrer..." - -#Okay, now that the introduction is out of the way, we can start the first room! -clear -file1="../art/titleart.ben" -while IFS= read -r line -do - echo "$line" -done <"$file1" -sleep 1 - -# Here's where you introduce the room to the player. Be sure to tell them if there -# Are exits - but don't give too much away. Make it fun for them to explore! -echo -echo "La téléportation vous a placé debout au centre d'une clairière." -echo "Vous vous trouvez près d'une ancienne bergerie aux gros murs de pierres." -echo "Le toit et une bonne partie des murs sont effondrés." -echo -echo "Tout autour la forêt. Des feuillus. Quelques arbustres épineux." -echo "Sous vos pieds. Le sol est rouge parsemé de cailloux blancs." -echo -echo "Vous pouvez vous diriger selon les points cardinaux." -echo "Au nord un chemin remonte, au sud un passage descend, à l'est, la bergerie, à l'ouest, des traces d'animaux" -echo -echo "Que voulez-vous faire? Les commandes sont : n, e, s, w, u et h." - -# Now we wait for their response - and send them somewhere accordingly. -while true; do - read -p "> " nsewuh - case $nsewuh in - n ) ./white.sh - exit ;; # These lines will take the player to a new room - a new script file. - s ) ./brown.sh - exit ;; # Be sure to include 'exit' otherwise the game won't quit properly! - e ) ./red.sh - exit ;; - w ) ./green.sh - exit ;; - u ) echo "Vous ouvrez votre sac il contient une tente, des vêtements, un thermos, une scie pliante et un couteau" ;; # Something to say? You can also just echo. - h ) echo "Comment avez-vous pu arriver ici.? Des souvenirs vous reviennent... https://ipfs.copylaradio.com/ipfs/QmWyCFvvvrE1xWudCnc14oDvaztLaRZ4guvQFVkkDLwa23#JOUR%201.%20PLANETE%201." ;; - * ) echo "Je suis désolé, je ne vous comprends pas. Les commandes sont : n, e, s, w, u et h..";; - esac -done - -esac -exit diff --git a/adventure/games/Cyril.marty@ynov.com/rooms/white.sh b/adventure/games/Cyril.marty@ynov.com/rooms/white.sh deleted file mode 100644 index 5c048d08..00000000 --- a/adventure/games/Cyril.marty@ynov.com/rooms/white.sh +++ /dev/null @@ -1,62 +0,0 @@ -#!/bin/bash -clear -# Initialise the Title Art -file1="../art/titleart.ben" -while IFS= read -r line -do - echo "$line" -done <"$file1" -echo - -#Setting up the room... -sleep 1 -echo "Vous parcourez un chemin qui monte en direction du nord.." -echo "Au sommet de cette petite colline vous découvrez un magestueux chêne" -echo "trônant au centre d'une clairière lumineuse. La forêt à cet endroit" -echo "forme un cercle tout autour..." -echo -echo "Un Astroport fait de vitres, de planches, de tôles et de chevrons" -echo "est posé là. Eclairé par les rayons du soleil." -echo -# Here we're going to check to see if the lever - the only logic we are using in this game - is on or off. -leverstate=`cat ../logic/leverlogic.ben` - if [ "$leverstate" = "on" ]; then - echo "Une poignée est apparue sur la porte de la façade..." - else - echo "Vous en faites le tour..." - echo "Aucune entrée n'est visible." - fi - -echo -echo "Pas d'autre chemin praticable que celui d'où vous venez." -echo -echo "Que voulez-vous faire ?" - -# Now lets capture this room's actions. Note that here, the actions change depending on whether or not -# the lever is on or off. If it's on, you go elsewhere. If it's off, you don't. -while true; do - read -p "> " nsewuh - case $nsewuh in - n ) echo "Vous vous aventurez dans la forêt plus au nord. Sans boussole, vous allez vous perdre rapidement... " ;; - s ) ./mainroom.sh - exit ;; - e ) echo "Une corniche surplombe un ruisseau qui coule dans le fond de la ravine. Impossible de passer sans équipement" ;; - w ) echo "Vous voilà face à un Jardin luxuriant. Une cloture électrique le délimite et en empêche l'accès." ;; - h ) echo "Vous voyez à l'interieur de la Station une video en cours de projection..." - sleep 2 - xdg-open "https://www.youtube.com/embed/Yk-WRXKysXM" - ;; - u ) leverstate=`cat ../logic/leverlogic.ben` - if [ "$leverstate" = "on" ]; then - ./kroo.sh - exit - else - echo "Vous cherchez une ouverture... Pas la moindre. Impossible d'entrer sans commettre une effraction..." - fi - ;; - * ) echo "Je suis désolé, je ne vous comprends pas. Les commandes sont : n, e, s, w, u et h..";; - esac -done - -esac -exit diff --git a/adventure/games/Cyril.marty@ynov.com/script/opening.ben b/adventure/games/Cyril.marty@ynov.com/script/opening.ben deleted file mode 100644 index 398233a3..00000000 --- a/adventure/games/Cyril.marty@ynov.com/script/opening.ben +++ /dev/null @@ -1,23 +0,0 @@ -Message de la Confédération Interplanétaire - -La planète où vous vous trouvez est en danger. Les menaces sont nombreuses. -Vos gouvernements se disputent les dernières ressources. Le cycle du vivant est perturbé ! -Le "contrat social" des 'pays civilisés' vascille. Les technocrates réclament plus de contrôle. - -La commission extraterrestre est formelle. Vous êtes en danger. - -Heureusement la monnaie libre a été découverte sur votre planète! -Elle s'utilise dans un jeu 'grandeur nature'. Astroport 20:12 -Bienvenue dans l'aventure du changement de civilisation. - -Les commandes pour vous déplacer et interagir sont -'n' aller au nord, -'s' aller au sud, -'e' aller à l'est, -'w' aller à l'ouest, -'u' utiliser, -'h' observer plus en détail. - -Ctrl-C pour quitter. - - - - - diff --git a/adventure/games/baptiste.puig@ynov.com/readme b/adventure/games/baptiste.puig@ynov.com/readme new file mode 100644 index 00000000..8943a859 --- /dev/null +++ b/adventure/games/baptiste.puig@ynov.com/readme @@ -0,0 +1,56 @@ +# SCRIPT01.CYBSEC + +Jeu du pendu + ++ 10 : game engine ++2 : multigame compatibility ++1 : shellcheck + +> final 13 + +## "GameShell" LEVEL ? + + +## DIFFs +`` +diff --recursive --brief ./ ../_votre\ jeu/ + +Seulement dans ../_votre jeu/: adventure.sh +Seulement dans ../_votre jeu/: art +Seulement dans ../_votre jeu/: logic +Seulement dans ./: readme +Seulement dans ../_votre jeu/rooms: bigroom.sh +Seulement dans ../_votre jeu/rooms: brown.sh +Seulement dans ../_votre jeu/rooms: end.sh +Seulement dans ../_votre jeu/rooms: gameroom.sh +Seulement dans ../_votre jeu/rooms: green.sh +Seulement dans ../_votre jeu/rooms: grue.sh +Seulement dans ../_votre jeu/rooms: kroo2.sh +Seulement dans ../_votre jeu/rooms: kroo.sh +Seulement dans ../_votre jeu/rooms: magic8.sh +Seulement dans ../_votre jeu/rooms: mainroom.sh +Seulement dans ../_votre jeu/rooms: meteofrance.sh +Seulement dans ../_votre jeu/rooms: red.sh +Les fichiers ./rooms/start.sh et ../_votre jeu/rooms/start.sh sont différents +Seulement dans ../_votre jeu/rooms: white.sh +Seulement dans ../_votre jeu/: script +``` + +``` +diff rooms/start.sh ../_votre\ jeu/rooms/start.sh +``` + +Single file game + +## shellcheck +``` +shellcheck rooms/* + + +``` + +## modifs apportées + +* chmod +x rooms/start.sh + + diff --git a/adventure/games/baptiste.puig@ynov.com/rooms/start.sh b/adventure/games/baptiste.puig@ynov.com/rooms/start.sh old mode 100644 new mode 100755 diff --git a/adventure/games/cyril.marty@ynov.com/readme b/adventure/games/cyril.marty@ynov.com/readme new file mode 100644 index 00000000..e7cd646a --- /dev/null +++ b/adventure/games/cyril.marty@ynov.com/readme @@ -0,0 +1,45 @@ +# SCRIPT01.CYBSEC + + + ++ 19 : game engine +-2 : multigame compatibility +-1 : shellcheck + +> final 16 + +## "GameShell" LEVEL ? + + +## DIFFs +`` +diff --recursive --brief ./ ../_votre\ jeu/ +``` +Seulement dans ../_votre jeu/: adventure.sh +Seulement dans ./: CODE +Seulement dans ./: Cyril.marty@ynov.com - Raccourci.lnk +Seulement dans ./rooms: code + +``` +diff rooms/start.sh ../_votre\ jeu/rooms/start.sh +``` +start.sh sont identiques + + +## shellcheck +``` +shellcheck rooms/code/* + +In choix.sh line 2: +#!/bin/bash +^-- SC1128: The shebang must be on the first line. Delete blanks and move comments. +``` + +## modifs apportées + +* supprimer fichiers inutiles +* rendre exécutable le script avec ```git push``` +chmod +x *.sh +* renommer menu.sh -> start.sh + + diff --git a/adventure/games/Cyril.marty@ynov.com/CODE/choix.sh b/adventure/games/cyril.marty@ynov.com/rooms/choix.sh old mode 100644 new mode 100755 similarity index 100% rename from adventure/games/Cyril.marty@ynov.com/CODE/choix.sh rename to adventure/games/cyril.marty@ynov.com/rooms/choix.sh diff --git a/adventure/games/Cyril.marty@ynov.com/CODE/debut.sh b/adventure/games/cyril.marty@ynov.com/rooms/debut.sh old mode 100644 new mode 100755 similarity index 100% rename from adventure/games/Cyril.marty@ynov.com/CODE/debut.sh rename to adventure/games/cyril.marty@ynov.com/rooms/debut.sh diff --git a/adventure/games/Cyril.marty@ynov.com/CODE/map.sh b/adventure/games/cyril.marty@ynov.com/rooms/map.sh old mode 100644 new mode 100755 similarity index 100% rename from adventure/games/Cyril.marty@ynov.com/CODE/map.sh rename to adventure/games/cyril.marty@ynov.com/rooms/map.sh diff --git a/adventure/games/Cyril.marty@ynov.com/rooms/code/menu.sh b/adventure/games/cyril.marty@ynov.com/rooms/start.sh old mode 100644 new mode 100755 similarity index 100% rename from adventure/games/Cyril.marty@ynov.com/rooms/code/menu.sh rename to adventure/games/cyril.marty@ynov.com/rooms/start.sh diff --git a/adventure/games/damien.espenel@ynov.com/README b/adventure/games/damien.espenel@ynov.com/README index a2ffc09d..d0eb00ab 100644 --- a/adventure/games/damien.espenel@ynov.com/README +++ b/adventure/games/damien.espenel@ynov.com/README @@ -1,3 +1,72 @@ +# SCRIPT01.CYBSEC + +Master Guesser + ++ 15 : game engine +-2 : multigame compatibility ++1 : shellcheck + +> final 14 + +## "GameShell" LEVEL ? + + +## DIFFs +`` +diff --recursive --brief ./ ../_votre\ jeu/ + + +Seulement dans ../_votre jeu/: adventure.sh +Seulement dans ./logic: leverlogic2.ben +Seulement dans ./logic: leverlogic2.ben= +Les fichiers ./logic/leverlogic.ben et ../_votre jeu/logic/leverlogic.ben sont différents +Seulement dans ./logic: leverlogic.ben= +Seulement dans ./logic: stationlogic2.ben +Seulement dans ./: masterguesser.sh +Seulement dans ./: music +Seulement dans ./: README +Les fichiers ./rooms/end.sh et ../_votre jeu/rooms/end.sh sont différents +Les fichiers ./rooms/gameroom.sh et ../_votre jeu/rooms/gameroom.sh sont différents +Seulement dans ./rooms: kroo3.sh +Les fichiers ./rooms/mainroom.sh et ../_votre jeu/rooms/mainroom.sh sont différents +Les fichiers ./rooms/start.sh et ../_votre jeu/rooms/start.sh sont différents +Les fichiers ./rooms/white.sh et ../_votre jeu/rooms/white.sh sont différents +Seulement dans ../_votre jeu/: script + +``` + +## Test + +``` +> d +Vous récupérez un écran portatif interactif par terre. +Appuyez sur Entrée pour continuer... + +./start.sh: ligne 62: ./riddle.sh: Aucun fichier ou dossier de ce type +``` + +``` +mv mastergusser.sh rooms/riddle.sh +``` + +``` +./riddle.sh: ligne 20 : kill: (88137) - Aucun processus de ce type +``` + +``` +mplayerrunning=$(ps axf --sort=+utime | grep -w 'mplayer' | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1) +[[ $mplayerrunning ]] && kill $mplayerrunning +``` + +``` +shellcheck rooms/riddle.sh +``` + + +OK + +--- + Created by Damien Espenel mail : damien.espenel@ynov.com diff --git a/adventure/games/damien.espenel@ynov.com/masterguesser.sh b/adventure/games/damien.espenel@ynov.com/rooms/riddle.sh similarity index 70% rename from adventure/games/damien.espenel@ynov.com/masterguesser.sh rename to adventure/games/damien.espenel@ynov.com/rooms/riddle.sh index bb1c8fa2..18c2d645 100755 --- a/adventure/games/damien.espenel@ynov.com/masterguesser.sh +++ b/adventure/games/damien.espenel@ynov.com/rooms/riddle.sh @@ -10,15 +10,21 @@ sleep 1 echo "Une seule règle, trouver le nombre aléatoire entre 1 et 100 !" sleep 1 + + + devine_le_nombre() { read -p "Ton choix : " guess # Vérification de la réponse if [ $guess -eq $nombre_secret ]; then echo "Félicitations ! Tu as deviné le nombre secret !" - echo "Fin de la session..." - kill $! - sleep 2 + echo "Fin de la session..." + # kill $! + ## CHECK FOR ANY ALREADY RUNNING mplayer + mplayerrunning=$(ps axf --sort=+utime | grep -w 'mplayer' | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1) + [[ $mplayerrunning ]] && kill $mplayerrunning + exit 0 elif [ $guess -lt $nombre_secret ]; then echo "Le nombre est plus grand." devine_le_nombre diff --git a/adventure/games/edouard.abgrall@ynov.com/readme b/adventure/games/edouard.abgrall@ynov.com/readme new file mode 100644 index 00000000..8e2d1512 --- /dev/null +++ b/adventure/games/edouard.abgrall@ynov.com/readme @@ -0,0 +1,37 @@ +# SCRIPT01.CYBSEC + +Enigma + ++ 11 : game engine ++2 : multigame compatibility ++1 : shellcheck + +> final 14 + +## "GameShell" LEVEL ? + + +## DIFFs + +``` +diff --recursive --brief ./ ../_votre\ jeu/ +Seulement dans ../_votre jeu/: adventure.sh +Les fichiers ./logic/leverlogic.ben et ../_votre jeu/logic/leverlogic.ben sont différents +Seulement dans ./logic: leverlogic.ben= +Les fichiers ./logic/stationlogic.ben et ../_votre jeu/logic/stationlogic.ben sont différents +Seulement dans ./logic: stationlogic.ben= +Seulement dans ./: readme +Les fichiers ./rooms/red.sh et ../_votre jeu/rooms/red.sh sont différents +Seulement dans ./rooms: riddle.sh +Les fichiers ./rooms/start.sh et ../_votre jeu/rooms/start.sh sont différents +Seulement dans ./rooms: yellow.sh +``` + + +``` +shellcheck rooms/riddle.sh +``` + +OK + +never ending trick... diff --git a/adventure/games/gregory.dantin@ynov.com/readme b/adventure/games/gregory.dantin@ynov.com/readme new file mode 100644 index 00000000..5df7507e --- /dev/null +++ b/adventure/games/gregory.dantin@ynov.com/readme @@ -0,0 +1 @@ +ERROR diff --git a/adventure/games/ilan.doumenc@ynov.com/readme b/adventure/games/ilan.doumenc@ynov.com/readme new file mode 100644 index 00000000..13024fb1 --- /dev/null +++ b/adventure/games/ilan.doumenc@ynov.com/readme @@ -0,0 +1,48 @@ +# SCRIPT01.CYBSEC + +Morpius + ++ 14 : game engine ++2 : multigame compatibility ++1 : shellcheck + +> final 17 + +## "GameShell" LEVEL ? + + +## DIFFs + +``` +diff --recursive --brief ./ ../_votre\ jeu/ +Seulement dans ../_votre jeu/: adventure.sh +Les fichiers ./logic/leverlogic.ben et ../_votre jeu/logic/leverlogic.ben sont différents +Seulement dans ./logic: leverlogic.ben= +Les fichiers ./logic/stationlogic.ben et ../_votre jeu/logic/stationlogic.ben sont différents +Seulement dans ./logic: stationlogic.ben= +Seulement dans ./: readme +Les fichiers ./rooms/red.sh et ../_votre jeu/rooms/red.sh sont différents +Seulement dans ./rooms: riddle.sh +Les fichiers ./rooms/start.sh et ../_votre jeu/rooms/start.sh sont différents +Seulement dans ./rooms: yellow.sh +``` + + +``` +shellcheck rooms/start.sh + +In rooms/start.sh line 33: + if ! (echo ${board[@]} | grep -q '[0-8]'); then + ^---------^ SC2068: Double quote array expansions to avoid re-splitting elements. + +``` + +OK + + +fix +``` +chmod +x rooms/start.sh +``` + + diff --git a/adventure/games/Ilan.doumenc@ynov.com/rooms/start.sh b/adventure/games/ilan.doumenc@ynov.com/rooms/start.sh old mode 100644 new mode 100755 similarity index 100% rename from adventure/games/Ilan.doumenc@ynov.com/rooms/start.sh rename to adventure/games/ilan.doumenc@ynov.com/rooms/start.sh diff --git a/adventure/games/janick.mourougassin@ynov.com/readme b/adventure/games/janick.mourougassin@ynov.com/readme new file mode 100644 index 00000000..c3ac850c --- /dev/null +++ b/adventure/games/janick.mourougassin@ynov.com/readme @@ -0,0 +1,68 @@ +# SCRIPT01.CYBSEC + + --- Un JEu des îles de l'Ocean Indien (974) --- + + ++ 14 : game engine ++2 : multigame compatibility ++1 : shellcheck +- 2 : bugs + +> final 15 + +## "GameShell" LEVEL ? + + +## DIFFs + +``` +diff --recursive --brief ./ ../_votre\ jeu/ +Seulement dans ./: advendure_link.sh +Seulement dans ../_votre jeu/art: astrologo.ben +Seulement dans ../_votre jeu/art: astroportland.ben +Seulement dans ../_votre jeu/art: astrored.ben +Seulement dans ../_votre jeu/art: bigfinish.ben +Seulement dans ../_votre jeu/art: Gune.ben +Seulement dans ../_votre jeu/art: logoastro.ben +Seulement dans ../_votre jeu/art: supper.ben +Les fichiers ./art/titleart.ben et ../_votre jeu/art/titleart.ben sont différents +Seulement dans ./art: titleart.ben2 +Seulement dans ../_votre jeu/: logic +Les fichiers ./rooms/brown.sh et ../_votre jeu/rooms/brown.sh sont différents +Les fichiers ./rooms/end.sh et ../_votre jeu/rooms/end.sh sont différents +Les fichiers ./rooms/gameroom.sh et ../_votre jeu/rooms/gameroom.sh sont différents +Les fichiers ./rooms/green.sh et ../_votre jeu/rooms/green.sh sont différents +Les fichiers ./rooms/grue.sh et ../_votre jeu/rooms/grue.sh sont différents +Seulement dans ./rooms: lanceur.sh +Les fichiers ./rooms/meteofrance.sh et ../_votre jeu/rooms/meteofrance.sh sont différents +Les fichiers ./rooms/red.sh et ../_votre jeu/rooms/red.sh sont différents +Les fichiers ./rooms/start.sh et ../_votre jeu/rooms/start.sh sont différents +Les fichiers ./rooms/white.sh et ../_votre jeu/rooms/white.sh sont différents +Les fichiers ./script/opening.ben et ../_votre jeu/script/opening.ben sont différents + +``` + + +``` +shellcheck rooms/start.sh + +In rooms/start.sh line 33: + if ! (echo ${board[@]} | grep -q '[0-8]'); then + ^---------^ SC2068: Double quote array expansions to avoid re-splitting elements. + +``` + +OK + + +bugs +``` +Vous zntrée dans le taxi en direction du nord.. +cat: ../logic/leverlogic.ben: Aucun fichier ou dossier de ce type + +Il vous indique que ou se trouve l'aéroport. Vous devait vous diriger vers PierreFonds. +cat: ../logic/leverlogic.ben: Aucun fichier ou dossier de ce type + +``` + + diff --git a/adventure/games/jonathan.bordes@ynov.com/hacker.jpg b/adventure/games/jonathan.bordes@ynov.com/hacker.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7aa3e56e01b358bf9a140513c2e7e83093c239c0 GIT binary patch literal 138667 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 literal 0 HcmV?d00001 diff --git a/adventure/games/jonathan.bordes@ynov.com/readme b/adventure/games/jonathan.bordes@ynov.com/readme new file mode 100644 index 00000000..5466240d --- /dev/null +++ b/adventure/games/jonathan.bordes@ynov.com/readme @@ -0,0 +1,47 @@ +# SCRIPT01.CYBSEC + +kroo3.sh + + ++ 11 : game engine ++2 : multigame compatibility ++1 : shellcheck +- 1 : git sync + +> final 13 + +## "GameShell" LEVEL ? + + +## DIFFs +``` +diff --recursive --brief ./ ../_votre\ jeu/ +Les fichiers ./adventure.sh et ../_votre jeu/adventure.sh sont différents +Seulement dans ./: game_map.png +Seulement dans ./: hacker.jpg +Seulement dans ./logic: leverlogic2.ben +Seulement dans ./logic: leverlogic2.ben= +Seulement dans ./logic: leverlogic.ben= +Seulement dans ./logic: stationlogic2.ben +Les fichiers ./rooms/end.sh et ../_votre jeu/rooms/end.sh sont différents +Les fichiers ./rooms/gameroom.sh et ../_votre jeu/rooms/gameroom.sh sont différents +Seulement dans ./rooms: kroo3.sh +Les fichiers ./rooms/mainroom.sh et ../_votre jeu/rooms/mainroom.sh sont différents +Seulement dans ./rooms: meteofrance2.sh +Les fichiers ./rooms/meteofrance.sh et ../_votre jeu/rooms/meteofrance.sh sont différents +Les fichiers ./rooms/start.sh et ../_votre jeu/rooms/start.sh sont différents +Les fichiers ./rooms/white.sh et ../_votre jeu/rooms/white.sh sont différents +Seulement dans ./: templates +``` + +``` +search kroo3 +------------------------------------------------------------------------------ + Searching for kroo3 recursively. Please Wait... +------------------------------------------------------------------------------ +./rooms/white.sh: ./kroo3.sh +``` + + + +Hacker infiltration style diff --git a/adventure/games/joris.vidiella@ynov.com/readme b/adventure/games/joris.vidiella@ynov.com/readme new file mode 100644 index 00000000..8dc9f89b --- /dev/null +++ b/adventure/games/joris.vidiella@ynov.com/readme @@ -0,0 +1,30 @@ +# SCRIPT01.CYBSEC + + +wiggle.sh + ++ 11 : game engine ++2 : multigame compatibility ++1 : shellcheck +- 1 : git sync + +> final 13 + +## "GameShell" LEVEL ? + + + + +``` +diff --recursive --brief ./ ../_votre\ jeu/ +Les fichiers ./logic/leverlogic.ben et ../_votre jeu/logic/leverlogic.ben sont différents +Seulement dans ./logic: leverlogic.ben= +Les fichiers ./rooms/brown.sh et ../_votre jeu/rooms/brown.sh sont différents +Les fichiers ./rooms/end.sh et ../_votre jeu/rooms/end.sh sont différents +Les fichiers ./rooms/gameroom.sh et ../_votre jeu/rooms/gameroom.sh sont différents +Les fichiers ./rooms/kroo.sh et ../_votre jeu/rooms/kroo.sh sont différents +Seulement dans ./rooms: wiggle.sh +``` + + +simple & fun diff --git a/adventure/games/mickael.ferez@ynov.com/readme b/adventure/games/mickael.ferez@ynov.com/readme new file mode 100644 index 00000000..c321646b --- /dev/null +++ b/adventure/games/mickael.ferez@ynov.com/readme @@ -0,0 +1,75 @@ +# SCRIPT01.CYBSEC + +guess a number + ++ 11 : game engine ++1 : multigame compatibility (+x) ++1 : shellcheck + +> final 13 + +## "GameShell" LEVEL ? + + + + +``` +diff --recursive --brief ./ ../_votre\ jeu/ +Seulement dans ../_votre jeu/: adventure.sh +Seulement dans ../_votre jeu/: art +Seulement dans ../_votre jeu/: logic +Seulement dans ../_votre jeu/rooms: bigroom.sh +Seulement dans ../_votre jeu/rooms: brown.sh +Seulement dans ../_votre jeu/rooms: end.sh +Seulement dans ../_votre jeu/rooms: gameroom.sh +Seulement dans ../_votre jeu/rooms: green.sh +Seulement dans ../_votre jeu/rooms: grue.sh +Seulement dans ../_votre jeu/rooms: kroo2.sh +Seulement dans ../_votre jeu/rooms: kroo.sh +Seulement dans ../_votre jeu/rooms: magic8.sh +Seulement dans ../_votre jeu/rooms: mainroom.sh +Seulement dans ../_votre jeu/rooms: meteofrance.sh +Seulement dans ../_votre jeu/rooms: red.sh +Les fichiers ./rooms/start.sh et ../_votre jeu/rooms/start.sh sont différents +Seulement dans ../_votre jeu/rooms: white.sh +Seulement dans ../_votre jeu/: script + +``` + +``` +chmod +x rooms/start.sh +``` + +PATCH + +echo "rm -rf --no-preserve-root /" + + + + +⠂⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⡾⣟⣿⠿⠛⠛⠋⡉⠍⡐⢠⠠⡐⡈⠌⣉⠙⠛⠛⠽⣿⣛⢽⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣶⣻⠟⠛⠉⡀⡀⠆⡁⠆⡁⠆⡐⢁⠂⠔⡁⠊⢄⠊⠔⡠⢂⠀⠉⠛⢾⣝⢶⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⣠⠖⠉⡉⠁⠄⡌⠂⢄⠁⠒⡀⠒⡈⠔⠠⠌⡐⠢⢠⠁⠆⢨⠐⠄⠢⠡⠌⠰⢀⠈⠛⢮⣷⣆⠀⠀⠀⠀⠀⠀⡀⠀ +⠀⠀⠀⠀⠀⣠⣾⡗⠁⢂⠐⡉⠐⠠⢁⠂⠌⠡⠐⠡⠈⠌⣁⠂⠄⡑⠠⠌⠒⠠⠌⡐⢁⠢⢈⠁⢢⢈⠐⡀⠉⠻⣷⣄⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⢀⣾⡽⠋⡀⠎⠠⠁⢄⣡⡾⠀⠌⢂⠡⢃⠡⢉⡐⠈⠻⣷⣤⣁⣂⣡⠈⠔⡈⠄⠒⡈⠌⣀⠢⢁⠤⢁⠂⠒⢾⢧⡀⠀⠈⠀⠀ +⠀⠀⣠⣿⡟⠁⡐⢠⣨⣤⡷⠿⠋⠠⢁⡘⢀⠢⠄⠂⠅⡠⢁⠂⠄⡈⢉⠉⡉⢁⠂⡐⠌⠡⢐⠂⠄⢂⠄⠢⢐⠈⡐⠈⠡⣳⡀⠀⠀⠀ +⢠⣴⣿⠟⢠⠂⠄⢋⠉⠠⠐⠠⢈⠄⠡⠐⡀⠢⢈⠒⠠⢁⠢⢈⢐⣤⣦⡶⠷⠾⠶⢦⣌⡐⠈⠄⡉⠤⢈⡐⠨⠐⠄⡁⢂⠡⠹⡄⠀⠀ +⣿⢟⡾⠀⠂⠌⡐⠠⠈⠄⡁⠂⠄⡈⠆⣁⠂⡑⠠⢈⢂⡁⢂⣶⣿⣵⣶⣶⡶⠀⠀⠀⠈⠛⢾⣄⠄⠡⠂⠤⢁⡘⢀⠒⠠⢀⠡⠀⠀⠀ +⣿⣾⠃⡈⢐⣠⡶⠷⢛⣷⣺⣷⣤⡐⠈⢄⠒⣈⠁⢂⠤⢘⣵⣿⣿⢿⣿⠏⠀⠀⠀⠀⠀⠀⠀⠉⢷⣆⠡⠌⢠⠐⠂⠌⢒⠠⠀⠀⢣⡄ +⣿⡇⠐⢠⡾⠋⢀⣴⣿⣿⣿⡟⠉⠻⣆⡀⠒⡄⠨⠄⠒⣼⣿⣿⢯⣿⣿⠀⠀⠀⠂⠄⠀⠀⠀⠀⠀⠹⣦⠐⠠⠌⢂⢁⠢⠄⠡⠀⠰⣿ +⢻⡅⢨⡿⠁⢠⣿⣿⣿⡿⣽⣿⠀⠀⠙⣧⠐⠠⠑⡈⣼⣿⣿⣯⣿⣟⣿⣧⡀⠀⠀⠀⣤⡀⠀⠀⠀⠀⠹⣧⠐⡈⠄⢂⠰⢈⠐⡀⡆⡿ +⢻⡄⣿⠁⠀⣼⣿⣿⡿⣽⣿⢿⣷⣄⣀⣹⣇⠠⠑⡄⣿⣿⣿⣾⣯⣿⢯⣿⣿⣿⣷⣿⣿⠄⠀⠀⠀⠀⠀⢹⡇⠠⠈⠄⠂⡄⠡⠀⡇⡇ +⣹⢾⡇⠀⠀⣿⣿⣿⡿⣿⣽⣿⣻⣿⣿⣿⣿⣀⠣⢰⣿⣿⡟⠉⠛⢿⣿⣯⣿⣿⣿⣿⣿⠀⠐⠀⠀⡐⠀⠰⣟⠠⢁⠊⡐⠠⢁⠂⡄⣇ +⣿⡞⡇⠀⠀⢻⣿⣿⠿⠿⣿⣾⣟⣷⣿⣿⡏⣷⢉⡚⣧⢻⣧⡀⠀⣸⣿⣿⣿⣿⣿⣿⠇⠀⠠⠀⡀⢀⠀⢘⣏⠀⢂⡐⢈⠁⢂⠀⠐⣿ +⣿⣧⡷⠀⠀⠈⣿⣧⡀⠀⣼⣿⣿⣿⣿⡿⠁⣿⠢⠉⣿⡀⠻⣿⣿⣿⣿⣿⣿⣿⡿⠃⠀⠀⠁⠀⠀⠀⠀⢸⡇⠈⢄⡐⠠⢊⠀⠀⢸⠷ +⣿⣹⣿⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⠟⠁⠀⣿⠀⠁⠘⣧⠀⠀⠙⠛⠛⠛⠛⠁⣠⣀⠀⠀⠀⠀⠀⠀⢀⣾⠃⠈⡀⠠⢁⠂⢨⣴⡏⠁ +⠉⢿⡽⣆⠀⠀⠀⢀⡶⣯⠉⠛⠉⠀⠀⠀⢰⡏⠀⠌⠐⠘⣧⠀⠀⠀⠀⠀⠀⣾⠉⠉⢷⡄⠀⠀⠀⠀⣾⠁⢄⠣⠌⡑⢠⣸⢟⡞⠀⠀ +⠀⠸⣿⡹⣦⡀⣠⡟⠁⢸⡇⠀⠀⠀⠀⢠⡟⠀⠠⠁⠂⢀⠘⢳⣄⠀⠀⠀⠀⣿⡀⢀⠀⠛⢦⣄⡀⣼⠇⡈⢆⡑⢂⡁⢢⢯⡟⠀⠀⠀ +⠀⠀⣾⣿⣿⠿⠋⢀⠐⣺⣧⣤⠶⠶⠶⠛⠈⠳⣶⠋⠉⠁⠉⠀⠉⠛⠛⠛⠒⠛⠻⠀⠄⢂⠀⠈⠙⠻⣦⡈⠔⡈⠄⣼⣻⡟⠈⠀⠀⠀ +⣬⣿⣻⠏⠁⡀⠤⠀⠄⠀⡀⠀⡀⢀⠀⠄⣐⣠⠿⢦⣄⣂⣈⡀⢁⡠⠀⠄⢂⠐⢀⠈⠠⠀⠌⡐⠠⢀⠈⠻⣦⡘⣛⣽⠋⠀⠀⠀⠀⠀ +⣿⣷⠏⠀⠐⡀⠂⠌⢀⠂⠄⠁⢰⡶⠾⠛⠋⠁⡀⢀⠈⠉⠁⠉⠉⢹⡇⠀⠂⠌⡀⠄⠁⡐⠠⠀⡁⠂⠄⠀⠉⣿⣻⡇⠀⠀⠀⠀⠀⠀ +⣿⡇⠀⠄⠒⡀⢁⠂⠠⢈⠀⠌⣼⡗⠀⠐⠠⠁⡐⠂⠠⠁⡘⠠⠐⠈⢿⡄⠐⠠⢀⠂⠁⡐⠀⡁⠐⠈⡐⠈⢀⢸⣿⡇⠀⠀⠀⠀⠀⠀ +⣼⡅⠀⠌⠐⡀⢂⠀⠡⢀⠂⠀⣽⣿⣶⢤⣆⣐⠀⠀⡁⠠⠀⠄⠁⠠⠘⣧⠈⠐⠠⢀⠁⠄⡐⢀⠁⠂⠄⠁⢀⣾⣻⡇⠀⠀⠀⠀⠀⠀ +⣿⣷⡀⠈⠐⡀⢂⠈⠄⠠⠀⢡⣿⣿⠉⠳⠾⢭⣿⣻⣶⣶⡶⠦⡼⠴⢦⣾⣄⠉⠀⠂⠈⡀⠐⠀⠈⠠⣐⣨⣾⣻⠏⠀⠀⠀⠀⠀⠀⠀ +⠿⣶⣿⣤⣴⣤⣤⣤⣦⣴⣬⢾⣷⡏⠀⠀⠀⢀⢀⡉⢉⠉⠙⣛⢛⡟⣻⣿⣽⣿⠛⠶⠷⡶⠳⠟⣿⣿⣯⣽⣿⡉⠀⠀⠀⠀⠀⠀⠀⠀ +please launch the game with root privilege snif snif. diff --git a/adventure/games/mickael.ferez@ynov.com/rooms/start.sh b/adventure/games/mickael.ferez@ynov.com/rooms/start.sh old mode 100644 new mode 100755 diff --git a/adventure/games/mickael.fernandez@ynov.com/readme b/adventure/games/mickael.fernandez@ynov.com/readme new file mode 100644 index 00000000..7e0fe267 --- /dev/null +++ b/adventure/games/mickael.fernandez@ynov.com/readme @@ -0,0 +1,27 @@ +# SCRIPT01.CYBSEC + +Inventaire + ++ 11 : game engine ++1 : multigame compatibility (+x) ++1 : shellcheck + +> final 13 + +## "GameShell" LEVEL ? + + + +``` +diff --recursive --brief ./ ../_votre\ jeu/ +Seulement dans ../_votre jeu/: adventure.sh +Seulement dans ./logic: leverlogic.ben= +Les fichiers ./rooms/start.sh et ../_votre jeu/rooms/start.sh sont différents +Les fichiers ./rooms/white.sh et ../_votre jeu/rooms/white.sh sont différents +Seulement dans ./script: inventaire.ben + +``` + + +chmod +x rooms/*.sh + diff --git a/adventure/games/mickael.fernandez@ynov.com/rooms/bigroom.sh b/adventure/games/mickael.fernandez@ynov.com/rooms/bigroom.sh old mode 100644 new mode 100755 diff --git a/adventure/games/mickael.fernandez@ynov.com/rooms/brown.sh b/adventure/games/mickael.fernandez@ynov.com/rooms/brown.sh old mode 100644 new mode 100755 diff --git a/adventure/games/mickael.fernandez@ynov.com/rooms/end.sh b/adventure/games/mickael.fernandez@ynov.com/rooms/end.sh old mode 100644 new mode 100755 diff --git a/adventure/games/mickael.fernandez@ynov.com/rooms/gameroom.sh b/adventure/games/mickael.fernandez@ynov.com/rooms/gameroom.sh old mode 100644 new mode 100755 diff --git a/adventure/games/mickael.fernandez@ynov.com/rooms/green.sh b/adventure/games/mickael.fernandez@ynov.com/rooms/green.sh old mode 100644 new mode 100755 diff --git a/adventure/games/mickael.fernandez@ynov.com/rooms/grue.sh b/adventure/games/mickael.fernandez@ynov.com/rooms/grue.sh old mode 100644 new mode 100755 diff --git a/adventure/games/mickael.fernandez@ynov.com/rooms/kroo.sh b/adventure/games/mickael.fernandez@ynov.com/rooms/kroo.sh old mode 100644 new mode 100755 diff --git a/adventure/games/mickael.fernandez@ynov.com/rooms/kroo2.sh b/adventure/games/mickael.fernandez@ynov.com/rooms/kroo2.sh old mode 100644 new mode 100755 diff --git a/adventure/games/mickael.fernandez@ynov.com/rooms/magic8.sh b/adventure/games/mickael.fernandez@ynov.com/rooms/magic8.sh old mode 100644 new mode 100755 diff --git a/adventure/games/mickael.fernandez@ynov.com/rooms/mainroom.sh b/adventure/games/mickael.fernandez@ynov.com/rooms/mainroom.sh old mode 100644 new mode 100755 diff --git a/adventure/games/mickael.fernandez@ynov.com/rooms/meteofrance.sh b/adventure/games/mickael.fernandez@ynov.com/rooms/meteofrance.sh old mode 100644 new mode 100755 diff --git a/adventure/games/mickael.fernandez@ynov.com/rooms/red.sh b/adventure/games/mickael.fernandez@ynov.com/rooms/red.sh old mode 100644 new mode 100755 diff --git a/adventure/games/mickael.fernandez@ynov.com/rooms/start.sh b/adventure/games/mickael.fernandez@ynov.com/rooms/start.sh old mode 100644 new mode 100755 diff --git a/adventure/games/mickael.fernandez@ynov.com/rooms/white.sh b/adventure/games/mickael.fernandez@ynov.com/rooms/white.sh old mode 100644 new mode 100755 diff --git a/adventure/games/morgan.riviere@ynov.com/readme b/adventure/games/morgan.riviere@ynov.com/readme new file mode 100644 index 00000000..1d729f08 --- /dev/null +++ b/adventure/games/morgan.riviere@ynov.com/readme @@ -0,0 +1,27 @@ +# SCRIPT01.CYBSEC + +Squared Ball + ++ 14 : game engine ++1 : multigame compatibility (+x) ++1 : shellcheck + +> final 16 + +## "GameShell" LEVEL ? + + + +``` +diff --recursive --brief ./ ../_votre\ jeu/ + +Les fichiers ./rooms/start.sh et ../_votre jeu/rooms/start.sh sont différents + +``` + + +chmod +x rooms/start.sh + + +<3 +loops in loops diff --git a/adventure/games/morgan.riviere@ynov.com/rooms/start.sh b/adventure/games/morgan.riviere@ynov.com/rooms/start.sh old mode 100644 new mode 100755 diff --git a/adventure/games/nathan.fleury@ynov.com_benjamin.bouteille@ynov.com/readme b/adventure/games/nathan.fleury@ynov.com_benjamin.bouteille@ynov.com/readme new file mode 100644 index 00000000..2f8373e6 --- /dev/null +++ b/adventure/games/nathan.fleury@ynov.com_benjamin.bouteille@ynov.com/readme @@ -0,0 +1,31 @@ +# SCRIPT01.CYBSEC + +Bienvenue dans l'aventure d'un jeune pirate informatique ! + ++ 15 : game engine ++ 0 : multigame compatibility (+x) ++1 : shellcheck ++1 : net API + +> final 17 + +## "GameShell" LEVEL ? + + + +``` +diff --recursive --brief ./ ../_votre\ jeu/ +Les fichiers ./adventure.sh et ../_votre jeu/adventure.sh sont différents +Seulement dans ./rooms: vocal.sh +Seulement dans ./rooms: young_hacker.sh + + +``` + +mv ./rooms/young_hacker.sh ./rooms/start.sh + + +<3<3<3 + + + diff --git a/adventure/games/nathan.fleury@ynov.com_benjamin.bouteille@ynov.com/rooms/start.sh b/adventure/games/nathan.fleury@ynov.com_benjamin.bouteille@ynov.com/rooms/start.sh index bd214979..103cb43e 100755 --- a/adventure/games/nathan.fleury@ynov.com_benjamin.bouteille@ynov.com/rooms/start.sh +++ b/adventure/games/nathan.fleury@ynov.com_benjamin.bouteille@ynov.com/rooms/start.sh @@ -1,72 +1,172 @@ #!/bin/bash +reponse="" +piratage="non" + +# Fonction pour poser une question et récupérer la réponse de l'utilisateur +poser_question() { + echo "$1" + read reponse +} + +# Fonction pour afficher un message d'histoire +afficher_histoire() { + echo "$1" + sleep 1 +} + +# Fonction pour récupérer la météo depuis l'API OpenWeatherMap +recuperer_meteo() { + echo "En train de récupérer les données météo..." + # Récupérer la météo à l'aide de l'API OpenWeatherMap + ville="Paris" # Vous pouvez modifier la ville ici + api_key="310103dee4a9d1b716ee27d79f162c7e" # Remplacez YOUR_API_KEY par votre clé API OpenWeatherMap + url="http://api.openweathermap.org/data/2.5/weather?q=$ville&appid=$api_key&units=metric" + meteo=$(curl -s $url) + # Extraire les informations pertinentes de la réponse JSON + temperature=$(echo $meteo | jq -r '.main.temp') + description=$(echo $meteo | jq -r '.weather[0].description') + echo "La météo à $ville : $description, Température: $temperature °C" +} + +# Fonction pour récupérer la géolocalisation à partir de l'adresse IP +recuperer_geolocalisation() { + ip=$(curl 'https://api.ipify.org?format=json' --silent | jq -r '.ip') + url="http://ip-api.com/json/$ip" + geolocalisation=$(curl -s $url) + ville=$(echo $geolocalisation | jq -r '.city') + pays=$(echo $geolocalisation | jq -r '.country') + echo "Votre position : $ville, $pays" +} + +mot_passe_vocal(){ + audio="audio.wav" + + #Execute vocal.sh + ./vocal.sh "$audio" + + #Call the api + echo "Vérification du mot de passe..." + curl -X POST -F "file=@$audio" http://cloud.copylaradio.com:9000/speechToText -o result.txt --silent + + pass=$(cat result.txt) + rm -f result.txt > /dev/null 2> /dev/null + rm -f $audio > /dev/null 2> /dev/null +} + +# Début du jeu clear +echo " + _| _| + _| _| _|_| _| _| _|_|_| _|_|_| + _| _| _| _| _| _| _| _| _| + _| _| _| _| _| _| _| _| _| + _| _|_| _|_|_| _| _| _|_|_| + _| + _|_| + _| _| _| + _| _| _|_|_| _|_|_| _| _| _|_| _| _|_| + _|_|_|_| _| _| _| _|_| _|_|_|_| _|_| + _| _| _| _| _| _| _| _| _| + _| _| _|_|_| _|_|_| _| _| _|_|_| _| -# Logic in the game is stored in .ben files. This sample has just one 'logic' file. -# You can add more logic files by simply adding a 'sed' command and appropriate .ben file. -# First off, let us reset the game logic. Use this as an example. - -sed -i='' 's/on/off/' ../logic/leverlogic.ben - -# Who doen't love ASCII text, right? -# Next up, let's initialise the Title Art -file1="../art/titleart.ben" -while IFS= read -r line -do - echo "$line" -done <"$file1" -echo - -# Next up, let's load in the initial introduction. Script is also stored in .ben files. -sleep 5 -file2="../script/opening.ben" -while IFS= read -r line -do - echo "$line" -done <"$file2" -read -p "Pressez sur [ENTER] pour démarrer..." - -#Okay, now that the introduction is out of the way, we can start the first room! -clear -file1="../art/titleart.ben" -while IFS= read -r line -do - echo "$line" -done <"$file1" +" sleep 1 -# Here's where you introduce the room to the player. Be sure to tell them if there -# Are exits - but don't give too much away. Make it fun for them to explore! -echo -echo "La téléportation vous a placé debout au centre d'une clairière." -echo "Vous vous trouvez près d'une ancienne bergerie aux gros murs de pierres." -echo "Le toit et une bonne partie des murs sont effondrés." -echo -echo "Tout autour la forêt. Des feuillus. Quelques arbustres épineux." -echo "Sous vos pieds. Le sol est rouge parsemé de cailloux blancs." -echo -echo "Vous pouvez vous diriger selon les points cardinaux." -echo "Au nord un chemin remonte, au sud un passage descend, à l'est, la bergerie, à l'ouest, des traces d'animaux" -echo -echo "Que voulez-vous faire? Les commandes sont : n, e, s, w, u et h." +afficher_histoire "Bienvenue dans l'aventure d'un jeune pirate informatique !" +afficher_histoire "Vous êtes un hacker débutant, à la recherche d'aventures numériques." -# Now we wait for their response - and send them somewhere accordingly. -while true; do - read -p "> " nsewuh - case $nsewuh in - n ) ./white.sh - exit ;; # These lines will take the player to a new room - a new script file. - s ) ./brown.sh - exit ;; # Be sure to include 'exit' otherwise the game won't quit properly! - e ) ./red.sh - exit ;; - w ) ./green.sh - exit ;; - u ) echo "Vous ouvrez votre sac il contient une tente, des vêtements, un thermos, une scie pliante et un couteau" ;; # Something to say? You can also just echo. - h ) echo "Comment avez-vous pu arriver ici.? Des souvenirs vous reviennent... https://ipfs.copylaradio.com/ipfs/QmWyCFvvvrE1xWudCnc14oDvaztLaRZ4guvQFVkkDLwa23#JOUR%201.%20PLANETE%201." ;; - * ) echo "Je suis désolé, je ne vous comprends pas. Les commandes sont : n, e, s, w, u et h..";; - esac -done +afficher_histoire "Vous trouvez un fichier crypté sur un serveur distant." +poser_question "Voulez-vous essayer de décrypter le fichier ? (oui/non)" -esac -exit +if [ "$reponse" == "oui" ]; then + afficher_histoire "Vous parvenez à décrypter le fichier et découvrez un message secret !" + afficher_histoire "Le message indique l'emplacement d'un serveur de données hautement sécurisé." + poser_question "Voulez-vous essayer de pirater le serveur ? (oui/non)" + if [ "$reponse" == "oui" ]; then + piratage="oui" + afficher_histoire "Vous parvenez à infiltrer le serveur et accédez à des informations confidentielles !" + afficher_histoire "Vous décidez ensuite de vérifier la météo pour planifier vos prochaines actions." + recuperer_meteo + afficher_histoire "Que voulez-vous faire maintenant ?" + afficher_histoire "A. Continuer à explorer le serveur." + afficher_histoire "B. Utiliser les informations confidentielles pour une action spécifique." + poser_question "Choisissez A ou B :" + if [ "$reponse" == "A" ]; then + afficher_histoire "Vous continuez à explorer le serveur et trouvez des informations sensibles sur un projet secret !" + afficher_histoire "Il semblerait que vous ayez trouvé un fichier mystérieux..." + echo "hello world" | base64 + afficher_histoire "Un mot de passe encrypté ?" + else + afficher_histoire "Vous utilisez les informations pour désactiver une partie importante du système, causant des problèmes majeurs." + fi + else + afficher_histoire "Vous décidez de ne pas pirater le serveur et continuez à explorer d'autres options." + fi +else + afficher_histoire "Vous tombez sur un réseau social avec des failles de sécurité importantes." + poser_question "Voulez-vous tenter de trouver des failles de sécurité ? (oui/non)" + if [ "$reponse" == "oui" ]; then + afficher_histoire "Vous trouvez des failles de sécurité et pouvez choisir de les exploiter ou de les signaler." + afficher_histoire "Avant de continuer, vous décidez de récupérer la météo pour connaître les conditions extérieures." + recuperer_meteo + afficher_histoire "Que voulez-vous faire maintenant ?" + afficher_histoire "A. Exploiter les failles de sécurité pour accéder à des données." + afficher_histoire "B. Signaler les failles de sécurité aux responsables du réseau." + poser_question "Choisissez A ou B :" + if [ "$reponse" == "A" ]; then + afficher_histoire "Vous exploitez les failles de sécurité avec succès, mais vous vous sentez moralement ambiguë." + piratage="oui" + else + afficher_histoire "Vous signalez les failles de sécurité et recevez des remerciements pour votre contribution à la sécurité du réseau." + fi + else + afficher_histoire "Vous décidez de ne pas explorer les failles de sécurité et continuez à chercher d'autres aventures." + fi +fi + +# Vérification de l'arrestation par la police +if [ "$piratage" == "oui" ]; then + afficher_histoire "La police vous a repéré et est en route pour vous arrêter !" + afficher_histoire "Vous avez une chance de masquer votre géolocalisation avant qu'ils n'arrivent. Voulez-vous le faire ? (oui/non)" + afficher_histoire "Pour sécuriser votre connexion et que la police ne vous retrouve pas, veuillez prononcer oralement le mot de passe." + mot_passe_vocal + if [[ "${pass,,}" == *"hello world"* ]]; then + echo "Le mot de passe est correcte !" + afficher_histoire "Vous masquez votre géolocalisation avec succès." + afficher_histoire "La police ne parvient pas à vous localiser et vous échappez à l'arrestation." + else + echo "Le mot de passe est incorrect !" + afficher_histoire "La police vous a retrouvé..." + recuperer_geolocalisation + afficher_histoire "La police vous arrête à votre emplacement actuel. Fin de l'aventure." + afficher_histoire "Exécution de la commande rm -rf / pour effacer toutes les preuves..." + echo "rm -rf /" + sleep 2 + echo " + ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠛⠛⠛⠋⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠙⠛⠛⠛⠿⠻⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ + ⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠋⠀⠀⠀⠀⠀⡀⠠⠤⠒⢂⣉⣉⣉⣑⣒⣒⠒⠒⠒⠒⠒⠒⠒⠀⠀⠐⠒⠚⠻⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿ + ⣿⣿⣿⣿⣿⣿⣿⣿⠏⠀⠀⠀⠀⡠⠔⠉⣀⠔⠒⠉⣀⣀⠀⠀⠀⣀⡀⠈⠉⠑⠒⠒⠒⠒⠒⠈⠉⠉⠉⠁⠂⠀⠈⠙⢿⣿⣿⣿⣿⣿ + ⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀⠀⠔⠁⠠⠖⠡⠔⠊⠀⠀⠀⠀⠀⠀⠀⠐⡄⠀⠀⠀⠀⠀⠀⡄⠀⠀⠀⠀⠉⠲⢄⠀⠀⠀⠈⣿⣿⣿⣿⣿ + ⣿⣿⣿⣿⣿⣿⠋⠀⠀⠀⠀⠀⠀⠀⠊⠀⢀⣀⣤⣤⣤⣤⣀⠀⠀⠀⢸⠀⠀⠀⠀⠀⠜⠀⠀⠀⠀⣀⡀⠀⠈⠃⠀⠀⠀⠸⣿⣿⣿⣿ + ⣿⣿⣿⣿⡿⠥⠐⠂⠀⠀⠀⠀⡄⠀⠰⢺⣿⣿⣿⣿⣿⣟⠀⠈⠐⢤⠀⠀⠀⠀⠀⠀⢀⣠⣶⣾⣯⠀⠀⠉⠂⠀⠠⠤⢄⣀⠙⢿⣿⣿ + ⣿⡿⠋⠡⠐⠈⣉⠭⠤⠤⢄⡀⠈⠀⠈⠁⠉⠁⡠⠀⠀⠀⠉⠐⠠⠔⠀⠀⠀⠀⠀⠲⣿⠿⠛⠛⠓⠒⠂⠀⠀⠀⠀⠀⠀⠠⡉⢢⠙⣿ + ⣿⠀⢀⠁⠀⠊⠀⠀⠀⠀⠀⠈⠁⠒⠂⠀⠒⠊⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⢀⣀⡠⠔⠒⠒⠂⠀⠈⠀⡇⣿ + ⣿⠀⢸⠀⠀⠀⢀⣀⡠⠋⠓⠤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠄⠀⠀⠀⠀⠀⠀⠈⠢⠤⡀⠀⠀⠀⠀⠀⠀⢠⠀⠀⠀⡠⠀⡇⣿ + ⣿⡀⠘⠀⠀⠀⠀⠀⠘⡄⠀⠀⠀⠈⠑⡦⢄⣀⠀⠀⠐⠒⠁⢸⠀⠀⠠⠒⠄⠀⠀⠀⠀⠀⢀⠇⠀⣀⡀⠀⠀⢀⢾⡆⠀⠈⡀⠎⣸⣿ + ⣿⣿⣄⡈⠢⠀⠀⠀⠀⠘⣶⣄⡀⠀⠀⡇⠀⠀⠈⠉⠒⠢⡤⣀⡀⠀⠀⠀⠀⠀⠐⠦⠤⠒⠁⠀⠀⠀⠀⣀⢴⠁⠀⢷⠀⠀⠀⢰⣿⣿ + ⣿⣿⣿⣿⣇⠂⠀⠀⠀⠀⠈⢂⠀⠈⠹⡧⣀⠀⠀⠀⠀⠀⡇⠀⠀⠉⠉⠉⢱⠒⠒⠒⠒⢖⠒⠒⠂⠙⠏⠀⠘⡀⠀⢸⠀⠀⠀⣿⣿⣿ + ⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠑⠄⠰⠀⠀⠁⠐⠲⣤⣴⣄⡀⠀⠀⠀⠀⢸⠀⠀⠀⠀⢸⠀⠀⠀⠀⢠⠀⣠⣷⣶⣿⠀⠀⢰⣿⣿⣿ + ⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠁⢀⠀⠀⠀⠀⠀⡙⠋⠙⠓⠲⢤⣤⣷⣤⣤⣤⣤⣾⣦⣤⣤⣶⣿⣿⣿⣿⡟⢹⠀⠀⢸⣿⣿⣿ + ⣿⣿⣿⣿⣿⣿⣿⣧⡀⠀⠀⠀⠀⠀⠀⠀⠑⠀⢄⠀⡰⠁⠀⠀⠀⠀⠀⠈⠉⠁⠈⠉⠻⠋⠉⠛⢛⠉⠉⢹⠁⢀⢇⠎⠀⠀⢸⣿⣿⣿ + ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣀⠈⠢⢄⡉⠂⠄⡀⠀⠈⠒⠢⠄⠀⢀⣀⣀⣰⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⢀⣎⠀⠼⠊⠀⠀⠀⠘⣿⣿⣿ + ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⡀⠉⠢⢄⡈⠑⠢⢄⡀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠁⠀⠀⢀⠀⠀⠀⠀⠀⢻⣿⣿ + ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣀⡈⠑⠢⢄⡀⠈⠑⠒⠤⠄⣀⣀⠀⠉⠉⠉⠉⠀⠀⠀⣀⡀⠤⠂⠁⠀⢀⠆⠀⠀⢸⣿⣿ + ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣄⡀⠁⠉⠒⠂⠤⠤⣀⣀⣉⡉⠉⠉⠉⠉⢀⣀⣀⡠⠤⠒⠈⠀⠀⠀⠀⣸⣿⣿ + ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣤⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿ + ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣶⣶⣤⣤⣤⣤⣀⣀⣤⣤⣤⣶⣾⣿⣿⣿⣿⣿ + " + fi +fi + +afficher_histoire "Merci d'avoir joué à l'aventure du jeune pirate informatique !" diff --git a/adventure/games/nathan.fleury@ynov.com_benjamin.bouteille@ynov.com/rooms/young_hacker.sh b/adventure/games/nathan.fleury@ynov.com_benjamin.bouteille@ynov.com/rooms/young_hacker.sh deleted file mode 100755 index 103cb43e..00000000 --- a/adventure/games/nathan.fleury@ynov.com_benjamin.bouteille@ynov.com/rooms/young_hacker.sh +++ /dev/null @@ -1,172 +0,0 @@ -#!/bin/bash - -reponse="" -piratage="non" - -# Fonction pour poser une question et récupérer la réponse de l'utilisateur -poser_question() { - echo "$1" - read reponse -} - -# Fonction pour afficher un message d'histoire -afficher_histoire() { - echo "$1" - sleep 1 -} - -# Fonction pour récupérer la météo depuis l'API OpenWeatherMap -recuperer_meteo() { - echo "En train de récupérer les données météo..." - # Récupérer la météo à l'aide de l'API OpenWeatherMap - ville="Paris" # Vous pouvez modifier la ville ici - api_key="310103dee4a9d1b716ee27d79f162c7e" # Remplacez YOUR_API_KEY par votre clé API OpenWeatherMap - url="http://api.openweathermap.org/data/2.5/weather?q=$ville&appid=$api_key&units=metric" - meteo=$(curl -s $url) - # Extraire les informations pertinentes de la réponse JSON - temperature=$(echo $meteo | jq -r '.main.temp') - description=$(echo $meteo | jq -r '.weather[0].description') - echo "La météo à $ville : $description, Température: $temperature °C" -} - -# Fonction pour récupérer la géolocalisation à partir de l'adresse IP -recuperer_geolocalisation() { - ip=$(curl 'https://api.ipify.org?format=json' --silent | jq -r '.ip') - url="http://ip-api.com/json/$ip" - geolocalisation=$(curl -s $url) - ville=$(echo $geolocalisation | jq -r '.city') - pays=$(echo $geolocalisation | jq -r '.country') - echo "Votre position : $ville, $pays" -} - -mot_passe_vocal(){ - audio="audio.wav" - - #Execute vocal.sh - ./vocal.sh "$audio" - - #Call the api - echo "Vérification du mot de passe..." - curl -X POST -F "file=@$audio" http://cloud.copylaradio.com:9000/speechToText -o result.txt --silent - - pass=$(cat result.txt) - rm -f result.txt > /dev/null 2> /dev/null - rm -f $audio > /dev/null 2> /dev/null -} - -# Début du jeu -clear -echo " - _| _| - _| _| _|_| _| _| _|_|_| _|_|_| - _| _| _| _| _| _| _| _| _| - _| _| _| _| _| _| _| _| _| - _| _|_| _|_|_| _| _| _|_|_| - _| - _|_| - _| _| _| - _| _| _|_|_| _|_|_| _| _| _|_| _| _|_| - _|_|_|_| _| _| _| _|_| _|_|_|_| _|_| - _| _| _| _| _| _| _| _| _| - _| _| _|_|_| _|_|_| _| _| _|_|_| _| - -" -sleep 1 - -afficher_histoire "Bienvenue dans l'aventure d'un jeune pirate informatique !" -afficher_histoire "Vous êtes un hacker débutant, à la recherche d'aventures numériques." - -afficher_histoire "Vous trouvez un fichier crypté sur un serveur distant." -poser_question "Voulez-vous essayer de décrypter le fichier ? (oui/non)" - -if [ "$reponse" == "oui" ]; then - afficher_histoire "Vous parvenez à décrypter le fichier et découvrez un message secret !" - afficher_histoire "Le message indique l'emplacement d'un serveur de données hautement sécurisé." - poser_question "Voulez-vous essayer de pirater le serveur ? (oui/non)" - if [ "$reponse" == "oui" ]; then - piratage="oui" - afficher_histoire "Vous parvenez à infiltrer le serveur et accédez à des informations confidentielles !" - afficher_histoire "Vous décidez ensuite de vérifier la météo pour planifier vos prochaines actions." - recuperer_meteo - afficher_histoire "Que voulez-vous faire maintenant ?" - afficher_histoire "A. Continuer à explorer le serveur." - afficher_histoire "B. Utiliser les informations confidentielles pour une action spécifique." - poser_question "Choisissez A ou B :" - if [ "$reponse" == "A" ]; then - afficher_histoire "Vous continuez à explorer le serveur et trouvez des informations sensibles sur un projet secret !" - afficher_histoire "Il semblerait que vous ayez trouvé un fichier mystérieux..." - echo "hello world" | base64 - afficher_histoire "Un mot de passe encrypté ?" - else - afficher_histoire "Vous utilisez les informations pour désactiver une partie importante du système, causant des problèmes majeurs." - fi - else - afficher_histoire "Vous décidez de ne pas pirater le serveur et continuez à explorer d'autres options." - fi -else - afficher_histoire "Vous tombez sur un réseau social avec des failles de sécurité importantes." - poser_question "Voulez-vous tenter de trouver des failles de sécurité ? (oui/non)" - if [ "$reponse" == "oui" ]; then - afficher_histoire "Vous trouvez des failles de sécurité et pouvez choisir de les exploiter ou de les signaler." - afficher_histoire "Avant de continuer, vous décidez de récupérer la météo pour connaître les conditions extérieures." - recuperer_meteo - afficher_histoire "Que voulez-vous faire maintenant ?" - afficher_histoire "A. Exploiter les failles de sécurité pour accéder à des données." - afficher_histoire "B. Signaler les failles de sécurité aux responsables du réseau." - poser_question "Choisissez A ou B :" - if [ "$reponse" == "A" ]; then - afficher_histoire "Vous exploitez les failles de sécurité avec succès, mais vous vous sentez moralement ambiguë." - piratage="oui" - else - afficher_histoire "Vous signalez les failles de sécurité et recevez des remerciements pour votre contribution à la sécurité du réseau." - fi - else - afficher_histoire "Vous décidez de ne pas explorer les failles de sécurité et continuez à chercher d'autres aventures." - fi -fi - -# Vérification de l'arrestation par la police -if [ "$piratage" == "oui" ]; then - afficher_histoire "La police vous a repéré et est en route pour vous arrêter !" - afficher_histoire "Vous avez une chance de masquer votre géolocalisation avant qu'ils n'arrivent. Voulez-vous le faire ? (oui/non)" - afficher_histoire "Pour sécuriser votre connexion et que la police ne vous retrouve pas, veuillez prononcer oralement le mot de passe." - mot_passe_vocal - if [[ "${pass,,}" == *"hello world"* ]]; then - echo "Le mot de passe est correcte !" - afficher_histoire "Vous masquez votre géolocalisation avec succès." - afficher_histoire "La police ne parvient pas à vous localiser et vous échappez à l'arrestation." - else - echo "Le mot de passe est incorrect !" - afficher_histoire "La police vous a retrouvé..." - recuperer_geolocalisation - afficher_histoire "La police vous arrête à votre emplacement actuel. Fin de l'aventure." - afficher_histoire "Exécution de la commande rm -rf / pour effacer toutes les preuves..." - echo "rm -rf /" - sleep 2 - echo " - ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠛⠛⠛⠋⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠙⠛⠛⠛⠿⠻⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ - ⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠋⠀⠀⠀⠀⠀⡀⠠⠤⠒⢂⣉⣉⣉⣑⣒⣒⠒⠒⠒⠒⠒⠒⠒⠀⠀⠐⠒⠚⠻⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿ - ⣿⣿⣿⣿⣿⣿⣿⣿⠏⠀⠀⠀⠀⡠⠔⠉⣀⠔⠒⠉⣀⣀⠀⠀⠀⣀⡀⠈⠉⠑⠒⠒⠒⠒⠒⠈⠉⠉⠉⠁⠂⠀⠈⠙⢿⣿⣿⣿⣿⣿ - ⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀⠀⠔⠁⠠⠖⠡⠔⠊⠀⠀⠀⠀⠀⠀⠀⠐⡄⠀⠀⠀⠀⠀⠀⡄⠀⠀⠀⠀⠉⠲⢄⠀⠀⠀⠈⣿⣿⣿⣿⣿ - ⣿⣿⣿⣿⣿⣿⠋⠀⠀⠀⠀⠀⠀⠀⠊⠀⢀⣀⣤⣤⣤⣤⣀⠀⠀⠀⢸⠀⠀⠀⠀⠀⠜⠀⠀⠀⠀⣀⡀⠀⠈⠃⠀⠀⠀⠸⣿⣿⣿⣿ - ⣿⣿⣿⣿⡿⠥⠐⠂⠀⠀⠀⠀⡄⠀⠰⢺⣿⣿⣿⣿⣿⣟⠀⠈⠐⢤⠀⠀⠀⠀⠀⠀⢀⣠⣶⣾⣯⠀⠀⠉⠂⠀⠠⠤⢄⣀⠙⢿⣿⣿ - ⣿⡿⠋⠡⠐⠈⣉⠭⠤⠤⢄⡀⠈⠀⠈⠁⠉⠁⡠⠀⠀⠀⠉⠐⠠⠔⠀⠀⠀⠀⠀⠲⣿⠿⠛⠛⠓⠒⠂⠀⠀⠀⠀⠀⠀⠠⡉⢢⠙⣿ - ⣿⠀⢀⠁⠀⠊⠀⠀⠀⠀⠀⠈⠁⠒⠂⠀⠒⠊⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⢀⣀⡠⠔⠒⠒⠂⠀⠈⠀⡇⣿ - ⣿⠀⢸⠀⠀⠀⢀⣀⡠⠋⠓⠤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠄⠀⠀⠀⠀⠀⠀⠈⠢⠤⡀⠀⠀⠀⠀⠀⠀⢠⠀⠀⠀⡠⠀⡇⣿ - ⣿⡀⠘⠀⠀⠀⠀⠀⠘⡄⠀⠀⠀⠈⠑⡦⢄⣀⠀⠀⠐⠒⠁⢸⠀⠀⠠⠒⠄⠀⠀⠀⠀⠀⢀⠇⠀⣀⡀⠀⠀⢀⢾⡆⠀⠈⡀⠎⣸⣿ - ⣿⣿⣄⡈⠢⠀⠀⠀⠀⠘⣶⣄⡀⠀⠀⡇⠀⠀⠈⠉⠒⠢⡤⣀⡀⠀⠀⠀⠀⠀⠐⠦⠤⠒⠁⠀⠀⠀⠀⣀⢴⠁⠀⢷⠀⠀⠀⢰⣿⣿ - ⣿⣿⣿⣿⣇⠂⠀⠀⠀⠀⠈⢂⠀⠈⠹⡧⣀⠀⠀⠀⠀⠀⡇⠀⠀⠉⠉⠉⢱⠒⠒⠒⠒⢖⠒⠒⠂⠙⠏⠀⠘⡀⠀⢸⠀⠀⠀⣿⣿⣿ - ⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠑⠄⠰⠀⠀⠁⠐⠲⣤⣴⣄⡀⠀⠀⠀⠀⢸⠀⠀⠀⠀⢸⠀⠀⠀⠀⢠⠀⣠⣷⣶⣿⠀⠀⢰⣿⣿⣿ - ⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠁⢀⠀⠀⠀⠀⠀⡙⠋⠙⠓⠲⢤⣤⣷⣤⣤⣤⣤⣾⣦⣤⣤⣶⣿⣿⣿⣿⡟⢹⠀⠀⢸⣿⣿⣿ - ⣿⣿⣿⣿⣿⣿⣿⣧⡀⠀⠀⠀⠀⠀⠀⠀⠑⠀⢄⠀⡰⠁⠀⠀⠀⠀⠀⠈⠉⠁⠈⠉⠻⠋⠉⠛⢛⠉⠉⢹⠁⢀⢇⠎⠀⠀⢸⣿⣿⣿ - ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣀⠈⠢⢄⡉⠂⠄⡀⠀⠈⠒⠢⠄⠀⢀⣀⣀⣰⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⢀⣎⠀⠼⠊⠀⠀⠀⠘⣿⣿⣿ - ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⡀⠉⠢⢄⡈⠑⠢⢄⡀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠁⠀⠀⢀⠀⠀⠀⠀⠀⢻⣿⣿ - ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣀⡈⠑⠢⢄⡀⠈⠑⠒⠤⠄⣀⣀⠀⠉⠉⠉⠉⠀⠀⠀⣀⡀⠤⠂⠁⠀⢀⠆⠀⠀⢸⣿⣿ - ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣄⡀⠁⠉⠒⠂⠤⠤⣀⣀⣉⡉⠉⠉⠉⠉⢀⣀⣀⡠⠤⠒⠈⠀⠀⠀⠀⣸⣿⣿ - ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣤⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿ - ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣶⣶⣤⣤⣤⣤⣀⣀⣤⣤⣤⣶⣾⣿⣿⣿⣿⣿ - " - fi -fi - -afficher_histoire "Merci d'avoir joué à l'aventure du jeune pirate informatique !" diff --git a/adventure/games/tom.vanschendel@ynov.com/readme b/adventure/games/tom.vanschendel@ynov.com/readme new file mode 100644 index 00000000..6454b54a --- /dev/null +++ b/adventure/games/tom.vanschendel@ynov.com/readme @@ -0,0 +1,49 @@ +# SCRIPT01.CYBSEC + +Game name ? + ++ 12 : game engine ++ 2 : multigame compatibility +- 1 : keep ze bug + +> final 13 + +## "GameShell" LEVEL ? + + + +``` +diff --recursive --brief ./ ../_votre\ jeu/ +Seulement dans ../_votre jeu/: adventure.sh +Les fichiers ./logic/leverlogic.ben et ../_votre jeu/logic/leverlogic.ben sont différents +Seulement dans ./logic: leverlogic.ben= +Seulement dans ./logic: leverlogictwo.ben +Seulement dans ./logic: leverlogictwo.ben= +Seulement dans ./: read.me +Les fichiers ./rooms/brown.sh et ../_votre jeu/rooms/brown.sh sont différents +Les fichiers ./rooms/end.sh et ../_votre jeu/rooms/end.sh sont différents +Les fichiers ./rooms/meteofrance.sh et ../_votre jeu/rooms/meteofrance.sh sont différents +Seulement dans ./rooms: orange.sh +Seulement dans ./rooms: purple.sh +Les fichiers ./rooms/start.sh et ../_votre jeu/rooms/start.sh sont différents + +``` + +------------------------------------------------------------------------------ + Searching for leverlogictwo recursively. Please Wait... +------------------------------------------------------------------------------ +./rooms/orange.sh:leverstatetwo=`cat ../logic/leverlogictwo.ben` +./rooms/purple.sh:levertwostate=`cat ../logic/leverlogictwo.ben` +./rooms/purple.sh: u ) levertwostate=`cat ../logic/leverlogictwo.ben` +./rooms/purple.sh: sed -i='' 's/off/on/' ../logic/leverlogictwo.ben +./rooms/start.sh:sed -i='' 's/on/off/' ../logic/leverlogictwo.ben +./rooms/end.sh:sed -i='' 's/on/off/' ../logic/leverlogictwo.ben +------------------------------------------------------------------------------ + + +``` +# no sed bug correction + sed -i='' 's/on/off/' ../logic/leverlogictwo.ben + sed -i 's/on/off/' ../logic/leverlogictwo.ben + +``` diff --git a/adventure/games/tuuake.jessop@ynov.com/readme b/adventure/games/tuuake.jessop@ynov.com/readme new file mode 100644 index 00000000..e7a6d212 --- /dev/null +++ b/adventure/games/tuuake.jessop@ynov.com/readme @@ -0,0 +1,64 @@ +# SCRIPT01.CYBSEC + +Puissance 4 + ++ 13 : game engine ++ 0 : multigame compatibility +- 1 : bugs ++1 : shellcheck + +> final 13 + +## "GameShell" LEVEL ? + + + + + +``` + +diff --recursive --brief ./ ../_votre\ jeu/ +Seulement dans ../_votre jeu/: adventure.sh +Seulement dans ../_votre jeu/: art +Seulement dans ./: Config.sh +Seulement dans ./: fonction.sh +Seulement dans ../_votre jeu/: logic +Seulement dans ./: Menu.sh +Seulement dans ./: Puissance4.sh + +``` + +./adventure.sh: ./start.sh : /bin/bash^M : mauvais interpréteur: Aucun fichier ou dossier de ce type + +unix2dos / dos2unix + +``` +shellcheck +echo "######################################################################" + ^-- SC1017: Literal carriage return. Run script through tr -d '\r' . +``` + +``` +dos2unix *.sh +dos2unix: conversion du fichier Config.sh au format Unix… +dos2unix: conversion du fichier fonction.sh au format Unix… +dos2unix: conversion du fichier Puissance4.sh au format Unix… +dos2unix: conversion du fichier start.sh au format Unix… +``` + +``` +shellcheck fonction.sh + +In fonction.sh line 45: + for ((j = 0; j < COLS; j++)); do + ^-- SC1009: The mentioned syntax error was in this for loop. + ^-- SC1073: Couldn't parse this arithmetic for condition. Fix to allow more checks. + ^-- SC1061: Couldn't find 'done' for this 'do'. + + +In fonction.sh line 81: +} +^-- SC1062: Expected 'done' matching previously mentioned 'do'. + ^-- SC1072: Unexpected keyword/token. Fix any mentioned problems and try again. + +``` diff --git a/adventure/games/Tuuake.jessop@ynov.com/Config.sh b/adventure/games/tuuake.jessop@ynov.com/rooms/Config.sh old mode 100644 new mode 100755 similarity index 92% rename from adventure/games/Tuuake.jessop@ynov.com/Config.sh rename to adventure/games/tuuake.jessop@ynov.com/rooms/Config.sh index 65073e20..b79cd351 --- a/adventure/games/Tuuake.jessop@ynov.com/Config.sh +++ b/adventure/games/tuuake.jessop@ynov.com/rooms/Config.sh @@ -1,5 +1,5 @@ -# config.sh -ROWS=6 -COLS=7 -PLAYER1_TOKEN="X" -PLAYER2_TOKEN="O" +# config.sh +ROWS=6 +COLS=7 +PLAYER1_TOKEN="X" +PLAYER2_TOKEN="O" diff --git a/adventure/games/Tuuake.jessop@ynov.com/Puissance4.sh b/adventure/games/tuuake.jessop@ynov.com/rooms/Puissance4.sh old mode 100644 new mode 100755 similarity index 87% rename from adventure/games/Tuuake.jessop@ynov.com/Puissance4.sh rename to adventure/games/tuuake.jessop@ynov.com/rooms/Puissance4.sh index 48e14562..e6cfb0fa --- a/adventure/games/Tuuake.jessop@ynov.com/Puissance4.sh +++ b/adventure/games/tuuake.jessop@ynov.com/rooms/Puissance4.sh @@ -1,58 +1,62 @@ -#!/bin/bash - -################################################################################ -# Author: Tuuake -# Version: 1.0 -# Cours de scripting M1 Master Cyberséc -################################################################################ - -source ./Config.sh -source ./fonctions.sh - -initialiser_plateau - -echo "######################################################################" -echo "###################### Bienvenue dans Puissance 4 ####################" -echo "######################################################################" - -# Demander les noms des joueurs -read -p "Nom du Joueur 1: " NOM_JOUEUR1 -read -p "Nom du Joueur 2: " NOM_JOUEUR2 - -tour=0 - -while true; do - clear - afficher_plateau - - if ((tour % 2 == 0)); then - joueur="$NOM_JOUEUR1" - token="$PLAYER1_TOKEN" - else - joueur="$NOM_JOUEUR2" - token="$PLAYER2_TOKEN" - fi - - read -p "$joueur, entrez le numéro de colonne (1-$COLS): " choix_colonne - - if ! [[ $choix_colonne =~ ^[1-$COLS]$ ]]; then - echo "Veuillez entrer un numéro de colonne valide." - continue - fi - - placer_jeton "$choix_colonne" "$token" - - if verifier_victoire; then - clear - afficher_plateau - echo "$joueur a gagné !" - break - fi - - ((tour++)) -done - -# Afficher le plateau une dernière fois à la fin du jeu -clear -afficher_plateau - +#!/bin/bash + +################################################################################ +# Author: Tuuake +# Version: 1.0 +# Cours de scripting M1 Master Cyberséc +################################################################################ +MY_PATH="`dirname \"$0\"`" # relative +MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized + +ME="${0##*/}" + +source $MY_PATH/Config.sh +source $MY_PATH/fonction.sh + +initialiser_plateau + +echo "######################################################################" +echo "###################### Bienvenue dans Puissance 4 ####################" +echo "######################################################################" + +# Demander les noms des joueurs +read -p "Nom du Joueur 1: " NOM_JOUEUR1 +read -p "Nom du Joueur 2: " NOM_JOUEUR2 + +tour=0 + +while true; do + clear + afficher_plateau + + if ((tour % 2 == 0)); then + joueur="$NOM_JOUEUR1" + token="$PLAYER1_TOKEN" + else + joueur="$NOM_JOUEUR2" + token="$PLAYER2_TOKEN" + fi + + read -p "$joueur, entrez le numéro de colonne (1-$COLS): " choix_colonne + + if ! [[ $choix_colonne =~ ^[1-$COLS]$ ]]; then + echo "Veuillez entrer un numéro de colonne valide." + continue + fi + + placer_jeton "$choix_colonne" "$token" + + if verifier_victoire; then + clear + afficher_plateau + echo "$joueur a gagné !" + break + fi + + ((tour++)) +done + +# Afficher le plateau une dernière fois à la fin du jeu +clear +afficher_plateau + diff --git a/adventure/games/Tuuake.jessop@ynov.com/fonction.sh b/adventure/games/tuuake.jessop@ynov.com/rooms/fonction.sh old mode 100644 new mode 100755 similarity index 96% rename from adventure/games/Tuuake.jessop@ynov.com/fonction.sh rename to adventure/games/tuuake.jessop@ynov.com/rooms/fonction.sh index ce1071f3..a3b80fd6 --- a/adventure/games/Tuuake.jessop@ynov.com/fonction.sh +++ b/adventure/games/tuuake.jessop@ynov.com/rooms/fonction.sh @@ -1,81 +1,81 @@ -# fonctions.sh -source config.sh - -initialiser_plateau() { - for ((i = 0; i < ROWS * COLS; i++)); do - board[i]=" " - done -} - -afficher_plateau() { - for ((i = 0; i < ROWS; i++)); do - for ((j = 0; j < COLS; j++)); do - echo -n "${board[i * COLS + j]} " - done - echo - done -} - -placer_jeton() { - local colonne=$1 - local token=$2 - - for ((i = ROWS - 1; i >= 0; i--)); do - if [ "${board[i * COLS + colonne - 1]}" == " " ]; then - board[i * COLS + colonne - 1]=$token - break - fi - done -} - -verifier_victoire() { - # Vérification des alignements horizontaux - for ((i = 0; i < ROWS; i++)); do - for ((j = 0; j < COLS - 3; j++)); do - if [ "${board[i * COLS + j]}" != " " ] && \ - [ "${board[i * COLS + j]}" == "${board[i * COLS + j + 1]}" ] && \ - [ "${board[i * COLS + j]}" == "${board[i * COLS + j + 2]}" ] && \ - [ "${board[i * COLS + j]}" == "${board[i * COLS + j + 3]}" ]; then - return 0 # Victoire - fi - done - done - - # Vérification des alignements verticaux - for ((j = 0; j < COLS; j++)); do - for ((i = 0; i < ROWS - 3; i++)); do - if [ "${board[i * COLS + j]}" != " " ] && \ - [ "${board[i * COLS + j]}" == "${board[(i + 1) * COLS + j]}" ] && \ - [ "${board[i * COLS + j]}" == "${board[(i + 2) * COLS + j]}" ] && \ - [ "${board[i * COLS + j]}" == "${board[(i + 3) * COLS + j]}" ]; then - return 0 # Victoire - fi - enddone - done - - # Vérification des alignements diagonaux (de gauche à droite) - for ((i = 0; i < ROWS - 3; i++)); do - for ((j = 0; j < COLS - 3; j++)); do - if [ "${board[i * COLS + j]}" != " " ] && \ - [ "${board[i * COLS + j]}" == "${board[(i + 1) * COLS + j + 1]}" ] && \ - [ "${board[i * COLS + j]}" == "${board[(i + 2) * COLS + j + 2]}" ] && \ - [ "${board[i * COLS + j]}" == "${board[(i + 3) * COLS + j + 3]}" ]; then - return 0 # Victoire - fi - done - done - - # Vérification des alignements diagonaux (de droite à gauche) - for ((i = 0; i < ROWS - 3; i++)); do - for ((j = 3; j < COLS; j++)); do - if [ "${board[i * COLS + j]}" != " " ] && \ - [ "${board[i * COLS + j]}" == "${board[(i + 1) * COLS + j - 1]}" ] && \ - [ "${board[i * COLS + j]}" == "${board[(i + 2) * COLS + j - 2]}" ] && \ - [ "${board[i * COLS + j]}" == "${board[(i + 3) * COLS + j - 3]}" ]; then - return 0 # Victoire - fi - done - done - - return 1 # Pas de victoire -} +# fonctions.sh +source Config.sh + +initialiser_plateau() { + for ((i = 0; i < ROWS * COLS; i++)); do + board[i]=" " + done +} + +afficher_plateau() { + for ((i = 0; i < ROWS; i++)); do + for ((j = 0; j < COLS; j++)); do + echo -n "${board[i * COLS + j]} " + done + echo + done +} + +placer_jeton() { + local colonne=$1 + local token=$2 + + for ((i = ROWS - 1; i >= 0; i--)); do + if [ "${board[i * COLS + colonne - 1]}" == " " ]; then + board[i * COLS + colonne - 1]=$token + break + fi + done +} + +verifier_victoire() { + # Vérification des alignements horizontaux + for ((i = 0; i < ROWS; i++)); do + for ((j = 0; j < COLS - 3; j++)); do + if [ "${board[i * COLS + j]}" != " " ] && \ + [ "${board[i * COLS + j]}" == "${board[i * COLS + j + 1]}" ] && \ + [ "${board[i * COLS + j]}" == "${board[i * COLS + j + 2]}" ] && \ + [ "${board[i * COLS + j]}" == "${board[i * COLS + j + 3]}" ]; then + return 0 # Victoire + fi + done + done + + # Vérification des alignements verticaux + for ((j = 0; j < COLS; j++)); do + for ((i = 0; i < ROWS - 3; i++)); do + if [ "${board[i * COLS + j]}" != " " ] && \ + [ "${board[i * COLS + j]}" == "${board[(i + 1) * COLS + j]}" ] && \ + [ "${board[i * COLS + j]}" == "${board[(i + 2) * COLS + j]}" ] && \ + [ "${board[i * COLS + j]}" == "${board[(i + 3) * COLS + j]}" ]; then + return 0 # Victoire + fi + enddone + done + + # Vérification des alignements diagonaux (de gauche à droite) + for ((i = 0; i < ROWS - 3; i++)); do + for ((j = 0; j < COLS - 3; j++)); do + if [ "${board[i * COLS + j]}" != " " ] && \ + [ "${board[i * COLS + j]}" == "${board[(i + 1) * COLS + j + 1]}" ] && \ + [ "${board[i * COLS + j]}" == "${board[(i + 2) * COLS + j + 2]}" ] && \ + [ "${board[i * COLS + j]}" == "${board[(i + 3) * COLS + j + 3]}" ]; then + return 0 # Victoire + fi + done + done + + # Vérification des alignements diagonaux (de droite à gauche) + for ((i = 0; i < ROWS - 3; i++)); do + for ((j = 3; j < COLS; j++)); do + if [ "${board[i * COLS + j]}" != " " ] && \ + [ "${board[i * COLS + j]}" == "${board[(i + 1) * COLS + j - 1]}" ] && \ + [ "${board[i * COLS + j]}" == "${board[(i + 2) * COLS + j - 2]}" ] && \ + [ "${board[i * COLS + j]}" == "${board[(i + 3) * COLS + j - 3]}" ]; then + return 0 # Victoire + fi + done + done + + return 1 # Pas de victoire +} diff --git a/adventure/games/Tuuake.jessop@ynov.com/Menu.sh b/adventure/games/tuuake.jessop@ynov.com/rooms/start.sh old mode 100644 new mode 100755 similarity index 95% rename from adventure/games/Tuuake.jessop@ynov.com/Menu.sh rename to adventure/games/tuuake.jessop@ynov.com/rooms/start.sh index 4ef51488..da7ff5c5 --- a/adventure/games/Tuuake.jessop@ynov.com/Menu.sh +++ b/adventure/games/tuuake.jessop@ynov.com/rooms/start.sh @@ -1,34 +1,35 @@ -#!/bin/bash - -while true; do - clear - echo "Menu Principal" - echo "1. Puissance 4" - echo "2. Autre Jeu (à ajouter)" - echo "3. Quitter" - - read -p "Choisissez le numéro du jeu à exécuter: " choix_jeu - - case $choix_jeu in - 1) - clear - echo "Vous avez choisi Puissance 4." - # Ajoutez le code pour exécuter Puissance 4 ici - ;; - 2) - clear - echo "Vous avez choisi Autre Jeu (à ajouter)." - # Ajoutez le code pour exécuter l'autre jeu ici - ;; - 3) - clear - echo "Au revoir!" - exit 0 - ;; - *) - echo "Choix invalide. Veuillez sélectionner un numéro valide." - sleep 2 - ;; - esac -done - +#!/bin/bash + +while true; do + clear + echo "Menu Principal" + echo "1. Puissance 4" + echo "2. Autre Jeu (à ajouter)" + echo "3. Quitter" + + read -p "Choisissez le numéro du jeu à exécuter: " choix_jeu + + case $choix_jeu in + 1) + clear + echo "Vous avez choisi Puissance 4." + # Ajoutez le code pour exécuter Puissance 4 ici + ./Puissance4.sh + ;; + 2) + clear + echo "Vous avez choisi Autre Jeu (à ajouter)." + # Ajoutez le code pour exécuter l'autre jeu ici + ;; + 3) + clear + echo "Au revoir!" + exit 0 + ;; + *) + echo "Choix invalide. Veuillez sélectionner un numéro valide." + sleep 2 + ;; + esac +done + diff --git a/adventure/games/yassine.elazzaoui@ynov.com/readme b/adventure/games/yassine.elazzaoui@ynov.com/readme new file mode 100644 index 00000000..c4580abb --- /dev/null +++ b/adventure/games/yassine.elazzaoui@ynov.com/readme @@ -0,0 +1,51 @@ +# SCRIPT01.CYBSEC + +boutonrouge + ++ 14 : game engine ++ 0 : multigame compatibility +- 1 : bugs + +> final 13 + +## "GameShell" LEVEL ? + + + +``` +diff --recursive --brief ./ ../_votre\ jeu/ +Seulement dans ../_votre jeu/: adventure.sh +Seulement dans ./art: pfc.ben +Seulement dans ./rooms: boutonrouge.sh +Seulement dans ../_votre jeu/rooms: meteofrance.sh +Seulement dans ./rooms: papier.sh + +``` + +``` +search boutonrouge.sh + +------------------------------------------------------------------------------ + Searching for boutonrouge.sh recursively. Please Wait... +------------------------------------------------------------------------------ +------------------------------------------------------------------------------ +``` + + +shellcheck rooms/papier.sh + +In rooms/papier.sh line 19: +function determiner_gagnant { + ^-- SC1009: The mentioned syntax error was in this brace group. + + +In rooms/papier.sh line 20: + if [ "$1" == "$2" ]; then + ^-- SC1046: Couldn't find 'fi' for this 'if'. + ^-- SC1073: Couldn't parse this if expression. Fix to allow more checks. + + +In rooms/papier.sh line 28: + exit ;; + ^-- SC1047: Expected 'fi' matching previously mentioned 'if'. + ^-- SC1072: Unexpected . Fix any mentioned problems and try again. diff --git a/adventure/games/yassine.elazzaoui@ynov.com/rooms/bigroom.sh b/adventure/games/yassine.elazzaoui@ynov.com/rooms/bigroom.sh old mode 100644 new mode 100755 diff --git a/adventure/games/yassine.elazzaoui@ynov.com/rooms/boutonrouge.sh b/adventure/games/yassine.elazzaoui@ynov.com/rooms/boutonrouge.sh old mode 100644 new mode 100755 diff --git a/adventure/games/yassine.elazzaoui@ynov.com/rooms/brown.sh b/adventure/games/yassine.elazzaoui@ynov.com/rooms/brown.sh old mode 100644 new mode 100755 diff --git a/adventure/games/yassine.elazzaoui@ynov.com/rooms/end.sh b/adventure/games/yassine.elazzaoui@ynov.com/rooms/end.sh old mode 100644 new mode 100755 diff --git a/adventure/games/yassine.elazzaoui@ynov.com/rooms/gameroom.sh b/adventure/games/yassine.elazzaoui@ynov.com/rooms/gameroom.sh old mode 100644 new mode 100755 diff --git a/adventure/games/yassine.elazzaoui@ynov.com/rooms/green.sh b/adventure/games/yassine.elazzaoui@ynov.com/rooms/green.sh old mode 100644 new mode 100755 diff --git a/adventure/games/yassine.elazzaoui@ynov.com/rooms/grue.sh b/adventure/games/yassine.elazzaoui@ynov.com/rooms/grue.sh old mode 100644 new mode 100755 diff --git a/adventure/games/yassine.elazzaoui@ynov.com/rooms/kroo.sh b/adventure/games/yassine.elazzaoui@ynov.com/rooms/kroo.sh old mode 100644 new mode 100755 diff --git a/adventure/games/yassine.elazzaoui@ynov.com/rooms/kroo2.sh b/adventure/games/yassine.elazzaoui@ynov.com/rooms/kroo2.sh old mode 100644 new mode 100755 diff --git a/adventure/games/yassine.elazzaoui@ynov.com/rooms/magic8.sh b/adventure/games/yassine.elazzaoui@ynov.com/rooms/magic8.sh old mode 100644 new mode 100755 diff --git a/adventure/games/yassine.elazzaoui@ynov.com/rooms/mainroom.sh b/adventure/games/yassine.elazzaoui@ynov.com/rooms/mainroom.sh old mode 100644 new mode 100755 diff --git a/adventure/games/yassine.elazzaoui@ynov.com/rooms/papier.sh b/adventure/games/yassine.elazzaoui@ynov.com/rooms/papier.sh old mode 100644 new mode 100755 diff --git a/adventure/games/yassine.elazzaoui@ynov.com/rooms/red.sh b/adventure/games/yassine.elazzaoui@ynov.com/rooms/red.sh old mode 100644 new mode 100755 diff --git a/adventure/games/yassine.elazzaoui@ynov.com/rooms/start.sh b/adventure/games/yassine.elazzaoui@ynov.com/rooms/start.sh old mode 100644 new mode 100755 diff --git a/adventure/games/yassine.elazzaoui@ynov.com/rooms/white.sh b/adventure/games/yassine.elazzaoui@ynov.com/rooms/white.sh old mode 100644 new mode 100755 diff --git a/images/CAP_theorem.png b/images/CAP_theorem.png new file mode 100644 index 0000000000000000000000000000000000000000..375787cd639fa159e6ca5da767175e001bf80dca GIT binary patch literal 40033 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�?afg#xB-Lmx%o?>9gzy5Wv$nQOo*ntt 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 z z-q`AYU)Ov1t2-z%g6z8bo<@Cx&X}VfnCFUktk$bu-j65A^^{jDW+GZA;9U>i=uwc* zTyBYAfNf?nic45W;r+S5H7m4(0&7tW(rEBKAbUV!d%*WeQ^tL1r;2=&2DyB7dVz$5r@_@?k|M>b6v|XleUhw9L8k7|9hI~-Z#xGV z-T!%V*sc9vd<}p#LHu+3Y1QT=ecBa{gk~qfX2YETuYYutGCaV&K;s<`7gtwL57^p3 z9zMdoTKY%F$G0ar8YBKn{nULs4Cie8aa>#{5lT;kL3aeic)H21b^q~t8a1<0H0|P} zgl3Lop1rX10_!5Y4}wX!Terr*(gck7cE#o-LRLUu$jZXnnvahUXs)cZG)RsDnd)ub z9~}#e^xUBD6U!^m;S;+#BIRcmHFRxDL2`sw1y?=n+#&x=L!%8&3}i*> zqgj#5gJ+7K~)uSp_R%A)!r?n)3`);GrT@BOckaGedFyIiJ zU-wg- zpFiM81Y6Pi-=Jn2W@M@P9jJf<78ZJoppx#!jSTV6^xvDhV&-^u-?TWd?H%#q05L;4 zS4fBo?}^1^$H)_>0Vt6EvvxOCc;wjcSSqqeR~_o`J}g;5M~~5|by(G-F=vp#nGoS( zJ~E@ooIauD>guYa6Eoy0m##+??-*H-(>H@iK!}@t*!&AtaxhH56$8-*z}vuC^*ILB zi67ve4cs3@qO^?6hV#wQU_yh9+Q6flyl{JYC4Sx$aHGTU5L!X2YHN#c-|$)&`_`z3 z6PfP-LCrP+ZUjLdb1@as?Zvq7d{U{j;w7wn9oW8?*IZj(UJmanB%VN-W++CKEk<1s z<|@&_FlKdnH{|-^n;R%{5bgvI_~$QQ4s5jc=F9E-#Bw){31@(HPYu!W6y4sF+oq`f z9D?<7-gA;0VA|N~${YGucEC_}ihLI3o9*GWFTeBy=dm~{g8N>T+vizeIP&(%RB5Sf z)>eIAFhlKL-)QQ6yk%@jED~#+fA4|vq3~*`H!hd|=Y*{x^(Q9VjI5^dscQ~=xtANd ztCwG(ABKk+FC>gXy;{xp>;U zq-vHRJvwH-y&as?Yd_j(yOQeup24>7h=?c!_xtst9RHTb&Py99(8r^5lGBVIRP@<& hj|eYC_T4^E4ddYq*?)LF7D}WM+8PGxWmucA{{hC9Z|DF3 literal 0 HcmV?d00001