Astroport.ONE/adventure/adventure.sh

94 lines
3.1 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
###################################################################
# This Launch script is based on BashVenture.
#
# Remember, kids - sharing is caring! Keep it open. Spread the love.
# - @BenNunney
# Thanks and gratitude to all living creatures and the whole creation.
# - @Fred
# $AGE×365,25×24×60×60×9,807÷299792458 = RELATIVE LIGHT GRAVITY SPEED
###################################################################
# Guide avancé d'écriture des scripts Bash : https://abs.traduc.org/abs-fr/
# GAMESHELL : https://github.com/phyver/GameShell/
###################################################################
MY_PATH="`dirname \"$0\"`" # relative
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
ME="${0##*/}"
###################################################################
### CREER VOTRE PROPRE VERSION DU JEU
### List games/E@MAIL/ directories
## ADD PROPOSAL ON THE METHOD
GAMES_DIR="games"
GAMES=$(find "$GAMES_DIR" -mindepth 1 -maxdepth 1 -type d -exec basename {} \;)
GAMES=$(ls $MY_PATH/games/)
GAMES=($(ls -d $MY_PATH/games/))
# Above methods are breaking with games names containing SPACE !
# BASH is CREOLE
# this cd *@* METHOD resist to " " space
cd ${MY_PATH}/games \
&& GAMES=(".." *@*) && cd .. \
|| GAMES=".."
## but can still be fooled by file...
## personalisez le prompt
PS3="CHOIX DU GAME : __ "
select game in "${GAMES[@]}"; do
# MY_GAME is the absolute path to selected game files
MY_GAME="$MY_PATH/games/$game"
echo "SELECTION: "${MY_GAME}
diff --recursive --brief ${MY_GAME}/ ${MY_GAME}/../_votre\ jeu/
echo "confirm ?"
read ENTER
if [[ ! $ENTER ]]; then
# test game start protocol compatibility
if [[ -x ${MY_GAME}/rooms/start.sh ]]; then
sleep 1
echo "Charging game..."
sleep 1
break
else
# not compatible
echo "ERROR - not compatible game - SELECT ANOTHER - "
fi
else
echo "CHOOSE NEXT"
fi
done
########################################
# copy game files to user specific executable space
# $HOME/.zen/adventure/$newplayer
########################################
homefolder=$(pwd)
newplayer=$(head /dev/urandom | tr -dc 'A-Za-z0-9' | head -c 10)
## Copy Player Game Files
mkdir -p $HOME/.zen/adventure/$newplayer
cp -r ${MY_GAME}/rooms $HOME/.zen/adventure/$newplayer/rooms
cp -r ${MY_GAME}/art $HOME/.zen/adventure/$newplayer/art
cp -r ${MY_GAME}/script $HOME/.zen/adventure/$newplayer/script
cp -r ${MY_GAME}/logic $HOME/.zen/adventure/$newplayer/logic
###################################################################
echo "Loading... $newplayer/rooms/start.sh"
echo
sleep 2
###################################################################
cd $HOME/.zen/adventure/$newplayer/rooms
./start.sh
###################################################################
# cleaning game files
cd "$homefolder"
rm -r $HOME/.zen/adventure/$newplayer
echo "To continue..."
exit