diff --git a/main.sh b/main.sh index 7e1db3ee5f5c8a6a61b17fdac805f5c5f86e4e44..83c81105dd9022ca3f34e83cc08cd43daf662ecc 100755 --- a/main.sh +++ b/main.sh @@ -11,6 +11,7 @@ source demander_case_user.sh source getCase.sh source updateCase.sh source checkTir.sh +source verifier_case_user.sh function main { initialisation @@ -23,10 +24,12 @@ function main { clear while [ $bateau_restant1 -ne 0 ]||[ $bateau_restant2 -ne 0 ] do - case_vise=$(demander_case 1) - colonne_vise=${$case_vise:0:1} - ligne_vise=${$case_vise:1:1} - etat=checkTir $colonne_vise $ligne_vise 2 + affiche_plateau $plateau_h $plateau_w 1 2 + case_vise="$(verif_placement_cases 1)" + echo $case_vise + colonne_vise=${case_vise:0:1} + ligne_vise=${case_vise:1:1} + etat=$(checkTir $colonne_vise $ligne_vise 2) #32 if [ $etat -eq 1 ] then echo "Touché" @@ -36,17 +39,19 @@ function main { fi read -p "Appuyer sur n'importe quelle touche pour passer au joueur 2" clear - case_vise=$(demander_case 2) - colonne_vise=${$case_vise:0:1} - ligne_vise=${$case_vise:1:1} - etat=checkTir $colonne_vise $ligne_vise 1 + affiche_plateau $plateau_h $plateau_w 2 1 + case_vise=$(verif_placement_cases 2) + echo "$case_vise" + colonne_vise=${case_vise:0:1} + ligne_vise=${case_vise:1:1} + etat=$(checkTir $colonne_vise $ligne_vise 1) if [ $etat -eq 1 ] then echo "Touché" bateau_restant1=$(($bateau_restant1 - 1)) else echo "Raté!" - fi + fi read -p "Appuyer sur n'importe quelle touche pour passer au joueur 1" clear done diff --git a/verifier_case_user.sh b/verifier_case_user.sh old mode 100644 new mode 100755 index 347006cc785f9ad097c2b0923f34acf85a1c520b..41a6ceb9779acdfb0af86b182ab53cb33da7a7d2 --- a/verifier_case_user.sh +++ b/verifier_case_user.sh @@ -1,31 +1,24 @@ #! /usr/bin/env bash source ./getCase.sh - -verif_placement_navires() { +# Numero joueur +verif_placement_cases() { joueur=$1 - echo "Joueur $joueur, veuillez placer vos navires sur le plateau." - - for i_case in {1..5} - do - echo "Veuillez placer un navire. Navire $i_case/5" read -p "Coordonnées : " coordonnees - while true - do colonne=${coordonnees:0:1} ligne=${coordonnees:1:1} - etat=$(getCase $colonne $ligne $joueur) - if [[ $colonne = [A-$plateau_w] ]] && [[ $ligne -ge 1 ]] && [[ $ligne -le $plateau_h ]] && [[ $etat = 0 ]] - then - echo "$coordonnees" - else - echo "Erreur : format de coordonnées incorrect ou emplacement déjà choisi. Veuillez choisir un emplacement vide et entrez des coordonnées valides (par exemple, A1)." > /dev/stderr - fi - read -p "Coordonnées (par exemple, A1) : " coordonnees - done - - - done + while true + do + if [[ $colonne = [A-J] ]] && [[ $ligne -ge 1 ]] && [[ $ligne -le $plateau_h ]] + then + echo $coordonnees > /dev/stderr + echo $coordonnees + break + else + echo "Erreur : format de coordonnées incorrect ou emplacement déjà choisi. Veuillez choisir un emplacement vide et entrez des coordonnées valides (par exemple, A1)." > /dev/stderr + fi + read -p "Coordonnées (par exemple, A1) : " coordonnees + done }