+wc-tech-tui
This commit is contained in:
parent
a86cdb9341
commit
724d07e6fb
2 changed files with 160 additions and 0 deletions
67
wc-tech/wc-tech-tui.sh
Executable file
67
wc-tech/wc-tech-tui.sh
Executable file
|
@ -0,0 +1,67 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Fonction pour choisir une technique aléatoire
|
||||
choose_technique() {
|
||||
local techniques_file="$1"
|
||||
shuf -n 1 "$techniques_file"
|
||||
}
|
||||
|
||||
# Fonction pour afficher les techniques en fonction du pattern
|
||||
display_techniques() {
|
||||
local techniques_file="$1"
|
||||
local pattern="$2"
|
||||
IFS='+' read -ra pattern_array <<< "$pattern"
|
||||
for p in "${pattern_array[@]}"; do
|
||||
technique=""
|
||||
if [[ "$p" -eq 0 ]]; then
|
||||
technique=$(grep ",0$" "$techniques_file" | shuf -n 1 | cut -d',' -f1)
|
||||
echo "Défensive : $technique"
|
||||
elif [[ "$p" -eq 1 ]]; then
|
||||
technique=$(grep ",1$" "$techniques_file" | shuf -n 1 | cut -d',' -f1)
|
||||
echo "Offensive : $technique"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# Main
|
||||
techniques_file="techniques.csv"
|
||||
|
||||
while true; do
|
||||
choice=$(whiptail --title "Menu" --menu "Choisissez une option" 15 60 6 \
|
||||
"1" "Défense + Attaque" \
|
||||
"2" "Défense + Défense" \
|
||||
"3" "Défense + Défense + Attaque" \
|
||||
"4" "Défense + Attaque + Défense + Attaque" \
|
||||
"5" "Pattern personnalisé" \
|
||||
"0" "Quitter" 3>&1 1>&2 2>&3)
|
||||
|
||||
case "$choice" in
|
||||
1)
|
||||
pattern="0+1"
|
||||
;;
|
||||
2)
|
||||
pattern="0+0"
|
||||
;;
|
||||
3)
|
||||
pattern="0+0+1"
|
||||
;;
|
||||
4)
|
||||
pattern="0+1+0+1"
|
||||
;;
|
||||
5)
|
||||
pattern=$(whiptail --inputbox "Entrez le pattern personnalisé (par exemple '1+0+0+1')" 8 60 3>&1 1>&2 2>&3)
|
||||
;;
|
||||
0)
|
||||
whiptail --msgbox "Au revoir !" 8 45
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
whiptail --msgbox "Option invalide. Veuillez choisir une option valide." 8 45
|
||||
continue
|
||||
;;
|
||||
esac
|
||||
|
||||
result=$(display_techniques "$techniques_file" "$pattern")
|
||||
whiptail --msgbox "$result" 20 70
|
||||
|
||||
done
|
93
wc-tech/wc-tech-tui2.sh
Executable file
93
wc-tech/wc-tech-tui2.sh
Executable file
|
@ -0,0 +1,93 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Définir les associations de techniques
|
||||
declare -A associations
|
||||
associations["tan sao,fak sao"]=1
|
||||
associations["pak sao,chun kuen"]=1
|
||||
associations["bong sao,biu jee"]=1
|
||||
associations["gam sao,chin chun"]=1
|
||||
associations["jam sao,fak sao"]=1
|
||||
associations["kao sao,chum sao"]=1
|
||||
|
||||
# Fonction pour choisir une technique aléatoire
|
||||
choose_technique() {
|
||||
local techniques_file="$1"
|
||||
shuf -n 1 "$techniques_file"
|
||||
}
|
||||
|
||||
# Fonction pour afficher les techniques en fonction du pattern
|
||||
display_techniques() {
|
||||
local techniques_file="$1"
|
||||
local pattern="$2"
|
||||
local previous_defensive=""
|
||||
|
||||
IFS='+' read -ra pattern_array <<< "$pattern"
|
||||
for p in "${pattern_array[@]}"; do
|
||||
technique=""
|
||||
if [[ "$p" -eq 0 ]]; then
|
||||
technique=$(grep ",0$" "$techniques_file" | shuf -n 1 | cut -d',' -f1)
|
||||
previous_defensive="$technique"
|
||||
echo "Défensive : $technique"
|
||||
elif [[ "$p" -eq 1 ]]; then
|
||||
if [[ -n "$previous_defensive" ]]; then
|
||||
possible_offensive=$(grep ",1$" "$techniques_file" | cut -d',' -f1)
|
||||
for offensive in $possible_offensive; do
|
||||
if [[ "${associations["$previous_defensive,$offensive"]}" -eq 1 ]]; then
|
||||
technique="$offensive"
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [[ -z "$technique" ]]; then
|
||||
technique=$(grep ",1$" "$techniques_file" | shuf -n 1 | cut -d',' -f1)
|
||||
fi
|
||||
else
|
||||
technique=$(grep ",1$" "$techniques_file" | shuf -n 1 | cut -d',' -f1)
|
||||
fi
|
||||
echo "Offensive : $technique"
|
||||
previous_defensive=""
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# Main
|
||||
techniques_file="techniques.csv"
|
||||
|
||||
while true; do
|
||||
choice=$(whiptail --title "Menu" --menu "Choisissez une option" 15 60 6 \
|
||||
"1" "Défense + Attaque" \
|
||||
"2" "Défense + Défense" \
|
||||
"3" "Défense + Défense + Attaque" \
|
||||
"4" "Défense + Attaque + Défense + Attaque" \
|
||||
"5" "Pattern personnalisé" \
|
||||
"0" "Quitter" 3>&1 1>&2 2>&3)
|
||||
|
||||
case "$choice" in
|
||||
1)
|
||||
pattern="0+1"
|
||||
;;
|
||||
2)
|
||||
pattern="0+0"
|
||||
;;
|
||||
3)
|
||||
pattern="0+0+1"
|
||||
;;
|
||||
4)
|
||||
pattern="0+1+0+1"
|
||||
;;
|
||||
5)
|
||||
pattern=$(whiptail --inputbox "Entrez le pattern personnalisé (par exemple '1+0+0+1')" 8 60 3>&1 1>&2 2>&3)
|
||||
;;
|
||||
0)
|
||||
whiptail --msgbox "Au revoir !" 8 45
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
whiptail --msgbox "Option invalide. Veuillez choisir une option valide." 8 45
|
||||
continue
|
||||
;;
|
||||
esac
|
||||
|
||||
result=$(display_techniques "$techniques_file" "$pattern")
|
||||
whiptail --msgbox "$result" 20 70
|
||||
|
||||
done
|
Loading…
Reference in a new issue