réglage de bugs
This commit is contained in:
parent
0e953757e3
commit
6154d5ca0a
|
@ -67,6 +67,9 @@ Il faut installer ''' sudo apt install xdg-utils ''' ainsi que ''' sudo apt inst
|
||||||
|
|
||||||
Le levier ne fonctionne pas, « ACTIVATION STATION » mais rien ne se passe.
|
Le levier ne fonctionne pas, « ACTIVATION STATION » mais rien ne se passe.
|
||||||
|
|
||||||
|
c'est parce que le script ne se souvient que du premiere appel du levier donc il faut le lui rappeller juste après l'action avec :
|
||||||
|
|
||||||
|
leverstate=$(cat $MY_PATH/../logic/leverlogic.ben)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -13,23 +13,22 @@ done <"$file1"
|
||||||
echo
|
echo
|
||||||
|
|
||||||
# It's script time again...
|
# It's script time again...
|
||||||
sleep 1
|
|
||||||
echo "Vous pénétrez à l'intérieur de l'Astroport."
|
echo "Vous pénétrez à l'intérieur de l'Astroport."
|
||||||
echo
|
echo
|
||||||
sleep 3
|
|
||||||
echo "Une voix synthétique vous accueille."
|
echo "Une voix synthétique vous accueille."
|
||||||
espeak "Welcome. Please Identify." > /dev/null 2>&1
|
espeak "Welcome. Please Identify." > /dev/null 2>&1
|
||||||
echo
|
echo
|
||||||
echo "Vous parcourez l'espace du regard"
|
echo "Vous parcourez l'espace du regard"
|
||||||
echo "Au nord, face à vous se trouve un foyer où brule un feu."
|
echo "Au nord, face à vous se trouve un foyer où brule un feu."
|
||||||
echo
|
echo
|
||||||
sleep 3
|
|
||||||
echo "A l'ouest sont suspendus tuyaux, ustensiles et bocaux. Une cuisine?"
|
echo "A l'ouest sont suspendus tuyaux, ustensiles et bocaux. Une cuisine?"
|
||||||
echo "A l'est il y a un genre de 'photomaton' "
|
echo "A l'est il y a un genre de 'photomaton' "
|
||||||
sleep 2
|
echo
|
||||||
echo "Derrière vous, la porte par où vous êtes entré est encore ouverte."
|
echo "Derrière vous, la porte par où vous êtes entré est encore ouverte."
|
||||||
echo
|
echo
|
||||||
echo "Que voulez vous faire?"
|
echo "Que voulez vous faire?"
|
||||||
|
echo
|
||||||
|
echo "Il y a également un ordinateur au millieu de la pièce avec l'inscription : 'Appuyez sur U pour lancer le jeu'"
|
||||||
|
|
||||||
# And once again the room logic.
|
# And once again the room logic.
|
||||||
|
|
||||||
|
|
|
@ -1,40 +1,52 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
clear
|
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
|
# Initialise the Title Art
|
||||||
file1="titleart.ben"
|
file1="../art/titleart.ben"
|
||||||
while IFS= read -r line
|
while IFS= read -r line
|
||||||
do
|
do
|
||||||
echo "$line"
|
echo "$line"
|
||||||
done <"$file1"
|
done <"$file1"
|
||||||
echo
|
echo
|
||||||
|
|
||||||
# So here's a little story all about how this script got flip-turned upside down...
|
# It's script time again...
|
||||||
sleep 1
|
echo "Vous parcourez l'espace du regard"
|
||||||
echo "You're in a corridor, but it's quite a small one. You got here"
|
echo "Au nord, face à vous se trouve un foyer où brule un feu."
|
||||||
echo "the first time by hugging a statue of a kitten. Standard."
|
|
||||||
echo
|
echo
|
||||||
echo "You see a glow coming from the rooms to your east and west, and"
|
echo "A l'ouest sont suspendus tuyaux, ustensiles et bocaux. Une cuisine?"
|
||||||
echo "there's a big, old looking door to the south of you."
|
echo "A l'est il y a un genre de 'photomaton' "
|
||||||
echo
|
echo
|
||||||
echo "What would you like to do?"
|
echo "Derrière vous, la porte par où vous êtes entré est encore ouverte."
|
||||||
|
echo
|
||||||
|
echo "Que voulez vous faire?"
|
||||||
|
echo
|
||||||
|
echo "Il y a toujours l'ordinateur au millieu de la pièce avec l'inscription : 'Appuyez sur U pour lancer le jeu'"
|
||||||
|
|
||||||
# Imma let you finish, but here's the room choices.
|
# And once again the room logic.
|
||||||
|
|
||||||
while true; do
|
while true; do
|
||||||
read -p "> " nsewuh
|
read -p "> " nsewuh
|
||||||
case $nsewuh in
|
case $nsewuh in
|
||||||
n ) echo "You faceplant the wall. Idiot." ;;
|
n ) echo "Vous vous asseyez sur le grand tapis devant le feu. Vous vous relaxez un instant."
|
||||||
|
./magic8.sh
|
||||||
|
;;
|
||||||
s ) ./bigroom.sh
|
s ) ./bigroom.sh
|
||||||
exit ;;
|
exit ;;
|
||||||
e ) ./gameroom.sh
|
e ) ./gameroom.sh
|
||||||
exit ;;
|
exit ;;
|
||||||
w ) ./grue.sh
|
w ) ./grue.sh
|
||||||
exit ;;
|
exit ;;
|
||||||
u ) echo "There's nothing you can use right here." ;;
|
u ) echo "Vous tapotez sur le barmoètre. Une photo satellite?"
|
||||||
h ) echo "After hugging that cat you aren't sure you should try to hug yourself again." ;;
|
./meteofrance.sh
|
||||||
* ) echo "I'm sorry, I don't understand you. Commands are: n, e, s, w, u and h.";;
|
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
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
esac
|
esac
|
||||||
exit
|
exit
|
||||||
|
|
|
@ -14,7 +14,6 @@ done <"$file1"
|
||||||
echo
|
echo
|
||||||
|
|
||||||
# Shakesphere wrote this, honest.
|
# Shakesphere wrote this, honest.
|
||||||
sleep 1
|
|
||||||
echo "Vous êtes de retour à votre point de départ."
|
echo "Vous êtes de retour à votre point de départ."
|
||||||
echo "La forêt qui vous entoure est immense."
|
echo "La forêt qui vous entoure est immense."
|
||||||
echo "Vous ne pouvez pas vraiment en imaginer la taille,"
|
echo "Vous ne pouvez pas vraiment en imaginer la taille,"
|
||||||
|
|
|
@ -1,58 +1,216 @@
|
||||||
#!/bin/bash
|
#!/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
|
# Fonction pour afficher l'interface du jeu
|
||||||
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
|
draw_game() {
|
||||||
ME="${0##*/}"
|
clear
|
||||||
|
for ((i = 0; i < height; i++)); do
|
||||||
|
for ((j = 0; j < width; j++)); do
|
||||||
|
if [[ $i -eq 0 || $i -eq $((height - 1)) || $j -eq 0 || $j -eq $((width - 1)) ]]; then
|
||||||
|
echo -e "\033[1;34m#\033[0m\c"
|
||||||
|
elif [[ $i -eq $fruit_row && $j -eq $fruit_col ]]; then
|
||||||
|
echo -e "\033[1;31m@\033[0m\c"
|
||||||
|
else
|
||||||
|
local is_snake_segment=false
|
||||||
|
for ((k = 0; k < ${#snake_body_rows[@]}; k++)); do
|
||||||
|
if [[ $i -eq ${snake_body_rows[$k]} && $j -eq ${snake_body_cols[$k]} ]]; then
|
||||||
|
echo -e "\033[1;32m#\033[0m\c"
|
||||||
|
is_snake_segment=true
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if [[ $is_snake_segment == false ]]; then
|
||||||
|
echo -e " \c"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
## TEST IPFS
|
# Initialisation des variables
|
||||||
[[ ! $(which ipfs) ]] && echo "Missing IPFS. Please install... https://ipfs.tech" && exit 1
|
height=20
|
||||||
|
width=40
|
||||||
|
snake_body_rows=()
|
||||||
|
snake_body_cols=()
|
||||||
|
snake_length=1
|
||||||
|
direction="RIGHT"
|
||||||
|
fruit_row=$((RANDOM % (height - 2) + 1))
|
||||||
|
fruit_col=$((RANDOM % (width - 2) + 1))
|
||||||
|
|
||||||
## PREPARE FILE SYSTEM CACHE
|
# Position initiale du serpent
|
||||||
mkdir -p ~/.zen/adventure/meteo.anim.eu
|
snake_body_rows[0]=$((height / 2))
|
||||||
rm -f ~/.zen/adventure/meteo.anim.eu/meteo.png
|
snake_body_cols[0]=$((width / 2))
|
||||||
|
|
||||||
## SCRAPING meteo.png
|
# Fonction pour déplacer le serpent
|
||||||
curl -m 20 --output ~/.zen/adventure/meteo.anim.eu/meteo.png https://s.w-x.co/staticmaps/wu/wu/satir1200_cur/europ/animate.png
|
move_snake() {
|
||||||
|
local i
|
||||||
|
for ((i = ${#snake_body_rows[@]} - 1; i > 0; i--)); do
|
||||||
|
snake_body_rows[$i]=${snake_body_rows[$((i - 1))]}
|
||||||
|
snake_body_cols[$i]=${snake_body_cols[$((i - 1))]}
|
||||||
|
done
|
||||||
|
|
||||||
if [[ ! -f ~/.zen/adventure/meteo.anim.eu/meteo.png ]]; then
|
case $direction in
|
||||||
|
"UP")
|
||||||
|
snake_body_rows[0]=$((snake_body_rows[0] - 1))
|
||||||
|
;;
|
||||||
|
"DOWN")
|
||||||
|
snake_body_rows[0]=$((snake_body_rows[0] + 1))
|
||||||
|
;;
|
||||||
|
"LEFT")
|
||||||
|
snake_body_cols[0]=$((snake_body_cols[0] - 1))
|
||||||
|
;;
|
||||||
|
"RIGHT")
|
||||||
|
snake_body_cols[0]=$((snake_body_cols[0] + 1))
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
echo "Impossible de se connecter au service meteo"
|
# Fonction pour vérifier les collisions
|
||||||
exit 1
|
check_collision() {
|
||||||
|
if [[ ${snake_body_rows[0]} -le 0 || ${snake_body_rows[0]} -ge $((height - 1)) || ${snake_body_cols[0]} -le 0 || ${snake_body_cols[0]} -ge $((width - 1)) ]]; then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
else
|
for ((i = 1; i < ${#snake_body_rows[@]}; i++)); do
|
||||||
|
if [[ ${snake_body_rows[0]} -eq ${snake_body_rows[$i]} && ${snake_body_cols[0]} -eq ${snake_body_cols[$i]} ]]; then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
echo "Mise à jour archive meteo : ${MOATS}"
|
if [[ ${snake_body_rows[0]} -eq $fruit_row && ${snake_body_cols[0]} -eq $fruit_col ]]; then
|
||||||
echo ${MOATS} > ~/.zen/adventure/meteo.anim.eu/.moats
|
generate_fruit
|
||||||
|
grow_snake
|
||||||
|
fi
|
||||||
|
|
||||||
OLDID=$(cat ~/.zen/adventure/.meteo.index 2>/dev/null)
|
return 0
|
||||||
# TODO : COMPARE SIMILAR OR NOT
|
}
|
||||||
# ipfs get "/ipfs/$OLDID/meteo.anim.eu/meteo.png"
|
|
||||||
|
|
||||||
## PREPARE NEW index.html
|
# Fonction pour faire grandir le serpent
|
||||||
sed "s/_OLDID_/$OLDID/g" ${MY_PATH}/../templates/meteo_chain.html > /tmp/index.html
|
grow_snake() {
|
||||||
sed -i "s/_IPFSID_/$IPFSID/g" /tmp/index.html
|
local last_index=$(( ${#snake_body_rows[@]} - 1 ))
|
||||||
sed -i "s/_DATE_/$(date -u "+%Y-%m-%d#%H:%M:%S")/g" /tmp/index.html
|
local last_row=${snake_body_rows[$last_index]}
|
||||||
sed "s/_PSEUDO_/${USER}/g" /tmp/index.html > ~/.zen/adventure/index.html
|
local last_col=${snake_body_cols[$last_index]}
|
||||||
|
snake_body_rows+=($last_row)
|
||||||
|
snake_body_cols+=($last_col)
|
||||||
|
}
|
||||||
|
|
||||||
# Copy style css
|
# Fonction pour générer un nouveau fruit
|
||||||
cp -r ${MY_PATH}/../templates/styles ~/.zen/adventure/
|
generate_fruit() {
|
||||||
|
fruit_row=$((RANDOM % (height - 2) + 1))
|
||||||
|
fruit_col=$((RANDOM % (width - 2) + 1))
|
||||||
|
}
|
||||||
|
|
||||||
INDEXID=$(ipfs add -rHq ~/.zen/adventure/* | tail -n 1)
|
# Boucle principale du jeu
|
||||||
echo $INDEXID > ~/.zen/adventure/.meteo.index
|
while true; do
|
||||||
echo "METEO INDEX : http://127.0.0.1:8080/ipfs/$INDEXID"
|
draw_game
|
||||||
|
echo "Score: ${#snake_body_rows[@]}"
|
||||||
|
|
||||||
IPFS=$(ipfs add -q ~/.zen/adventure/meteo.anim.eu/meteo.png | tail -n 1)
|
# Appel à la fonction move_snake pour que le serpent avance automatiquement
|
||||||
echo $IPFS > ~/.zen/adventure/meteo.anim.eu/.chain
|
move_snake
|
||||||
|
|
||||||
fi
|
read -s -t 0.2 -n 1 action
|
||||||
|
|
||||||
|
case $action in
|
||||||
|
"z")
|
||||||
|
if [[ $direction != "DOWN" ]]; then
|
||||||
|
direction="UP"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"s")
|
||||||
|
if [[ $direction != "UP" ]]; then
|
||||||
|
direction="DOWN"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"q")
|
||||||
|
if [[ $direction != "RIGHT" ]]; then
|
||||||
|
direction="LEFT"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"d")
|
||||||
|
if [[ $direction != "LEFT" ]]; then
|
||||||
|
direction="RIGHT"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Vérifier les collisions après le déplacement
|
||||||
|
check_collision
|
||||||
|
if [[ $? -eq 1 ]]; then
|
||||||
|
echo "Bravo ! Vous avez eu le score de ${#snake_body_rows[@]} ! Appuyez sur \"q\" pour quitter le jeu ou sur \"r\" pour rejouer"
|
||||||
|
read -n 1 -s choice
|
||||||
|
case $choice in
|
||||||
|
q)
|
||||||
|
./kroo2.sh
|
||||||
|
;;
|
||||||
|
r)
|
||||||
|
./meteofrance.sh
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Choix non reconnu."
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# #!/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
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue