Good Sync Fork to All
This commit is contained in:
parent
e56956da3a
commit
c2e9655e75
|
@ -40,15 +40,24 @@ select game in "${GAMES[@]}"; do
|
||||||
MY_GAME="$MY_PATH/games/$game"
|
MY_GAME="$MY_PATH/games/$game"
|
||||||
echo "SELECTION: "${MY_GAME}
|
echo "SELECTION: "${MY_GAME}
|
||||||
|
|
||||||
# test game start protocol compatibility
|
diff --recursive --brief ${MY_GAME}/ ${MY_GAME}/../_votre\ jeu/
|
||||||
if [[ -x ${MY_GAME}/rooms/start.sh ]]; then
|
|
||||||
sleep 1
|
echo "confirm ?"
|
||||||
echo "Charging game..."
|
read ENTER
|
||||||
sleep 1
|
|
||||||
break
|
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
|
else
|
||||||
# not compatible
|
echo "CHOOSE NEXT"
|
||||||
echo "ERROR - not compatible game - SELECT ANOTHER - "
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
done
|
done
|
||||||
|
|
|
@ -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
|
|
Binary file not shown.
|
@ -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.
|
|
||||||
..,,..,,..
|
|
||||||
|
|
||||||
|
|
|
@ -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:,.
|
|
||||||
|
|
|
@ -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
|
|
|
@ -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.
|
|
||||||
';;. .,,',,:;.
|
|
||||||
':;;'. .;:,,,.
|
|
||||||
.,,'''''','..;,,.
|
|
||||||
,:.
|
|
||||||
.,
|
|
|
@ -1,9 +0,0 @@
|
||||||
_______ _ ______ _
|
|
||||||
|__ __| | | ____| | |
|
|
||||||
| | | |__ ___ | |__ _ __ __| |
|
|
||||||
| | | '_ \ / _ \ | __| | '_ \ / _` |
|
|
||||||
| | | | | | __/ | |____| | | | (_| |_
|
|
||||||
|_| |_| |_|\___| |______|_| |_|\__,_(_)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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'
|
|
||||||
|
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
_____ _ _
|
|
||||||
/ ____| (_) | |
|
|
||||||
| (___ _ _ _ __ _ __ _ __ _ ___ ___| |
|
|
||||||
\___ \| | | | '__| '_ \| '__| / __|/ _ \ |
|
|
||||||
____) | |_| | | | |_) | | | \__ \ __/_|
|
|
||||||
|_____/ \__,_|_| | .__/|_| |_|___/\___(_)
|
|
||||||
| |
|
|
||||||
|_|
|
|
||||||
|
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
_ _ _ ____ ___ _ ____
|
|
||||||
/ \ ___| |_ _ __ ___ _ __ ___ _ __| |_ |___ \ / _ \ _ / |___ \
|
|
||||||
/ _ \ / __| __| '__/ _ \| '_ \ / _ \| '__| __| __) | | | | (_) | | __) |
|
|
||||||
/ ___ \\__ \ |_| | | (_) | |_) | (_) | | | |_ / __/| |_| | _ | |/ __/
|
|
||||||
/_/ \_\___/\__|_| \___/| .__/ \___/|_| \__| |_____|\___/ (_) |_|_____|
|
|
||||||
|_|
|
|
||||||
|
|
||||||
--- Un JEu de Forêt Jardin en Monnaie Libre sur IPFS ---
|
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
off
|
|
|
@ -1 +0,0 @@
|
||||||
off
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
||||||
|
|
||||||
|
|
|
@ -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
|
|
||||||
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
||||||
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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.
|
|
||||||
|
|
||||||
- - -
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
0
adventure/games/Cyril.marty@ynov.com/CODE/choix.sh → adventure/games/cyril.marty@ynov.com/rooms/choix.sh
Normal file → Executable file
0
adventure/games/Cyril.marty@ynov.com/CODE/choix.sh → adventure/games/cyril.marty@ynov.com/rooms/choix.sh
Normal file → Executable file
0
adventure/games/Cyril.marty@ynov.com/CODE/debut.sh → adventure/games/cyril.marty@ynov.com/rooms/debut.sh
Normal file → Executable file
0
adventure/games/Cyril.marty@ynov.com/CODE/debut.sh → adventure/games/cyril.marty@ynov.com/rooms/debut.sh
Normal file → Executable file
0
adventure/games/Cyril.marty@ynov.com/CODE/map.sh → adventure/games/cyril.marty@ynov.com/rooms/map.sh
Normal file → Executable file
0
adventure/games/Cyril.marty@ynov.com/CODE/map.sh → adventure/games/cyril.marty@ynov.com/rooms/map.sh
Normal file → Executable file
0
adventure/games/Cyril.marty@ynov.com/rooms/code/menu.sh → adventure/games/cyril.marty@ynov.com/rooms/start.sh
Normal file → Executable file
0
adventure/games/Cyril.marty@ynov.com/rooms/code/menu.sh → adventure/games/cyril.marty@ynov.com/rooms/start.sh
Normal file → Executable file
|
@ -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
|
Created by Damien Espenel
|
||||||
|
|
||||||
mail : damien.espenel@ynov.com
|
mail : damien.espenel@ynov.com
|
||||||
|
|
|
@ -10,15 +10,21 @@ sleep 1
|
||||||
echo "Une seule règle, trouver le nombre aléatoire entre 1 et 100 !"
|
echo "Une seule règle, trouver le nombre aléatoire entre 1 et 100 !"
|
||||||
sleep 1
|
sleep 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
devine_le_nombre() {
|
devine_le_nombre() {
|
||||||
read -p "Ton choix : " guess
|
read -p "Ton choix : " guess
|
||||||
|
|
||||||
# Vérification de la réponse
|
# Vérification de la réponse
|
||||||
if [ $guess -eq $nombre_secret ]; then
|
if [ $guess -eq $nombre_secret ]; then
|
||||||
echo "Félicitations ! Tu as deviné le nombre secret !"
|
echo "Félicitations ! Tu as deviné le nombre secret !"
|
||||||
echo "Fin de la session..."
|
echo "Fin de la session..."
|
||||||
kill $!
|
# kill $!
|
||||||
sleep 2
|
## 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
|
elif [ $guess -lt $nombre_secret ]; then
|
||||||
echo "Le nombre est plus grand."
|
echo "Le nombre est plus grand."
|
||||||
devine_le_nombre
|
devine_le_nombre
|
|
@ -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...
|
|
@ -0,0 +1 @@
|
||||||
|
ERROR
|
|
@ -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
|
||||||
|
```
|
||||||
|
|
||||||
|
|
0
adventure/games/Ilan.doumenc@ynov.com/rooms/start.sh → adventure/games/ilan.doumenc@ynov.com/rooms/start.sh
Normal file → Executable file
0
adventure/games/Ilan.doumenc@ynov.com/rooms/start.sh → adventure/games/ilan.doumenc@ynov.com/rooms/start.sh
Normal file → Executable file
|
@ -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
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 135 KiB |
|
@ -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
|
|
@ -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
|
|
@ -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.
|
|
@ -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
|
||||||
|
|
|
@ -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
|
|
@ -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
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,72 +1,172 @@
|
||||||
#!/bin/bash
|
#!/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
|
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
|
sleep 1
|
||||||
|
|
||||||
# Here's where you introduce the room to the player. Be sure to tell them if there
|
afficher_histoire "Bienvenue dans l'aventure d'un jeune pirate informatique !"
|
||||||
# Are exits - but don't give too much away. Make it fun for them to explore!
|
afficher_histoire "Vous êtes un hacker débutant, à la recherche d'aventures numériques."
|
||||||
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.
|
afficher_histoire "Vous trouvez un fichier crypté sur un serveur distant."
|
||||||
while true; do
|
poser_question "Voulez-vous essayer de décrypter le fichier ? (oui/non)"
|
||||||
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
|
if [ "$reponse" == "oui" ]; then
|
||||||
exit
|
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 !"
|
||||||
|
|
|
@ -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 !"
|
|
|
@ -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
|
||||||
|
|
||||||
|
```
|
|
@ -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.
|
||||||
|
|
||||||
|
```
|
0
adventure/games/Tuuake.jessop@ynov.com/Config.sh → adventure/games/tuuake.jessop@ynov.com/rooms/Config.sh
Normal file → Executable file
0
adventure/games/Tuuake.jessop@ynov.com/Config.sh → adventure/games/tuuake.jessop@ynov.com/rooms/Config.sh
Normal file → Executable file
8
adventure/games/Tuuake.jessop@ynov.com/Puissance4.sh → adventure/games/tuuake.jessop@ynov.com/rooms/Puissance4.sh
Normal file → Executable file
8
adventure/games/Tuuake.jessop@ynov.com/Puissance4.sh → adventure/games/tuuake.jessop@ynov.com/rooms/Puissance4.sh
Normal file → Executable file
|
@ -5,9 +5,13 @@
|
||||||
# Version: 1.0
|
# Version: 1.0
|
||||||
# Cours de scripting M1 Master Cyberséc
|
# Cours de scripting M1 Master Cyberséc
|
||||||
################################################################################
|
################################################################################
|
||||||
|
MY_PATH="`dirname \"$0\"`" # relative
|
||||||
|
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
|
||||||
|
|
||||||
source ./Config.sh
|
ME="${0##*/}"
|
||||||
source ./fonctions.sh
|
|
||||||
|
source $MY_PATH/Config.sh
|
||||||
|
source $MY_PATH/fonction.sh
|
||||||
|
|
||||||
initialiser_plateau
|
initialiser_plateau
|
||||||
|
|
2
adventure/games/Tuuake.jessop@ynov.com/fonction.sh → adventure/games/tuuake.jessop@ynov.com/rooms/fonction.sh
Normal file → Executable file
2
adventure/games/Tuuake.jessop@ynov.com/fonction.sh → adventure/games/tuuake.jessop@ynov.com/rooms/fonction.sh
Normal file → Executable file
|
@ -1,5 +1,5 @@
|
||||||
# fonctions.sh
|
# fonctions.sh
|
||||||
source config.sh
|
source Config.sh
|
||||||
|
|
||||||
initialiser_plateau() {
|
initialiser_plateau() {
|
||||||
for ((i = 0; i < ROWS * COLS; i++)); do
|
for ((i = 0; i < ROWS * COLS; i++)); do
|
1
adventure/games/Tuuake.jessop@ynov.com/Menu.sh → adventure/games/tuuake.jessop@ynov.com/rooms/start.sh
Normal file → Executable file
1
adventure/games/Tuuake.jessop@ynov.com/Menu.sh → adventure/games/tuuake.jessop@ynov.com/rooms/start.sh
Normal file → Executable file
|
@ -14,6 +14,7 @@ while true; do
|
||||||
clear
|
clear
|
||||||
echo "Vous avez choisi Puissance 4."
|
echo "Vous avez choisi Puissance 4."
|
||||||
# Ajoutez le code pour exécuter Puissance 4 ici
|
# Ajoutez le code pour exécuter Puissance 4 ici
|
||||||
|
./Puissance4.sh
|
||||||
;;
|
;;
|
||||||
2)
|
2)
|
||||||
clear
|
clear
|
|
@ -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.
|
Binary file not shown.
After Width: | Height: | Size: 39 KiB |
Loading…
Reference in New Issue