diff --git a/adventure/games/votrejeu/script/Ilan.doumenc@ynov.com.sh b/adventure/games/votrejeu/script/Ilan.doumenc@ynov.com.sh new file mode 100644 index 00000000..6da836f6 --- /dev/null +++ b/adventure/games/votrejeu/script/Ilan.doumenc@ynov.com.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +# Initialisation du plateau de jeu +declare -a board +for i in {0..8}; do + board[$i]=$i +done + +# Affichage du plateau de jeu +function display_board { + echo " ${board[0]} | ${board[1]} | ${board[2]} " + echo "---|---|---" + echo " ${board[3]} | ${board[4]} | ${board[5]} " + echo "---|---|---" + echo " ${board[6]} | ${board[7]} | ${board[8]} " +} + +# Vérification de la victoire +function check_win { + local player=$1 + local symbol=$2 + if [[ "${board[0]}" == "$symbol" && "${board[1]}" == "$symbol" && "${board[2]}" == "$symbol" ]] || + [[ "${board[3]}" == "$symbol" && "${board[4]}" == "$symbol" && "${board[5]}" == "$symbol" ]] || + [[ "${board[6]}" == "$symbol" && "${board[7]}" == "$symbol" && "${board[8]}" == "$symbol" ]] || + [[ "${board[0]}" == "$symbol" && "${board[3]}" == "$symbol" && "${board[6]}" == "$symbol" ]] || + [[ "${board[1]}" == "$symbol" && "${board[4]}" == "$symbol" && "${board[7]}" == "$symbol" ]] || + [[ "${board[2]}" == "$symbol" && "${board[5]}" == "$symbol" && "${board[8]}" == "$symbol" ]] || + [[ "${board[0]}" == "$symbol" && "${board[4]}" == "$symbol" && "${board[8]}" == "$symbol" ]] || + [[ "${board[2]}" == "$symbol" && "${board[4]}" == "$symbol" && "${board[6]}" == "$symbol" ]]; then + echo "Le joueur $player ($symbol) gagne !" + exit + fi + if ! (echo ${board[@]} | grep -q '[0-8]'); then + echo "Match nul !" + exit + fi +} + +# Boucle de jeu principale +player=1 +symbol="X" +while true; do + display_board + echo "Joueur $player: Choisissez une position (0-8) pour le symbole $symbol:" + read -r pos + if ! [[ $pos =~ ^[0-8]$ ]] || [[ ! ${board[$pos]} =~ ^[0-8]$ ]]; then + echo "Entrée invalide, veuillez réessayer." + continue + fi + board[$pos]=$symbol + check_win $player $symbol + if [ "$symbol" == "X" ]; then + symbol="O" + player=2 + else + symbol="X" + player=1 + fi +done