Merge pull request #28 from IlanDoumenc/master
Add my game in Adventure/mygame
This commit is contained in:
commit
f34dcf18dc
|
@ -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
|
Loading…
Reference in New Issue