#!/bin/bash

clear

RESETC="$(tput sgr0)"

#ROUGE
RED="$(tput setaf 1)"

#JAUNE
YELLOW="$(tput setaf 3)"

>> save.txt

colonne=1

tour=0

bloque=0

choix=0

alignement=0

verif=0

playerr=0

playerj=0

nom1=0

nom2=0

sauvegarde1=0
sauvegarde2=0
sauvegarde3=0
sauvegarde4=0
sauvegarde5=0
sauvegarde6=0
sauvegarde7=0
sauvegarde8=0
sauvegarde9=0
sauvegarde10=0
sauvegarde11=0
sauvegarde12=0
sauvegarde13=0

GRILLE0=('_' '_' '_' '_' '_' '_' '_')
TOUR0=('_' '_' '_' '_' '_' '_' '_')

GRILLE1=('_' '_' '_' '_' '_' '_' '_')
TOUR1=('_' '_' '_' '_' '_' '_' '_')

GRILLE2=('_' '_' '_' '_' '_' '_' '_')
TOUR2=('_' '_' '_' '_' '_' '_' '_')

GRILLE3=('_' '_' '_' '_' '_' '_' '_')
TOUR3=('_' '_' '_' '_' '_' '_' '_')

GRILLE4=('_' '_' '_' '_' '_' '_' '_')
TOUR4=('_' '_' '_' '_' '_' '_' '_')

GRILLE5=('_' '_' '_' '_' '_' '_' '_')
TOUR5=('_' '_' '_' '_' '_' '_' '_')

echo "---------------"
echo "| PUISSANCE 4 |"
echo "---------------"

echo ""
echo "1. Nouvelle Partie"
echo "2. Charger Partie"
echo "3. Quitter"

echo ""
echo "Que choisissez-vous ?"
read -r choix

if [ "$choix" -eq 3 ]; then

	exit

elif [ "$choix" -eq 1 ]; then

	> save.txt

elif [ "$choix" -eq 2 ]; then

#	cat save.txt | awk -f '{print $GRILLE5=$1 GRILLE4=$2 GRILLE3=$3 GRILLE2=$4 GRILLE1=$5 GRILLE0=$6 TOUR5=$7 TOUR4=$8 TOUR3=$9 TOUR2=$10 TOUR1=$11 TOUR0=$12 tour=$13}'>>save.txt
#	while IFS='\n' read -a ligne
#		do
#		${GRILLE5}=${ligne[1]}
#		${GRILLE4}=${ligne[2]}
#		${GRILLE3}=${ligne[3]}
#		${GRILLE2}=${ligne[4]}
#       ${GRILLE1}=${ligne[5]}
#       ${GRILLE0}=${ligne[6]}
#		${TOUR5}=${ligne[7]}
#       ${TOUR4}=${ligne[8]}
#       ${TOUR3}=${ligne[9]}
#       ${TOUR2}=${ligne[10]}
#       ${TOUR1}=${ligne[11]}
#       ${TOUR0}=${ligne[12]}
#		$tour=${ligne[13]}
#	done

	awk -f save.txt
	echo $0
fi

echo ""
echo "Rentrez le nom du joueur 1 : "
read nom1

echo ""
echo "Rentrez le nom du joueur 2 :"
read nom2 


echo ${GRILLE5[*]}
echo ${GRILLE4[*]}
echo ${GRILLE3[*]}
echo ${GRILLE2[*]}
echo ${GRILLE1[*]}
echo ${GRILLE0[*]}

echo ""
echo $nom1 "Rouge : " $playerr " coups" 
echo $nom2 "Jaune : " $playerj " coups"
echo ""

until [ "$colonne" -le 0 ]; do
	echo "Dans quelle colonne voulez-vous jouer ?"
	echo "0 pour quitter"
	read -r colonne

	if [ "$colonne" -ge 1 ]; then
		if [ "$colonne" -le 7 ]; then 
			echo "Vous avez joue a la colonne $colonne"
			
			if [ "$bloque" -eq 0 ]; then

				if [ "$tour" -eq 0 ]; then
					piece='O'
					tour=1
				elif [ "$tour" -eq 1 ]; then
					piece='X'
					tour=0
				fi
	
			fi
		
			bloque=0

			vide=${GRILLE0[$colonne - 1]}
	
			if [ "$vide" = "_" ]; then
			
				GRILLE0[$colonne - 1]=$piece
				if [ "$tour" = "0" ]; then
					TOUR0[$colonne - 1]="J"
				elif [ "$tour" = "1" ]; then
					TOUR0[$colonne - 1]="R"
				fi

			elif [ "$vide" != "_" ]; then
			
				vide=${GRILLE1[$colonne - 1]}

				if [ "$vide" = "_" ]; then			

					GRILLE1[$colonne - 1]=$piece
				
					if [ "$tour" = "0" ]; then
						TOUR1[$colonne - 1]="J"
					elif [ "$tour" = "1" ]; then
						TOUR1[$colonne - 1]="R"
					fi

				elif [ "$vide" != "_" ]; then
	
					vide=${GRILLE2[$colonne - 1]}

					if [ "$vide" = "_" ]; then			

						GRILLE2[$colonne - 1]=$piece

						if [ "$tour" = "0" ]; then
							TOUR2[$colonne - 1]="J"
						elif [ "$tour" = "1" ]; then
							TOUR2[$colonne - 1]="R"
						fi

					elif [ "$vide" != "_" ]; then
	
						vide=${GRILLE3[$colonne - 1]}
				
						if [ "$vide" = "_" ]; then			

							GRILLE3[$colonne - 1]=$piece

							if [ "$tour" = "0" ]; then
								TOUR3[$colonne - 1]="J"
							elif [ "$tour" = "1" ]; then
								TOUR3[$colonne - 1]="R"
							fi

						elif [ "$vide" != "_" ]; then
	
							vide=${GRILLE4[$colonne - 1]}				
					
							if [ "$vide" = "_" ]; then			

								GRILLE4[$colonne - 1]=$piece

								if [ "$tour" = "0" ]; then
									TOUR4[$colonne - 1]="J"
								elif [ "$tour" = "1" ]; then
									TOUR4[$colonne - 1]="R"
								fi

							elif [ "$vide" != "_" ]; then
	
								vide=${GRILLE5[$colonne - 1]}
		
								if [ "$vide" = "_" ]; then

									GRILLE5[$colonne - 1]=$piece

									if [ "$tour" = "0" ]; then
										TOUR5[$colonne - 1]="J"
									elif [ "$tour" = "1" ]; then
										TOUR5[$colonne - 1]="R"
									fi

								elif [ "$vide" != "_" ]; then

									echo "Mouvement Impossible !"
									sleep 1s
									bloque=1
								
								fi
							fi
						fi
					fi
				fi		
			fi
			clear
			
			echo ${GRILLE5[*]} > save.txt
					
			echo ${GRILLE4[*]} >> save.txt

			echo ${GRILLE3[*]} >> save.txt

			echo ${GRILLE2[*]} >> save.txt

			echo ${GRILLE1[*]} >> save.txt

			echo ${GRILLE0[*]} >> save.txt

			echo ${TOUR5[*]} >> save.txt

			echo ${TOUR4[*]} >> save.txt

			echo ${TOUR3[*]} >> save.txt

			echo ${TOUR2[*]} >> save.txt

			echo ${TOUR1[*]} >> save.txt

			echo ${TOUR0[*]} >> save.txt

			echo $tour >> save.txt

			for index in "${!TOUR5[@]}"; do
				couleur=${TOUR5[$index]}
			
				if [ "$couleur" = "R" ]; then
					printf '\033[1,31,40m'
					echo -n "${RED}"${GRILLE5[$index]}
					printf '\033[0m'
					echo -n " "

				elif [ "$couleur" = "J" ]; then
					printf '\033[1,33,40m'
					echo -n "${YELLOW}"${GRILLE5[$index]}
					printf '\033[0m'
					echo -n " "					

				elif [ "$couleur" = "_" ]; then
					echo -n ${GRILLE5[$index]}
					echo -n " "

				fi
			done
			echo ""

			for index in "${!TOUR4[@]}"; do
				couleur=${TOUR4[$index]}
				if [ "$couleur" = "R" ]; then
					printf '\033[1,31,40m'
					echo -n "${RED}"${GRILLE4[$index]}
					printf '\033[0m'
					echo -n " "	

				elif [ "$couleur" = "J" ]; then
					printf '\033[1,33,40m'
					echo -n "${YELLOW}"${GRILLE4[$index]}
					printf '\033[0m'
					echo -n " "					

				elif [ "$couleur" = "_" ]; then
					echo -n ${GRILLE4[$index]}
					echo -n " "

				fi
			done
			echo ""	

			for index in "${!TOUR3[@]}"; do
				couleur=${TOUR3[$index]}
				if [ "$couleur" = "R" ]; then
					printf '\033[1,31,40m'
					echo -n "${RED}"${GRILLE3[$index]}
					printf '\033[0m'
					echo -n " "

				elif [ "$couleur" = "J" ]; then
					printf '\033[1,33,40m'
					echo -n "${YELLOW}"${GRILLE3[$index]}
					printf '\033[0m'
					echo -n " "					

				elif [ "$couleur" = "_" ]; then
					echo -n ${GRILLE3[$index]}
					echo -n " "

				fi
			done
			echo ""

			for index in "${!TOUR2[@]}"; do
				couleur=${TOUR2[$index]}
				if [ "$couleur" = "R" ]; then
					printf '\033[1,31,40m'
					echo -n "${RED}"${GRILLE2[$index]}
					printf '\033[0m'
					echo -n " "

				elif [ "$couleur" = "J" ]; then
					printf '\033[1,33,40m'
					echo -n "${YELLOW}"${GRILLE2[$index]}
					printf '\033[0m'
					echo -n " "					

				elif [ "$couleur" = "_" ]; then
					echo -n ${GRILLE2[$index]}
					echo -n " "

				fi
			done
			echo ""

			for index in "${!TOUR1[@]}"; do
				couleur=${TOUR1[$index]}
				if [ "$couleur" = "R" ]; then
					printf '\033[1,31,40m'
					echo -n "${RED}"${GRILLE1[$index]}
					printf '\033[0m'
					echo -n " "

				elif [ "$couleur" = "J" ]; then
					printf '\033[1,33,40m'
					echo -n "${YELLOW}"${GRILLE1[$index]}
					printf '\033[0m'
					echo -n " "
				
				elif [ "$couleur" = "_" ]; then
					echo -n ${GRILLE1[$index]}
					echo -n " "

				fi
			done
			echo ""

			for index in "${!TOUR0[@]}"; do
				couleur=${TOUR0[$index]}
				if [ "$couleur" = "R" ]; then
					printf '\033[1,31,40m'
					echo -n "${RED}"${GRILLE0[$index]}
					printf '\033[0m'
					echo -n " "

				elif [ "$couleur" = "J" ]; then
					printf '\033[1,33,40m'
					echo -n "${YELLOW}"${GRILLE0[$index]}
					printf '\033[0m'
					echo -n " "
				elif [ "$couleur" = "_" ]; then
					echo -n ${GRILLE0[$index]}
					echo -n " "
				fi
			done
		
			for k in {0..6}; do

				if [ ${GRILLE5[$k]} != "_" ] && [ ${GRILLE4[$k]} != "_" ] && [ ${GRILLE3[$k]} != "_" ] && [ ${GRILLE2[$k]} != "_" ] && [ ${GRILLE5[$k]} = ${GRILLE4[$k]} ] && [ ${GRILLE3[$k]} = ${GRILLE2[$k]} ] && [ ${GRILLE5[$k]} = ${GRILLE3[$k]} ]; then

					alignement=1
			
				elif [ ${GRILLE4[$k]} != "_" ] && [ ${GRILLE3[$k]} != "_" ] && [ ${GRILLE2[$k]} != "_" ] && [ ${GRILLE1[$k]} != "_" ] && [ ${GRILLE4[$k]} = ${GRILLE3[$k]} ] && [ ${GRILLE2[$k]} = ${GRILLE1[$k]} ] && [ ${GRILLE4[$k]} = ${GRILLE2[$k]} ]; then

					alignement=1
			
				elif [ ${GRILLE3[$k]} != "_" ] && [ ${GRILLE2[$k]} != "_" ] && [ ${GRILLE1[$k]} != "_" ] && [ ${GRILLE0[$k]} != "_" ] && [ ${GRILLE3[$k]} = ${GRILLE2[$k]} ] && [ ${GRILLE1[$k]} = ${GRILLE0[$k]} ] && [ ${GRILLE3[$k]} = ${GRILLE1[$k]} ]; then

					alignement=1
			
				fi
			
			done

			for k in {0..3}; do
		
				if [ ${GRILLE0[$k]} != "_" ] && [ ${GRILLE0[$k+1]} != "_" ] && [ ${GRILLE0[$k+2]} != "_" ] && [ ${GRILLE0[$k+3]} != "_" ] && [ ${GRILLE0[$k]} = ${GRILLE0[k+1]} ] && [ ${GRILLE0[k+2]} = ${GRILLE0[k+3]} ] && [ ${GRILLE0[$k]} = ${GRILLE0[k+2]} ]; then
			 
					alignement=1

				elif [ ${GRILLE1[$k]} != "_" ] && [ ${GRILLE1[$k+1]} != "_" ] && [ ${GRILLE1[$k+2]} != "_" ] && [ ${GRILLE1[$k+3]} != "_" ] && [ ${GRILLE1[$k]} = ${GRILLE1[$k+1]} ] && [ ${GRILLE1[$k+2]} = ${GRILLE1[$k+3]} ] && [ ${GRILLE1[$k]} = ${GRILLE1[$k+2]} ]; then
		
					alignement=1
							  
				elif [ ${GRILLE2[$k]} != "_" ] && [ ${GRILLE2[$k+1]} != "_" ] && [ ${GRILLE2[$k+2]} != "_" ] && [ ${GRILLE2[$k+3]} != "_" ] && [ ${GRILLE2[$k]} = ${GRILLE2[$k+1]} ] && [ ${GRILLE2[$k+2]} = ${GRILLE2[$k+3]} ] && [ ${GRILLE3[$k]} = ${GRILLE2[$k+2]} ]; then
		
					alignement=1
							   
				elif [ ${GRILLE3[$k]} != "_" ] && [ ${GRILLE3[$k+1]} != "_" ] && [ ${GRILLE3[$k+2]} != "_" ] && [ ${GRILLE3[$k+3]} != "_" ] && [ ${GRILLE3[$k]} = ${GRILLE3[$k+1]} ] && [ ${GRILLE3[$k+2]} = ${GRILLE3[$k+3]} ] && [ ${GRILLE3[$k]} = ${GRILLE3[$k+2]} ]; then
		
					alignement=1

				elif [ ${GRILLE4[$k]} != "_" ] && [ ${GRILLE4[$k+1]} != "_" ] && [ ${GRILLE4[$k+2]} != "_" ] && [ ${GRILLE4[$k+3]} != "_" ] && [ ${GRILLE4[$k]} = ${GRILLE4[$k+1]} ] && [ ${GRILLE4[$k+2]} = ${GRILLE4[$k+3]} ] && [ ${GRILLE4[$k]} = ${GRILLE4[$k+2]} ]; then
		
					alignement=1
				
				elif [ ${GRILLE5[$k]} != "_" ] && [ ${GRILLE5[$k+1]} != "_" ] && [ ${GRILLE5[$k+2]} != "_" ] && [ ${GRILLE5[$k+3]} != "_" ] && [ ${GRILLE5[$k]} = ${GRILLE5[$k+1]} ] && [ ${GRILLE5[$k+2]} = ${GRILLE5[$k+3]} ] && [ ${GRILLE5[$k]} = ${GRILLE5[$k+2]} ]; then
		
					alignement=1	

				fi
			done
				
			for k in {0..3}; do

				if [ ${GRILLE5[$k]} != "_" ] && [ ${GRILLE4[$k + 1]} != "_" ] && [ ${GRILLE3[$k + 2]} != "_" ]  && [ ${GRILLE2[$k + 3]} != "_" ] && [ ${GRILLE5[$k]} = ${GRILLE4[$k + 1]} ] &&  [ ${GRILLE3[$k + 2]} = ${GRILLE2[$k + 3]} ] && [ ${GRILLE5[$k]} = ${GRILLE3[$k + 2]} ]; then
					alignement=1

				elif [ ${GRILLE4[$k]} != "_" ] && [ ${GRILLE3[$k + 1]} != "_" ] && [ ${GRILLE2[$k + 2]} != "_" ]  && [ ${GRILLE1[$k + 3]} != "_" ] && [ ${GRILLE4[$k]} = ${GRILLE3[$k + 1]} ] &&  [ ${GRILLE2[$k + 2]} = ${GRILLE1[$k + 3]} ] && [ ${GRILLE4[$k]} = ${GRILLE2[$k + 2]} ]; then
					alignement=1
				
				elif [ ${GRILLE3[$k]} != "_" ] && [ ${GRILLE2[$k + 1]} != "_" ] && [ ${GRILLE1[$k + 2]} != "_" ]  && [ ${GRILLE0[$k + 3]} != "_" ] && [ ${GRILLE3[$k]} = ${GRILLE2[$k + 1]} ] &&  [ ${GRILLE1[$k + 2]} = ${GRILLE0[$k + 3]} ] && [ ${GRILLE3[$k]} = ${GRILLE1[$k + 2]} ]; then
					alignement=1

				elif [ ${GRILLE0[$k]} != "_" ] && [ ${GRILLE1[$k + 1]} != "_" ] && [ ${GRILLE2[$k + 2]} != "_" ]  && [ ${GRILLE3[$k + 3]} != "_" ] && [ ${GRILLE0[$k]} = ${GRILLE1[$k + 1]} ] &&  [ ${GRILLE2[$k + 2]} = ${GRILLE3[$k + 3]} ] && [ ${GRILLE0[$k]} = ${GRILLE2[$k + 2]} ]; then
					alignement=1

				elif [ ${GRILLE1[$k]} != "_" ] && [ ${GRILLE2[$k + 1]} != "_" ] && [ ${GRILLE3[$k + 2]} != "_" ]  && [ ${GRILLE4[$k + 3]} != "_" ] && [ ${GRILLE1[$k]} = ${GRILLE2[$k + 1]} ] &&  [ ${GRILLE3[$k + 2]} = ${GRILLE4[$k + 3]} ] && [ ${GRILLE1[$k]} = ${GRILLE3[$k + 2]} ]; then
					alignement=1

				elif [ ${GRILLE2[$k]} != "_" ] && [ ${GRILLE3[$k + 1]} != "_" ] && [ ${GRILLE4[$k + 2]} != "_" ]  && [ ${GRILLE5[$k + 3]} != "_" ] && [ ${GRILLE2[$k]} = ${GRILLE3[$k + 1]} ] &&  [ ${GRILLE4[$k + 2]} = ${GRILLE5[$k + 3]} ] && [ ${GRILLE2[$k]} = ${GRILLE4[$k + 2]} ]; then
					alignement=1
				fi
			done


			if [ "$alignement" -eq 1 ]; then
				colonne=0

				if [ "$tour" -eq 1 ]; then

					echo ""
					echo ""
					echo "Le Joueur Rouge a gagné !"
				else

					echo ""
					echo ""
					echo "Le Joueur Jaune a gagné !"
				fi

			fi
			
			if [ ${GRILLE5[0]} != "_" ] && [ ${GRILLE5[1]} != "_" ] && [ ${GRILLE5[2]} != "_" ] && [ ${GRILLE5[3]} != "_" ] && [ ${GRILLE5[4]} != "_" ] && [ ${GRILLE5[5]} != "_" ]&& [ ${GRILLE5[6]} != "_" ] && [ "$alignement" -ne 1 ]; then
				colonne=0
			fi
			
			if [ "$colonne" -eq 0 ]; then
				colonne=-1
			fi
			
			if [ "$tour" -eq 1 ]; then
				let "playerr = playerr + 1" 

			else
				let "playerj = playerj + 1"
		
			fi
			
			echo ""
			echo ""
			echo $nom1 "Rouge : " $playerr " coups" 
			echo $nom2 "Jaune : " $playerj " coups"
			echo ""

		fi
	fi
done

echo "Nombre de coups " $nom1 " : " $playerr

echo "Nombre de coups " $nom2 " : " $playerj

echo ""

echo "See you later !"



