forked from STI/Astroport.ONE
199 lines
6.5 KiB
Bash
199 lines
6.5 KiB
Bash
|
|
||
|
#!/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
|
||
|
|
||
|
|