joue()
{ # fonction qui vérifie dans les 8 directions et retourne les pions
read coul < couleur # importe la couleur du joueur
if [ "$coul" = "n" ]
then
aff="x" # assigne l affichage x ou O en fonction de la couleur
paff="O"
else
aff="O"
paff="x"
fi
convertisseur # converti la case choisie en chiffre
line=`expr $shoot / 10`
row=`expr $shoot % 10`
cased=`expr 8 - $row`
caseg=`expr $row - 1`
caseh=`expr $line - 1`
caseb=`expr 8 - $line`
if [ $cased -ge $caseh ]
then casehd=$caseh
else casehd=$cased
fi
if [ $cased -ge $caseb ]
then casebd=$caseb
else casebd=$cased
fi
if [ $caseg -ge $caseb ]
then casebg=$caseb
else casebg=$caseg
fi
if [ $caseg -ge $caseh ]
then casehg=$caseh
else casehg=$caseg
fi
flag=0
i=1
shoot3=$shoot
hyperflag=0
while [ $i -le $caseb ]
do
k=`expr $i \* 10`
point=`expr $shoot + $k`
conv=$point
converse
read evalu < $conv
if [ "$evalu" = "$paff" ]
then
flag=`expr $flag + 1`
else
if [ "$evalu" = "." ]
then
break
else
if [ "$evalu" = "$aff" ]
then
echo $flag
echo $evalu
if [ $flag -ge 1 ]
then
j=1
hyperflag=`expr $hyperflag + 1`
while [ $j -le $flag ]
do
shoot3=`expr $shoot3 + 10`
j=`expr $j + 1`
conv=$shoot3
converse
echo $aff >$conv
done
fi
fi
fi
fi
i=`expr $i + 1`
done
flag=0
i=1
shoot3=$shoot
while [ $i -le $caseh ]
do
k=`expr $i \* 10`
point=`expr $shoot - $k`
conv=$point
converse
read evalu <$conv
if [ "$evalu" = "$paff" ]
then
flag=`expr $flag + 1`
else
if [ "$evalu" = "." ]
then
break
else
if [ "$evalu" = "$aff" ]
then
if [ $flag -ge 1 ]
then
j=1
hyperflag=`expr $hyperflag + 1`
while [ $j -le $flag ]
do
shoot3=`expr $shoot3 - 10`
conv=$shoot3
converse
j=`expr $j + 1`
echo $aff >$conv
done
fi
fi
fi
fi
i=`expr $i + 1`
done
flag=0
i=1
shoot3=$shoot
while [ $i -le $casebd ]
do
k=`expr $i \* 10`
ad=`expr $i \* 1`
bd=`expr $k + $ad`
point=`expr $shoot + $bd`
conv=$point
converse
read evalu <$conv
if [ "$evalu" = "$paff" ]
then
flag=`expr $flag + 1`
else
if [ "$evalu" = "." ]
then
break
else
if [ "$evalu" = "$aff" ]
then
if [ $flag -ge 1 ]
then
j=1
hyperflag=`expr $hyperflag + 1`
while [ $j -le $flag ]
do
shoot3=`expr $shoot3 + 11`
conv=$shoot3
j=`expr $j + 1`
converse
echo $aff >$conv
done
fi
fi
fi
fi
i=`expr $i + 1`
done
flag=0
i=1
shoot3=$shoot
while [ $i -le $casehg ]
do
k=`expr $i \* 10`
ad=`expr $i \* 1`
bd=`expr $k + $ad`
point=`expr $shoot - $bd`
conv=$point
converse
read evalu <$conv
if [ "$evalu" = "$paff" ]
then
flag=`expr $flag + 1`
else
if [ "$evalu" = "." ]
then
break
else
if [ "$evalu" = "$aff" ]
then
if [ $flag -ge 1 ]
then
j=1
hyperflag=`expr $hyperflag + 1`
while [ $j -le $flag ]
do
shoot3=`expr $shoot3 - 11`
j=`expr $j + 1`
conv=$shoot3
converse
echo $aff >$conv
done
fi
fi
fi
fi
i=`expr $i + 1`
done
flag=0
i=1
shoot3=$shoot
while [ $i -le $casehd ]
do
k=`expr $i \* 10`
ad=`expr $i \* 1`
bd=`expr $k - $ad`
point=`expr $shoot - $bd`
conv=$point
converse
read evalu <$conv
if [ "$evalu" = "$paff" ]
then
flag=`expr $flag + 1`
else
if [ "$evalu" = "." ]
then
break
else
if [ "$evalu" = "$aff" ]
then
if [ $flag -ge 1 ]
then
j=1
hyperflag=`expr $hyperflag + 1`
while [ $j -le $flag ]
do
shoot3=`expr $shoot3 - 9`
j=`expr $j + 1`
conv=$shoot3
converse
echo $aff >$conv
done
fi
fi
fi
fi
i=`expr $i + 1`
done
flag=0
i=1
shoot3=$shoot
while [ $i -le $casebg ]
do
k=`expr $i \* 10`
ad=`expr $i \* 1`
bd=`expr $k - $ad`
point=`expr $shoot + $bd`
conv=$point
converse
read evalu <$conv
if [ "$evalu" = "$paff" ]
then
flag=`expr $flag + 1`
else
if [ "$evalu" = "." ]
then
break
else
if [ "$evalu" = "$aff" ]
then
if [ $flag -ge 1 ]
then
hyperflag=`expr $hyperflag + 1`
while [ $j -le $flag ]
do
shoot3=`expr $shoot3 + 9`
j=`expr $j + 1`
conv=$shoot3
converse
echo $aff >$conv
done
fi
fi
fi
fi
i=`expr $i + 1`
done
flag=0
i=1
shoot3=$shoot
while [ $i -le $cased ]
do
point=`expr $shoot + $i`
conv=$point
converse
read evalu <$conv
if [ "$evalu" = "$paff" ]
then
flag=`expr $flag + 1`
else
if [ "$evalu" = "." ]
then
break
else
if [ "$evalu" = "$aff" ]
then
if [ $flag -ge 1 ]
then
j=1
hyperflag=`expr $hyperflag + 1`
while [ $j -le $flag ]
do
j=`expr $j + 1`
shoot3=`expr $shoot3 + 1`
conv=$shoot3
converse
echo $aff >$conv
done
fi
fi
fi
fi
i=`expr $i + 1`
done
flag=0
i=1
shoot3=$shoot
while [ $i -le $caseg ]
do
point=`expr $shoot - $i`
conv=$point
converse
read evalu <$conv
if [ "$evalu" = "$paff" ]
then
flag=`expr $flag + 1`
else
if [ "$evalu" = "." ]
then
break
else
if [ "$evalu" = "$aff" ]
then
if [ $flag -ge 1 ]
then
j=1
hyperflag=`expr $hyperflag + 1`
while [ $j -le $flag ]
do
shoot3=`expr $shoot3 - 1`
j=`expr $j + 1`
conv=$shoot3
converse
echo $aff >$conv
done
fi
fi
fi
fi
i=`expr $i + 1`
done
if [ "$hyperflag" = "0" ]
then
read ultra<ultraflag
if [ "$ultra" = "1" ]
then
finpartie
else
echo "0">ultraflag
fi
echo "1">ultraflag
echo ".">$shoot5
echo "Coup impossible, réessayez"
echo "Appuyez pour continuer"
read lasparticho
tir
else
echo $aff >$shoot5
read coul < couleur
if [ "$coul" = "n" ]
then
echo b > couleur
else
echo n > couleur
fi
suite
}
finpartie()
{
echo "La Partie est finie"
xcomp=0
Ocomp=0
for i in A B C D E F G H
do
for j in 1 2 3 4 5 6 7 8
do
read temp< $i$j
if [ "$temp" = "x" ]
then
xcomp=`expr $xcomp + 1`
fi
if [ "$temp" = "O" ]
then
Ocomp=`expr $Ocomp + 1`
fi
done
done
echo "Le Joueur noir [x] a marqué $xcomp points"
echo "Le Joueur blanc [O] a marqué $Ocomp points"
echo "Appuyez sur pour recommencer ou sur une touche pour quitter"
read touche
if [ "$touche" = "r" ]
then
attente
else
exit 0
fi
}
attente()
{
echo "x" >E4
echo "O" >E5
echo "O" >D4
echo "x" >D5
aff="O"
clear
echo "Attente de l'autre joueur"
i=0
read var2 < file
if [ "$var2" = "r" ]
then
echo b>who
echo rg > file
coul="b"
echo b > couleur
pascoul="n"
echo "vous etes blanc - vos pions sont [OO]"
sleep 2
suite
else
echo r > file
while i=0
do
sleep 3
read joueur < file
if [ "$joueur" = "rg" ]
then
echo "vous etes noir - vos pions sont [xx]"
break
fi
done
suite
fi
}
tir()
{
clear
tableau
echo w>who
read color<couleur
if [ "$color" = "n" ]
then
affi="x"
else
affi="O"
fi
echo "Votre couleur est [$affi]"
echo "Où voulez vous jouer? Ecrivez en majuscule (exemple: X4)"
read shoot
if [ "$shoot" = "q" ]
then
exit 0
else
shoot2=$shoot
shoot5=$shoot
read testa <$shoot
echo $testa
echo $shoot
if [ "$testa" = "." ]
then
echo $shoot >$shoot
eval "$shoot=$shoot2"
joue
else
echo "Coup impossible, réessayez"
echo "Appuyez sur pour continuer"
read sertawait
tir
fi
fi
}
suite ()
{
read var1<who
if [ "$var1" = "$coul" ]
then
echo w >who
tir
else
echo "Attendez que l'autre joueur finisse"
i=0
while i=0
do
sleep 1
read attent<who
if [ "$attent" = "l" ]
then
echo good
tir
fi
done
fi
}
attente
[^] # Re: Le script, il sent fort de la bouche ?
Posté par deumdeum . En réponse au message Multi utilisateurs d'un script. Évalué à 1.
Le code entier qui fonctionne (presqe)
il faut lancer le script dans 2 sessions pour qu'il fonctionne
#!/bin/bash
# Othello 2005
#
# ordre du script:
#
# attente
# suite
# tir
# tableau
# joue
# convertisseur
# convere
# suite
# .
# .
# .
#
#
#
echo "**************************************"
echo "** **"
echo "** O T H E L L O **"
echo "** **"
echo "**************************************"
echo ""
echo ""
echo "Appuyez sur pour continuer"
read startttt
echo ""
echo ""
# placement de "." dans les variables du "tableau"
echo "." >A1;echo "." >A2;echo "." >A3;echo "." >A4;echo "." >A5;echo "." >A6;echo "." >A7;echo "." >A8;echo "." >B1;echo "." >B2;echo "." >B3;echo "." >B4;echo "." >B5;echo "." >B6;echo "." >B7;echo "." >B8;echo "." >C1;echo "." >C2;echo "." >C3;echo "." >C4;echo "." >C5;echo "." >C6;echo "." >C7;echo "." >C8;echo "." >D1;echo "." >D2;echo "." >D3;echo "." >D4;echo "." >D5;echo "." >D6;echo "." >D7;echo "." >D8;echo "." >E1;echo "." >E2;echo "." >E3;echo "." >E4;echo "." >E5;echo "." >E6;echo "." >E7;echo "." >E8;echo "." >F1;echo "." >F2;echo "." >F3;echo "." >F4;echo "." >F5;echo "." >F6;echo "." >F7;echo "." >F8;echo "." >G1;echo "." >G2;echo "." >G3;echo "." >G4;echo "." >G5;echo "." >G6;echo "." >G7;echo "." >G8;echo "." >H1;echo "." >H2;echo "." >H3;echo "." >H4;echo "." >H5;echo "." >H6;echo "." >H7;echo "." >H8
tableau() # fonction qui trace le tableau
{ # on lit dans chaque fichier Xn sa valeur pour la placer dans le tableau
read A1 <A1;read B1 <B1;read C1 <C1;read D1 <D1;read E1 <E1;read F1 <F1;read G1 <G1;read H1 <H1;read A2 <A2;read B2 <B2;read C2 <C2;read D2 <D2;read E2 <E2;read F2 <F2;read G2 <G2;read H2 <H2;read A3 <A3;read B3 <B3;read C3 <C3;read D3 <D3;read E3 <E3;read F3 <F3;read G3 <G3;read H3 <H3;read A4 <A4;read B4 <B4;read C4 <C4;read D4 <D4;read E4 <E4;read F4 <F4;read G4 <G4;read H4 <H4;read A5 <A5;read B5 <B5;read C5 <C5;read D5 <D5;read E5 <E5;read F5 <F5;read G5 <G5;read H5 <H5;read A6 <A6;read B6 <B6;read C6 <C6;read D6 <D6;read E6 <E6;read F6 <F6;read G6 <G6;read H6 <H6;read A7 <A7;read B7 <B7;read C7 <C7;read D7 <D7;read E7 <E7;read F7 <F7;read G7 <G7;read H7 <H7;read A8 <A8;read B8 <B8;read C8 <C8;read D8 <D8;read E8 <E8;read F8 <F8;read G8 <G8;read H8 <H8;
# tableau a base d echo
echo "-------------------------------------"
echo "| | A | B | C | D | E | F | G | H |"
echo "-------------------------------------"
echo "| 1 | $A1 | $B1 | $C1 | $D1 | $E1 | $F1 | $G1 | $H1 |"
echo "-------------------------------------"
echo "| 2 | $A2 | $B2 | $C2 | $D2 | $E2 | $F2 | $G2 | $H2 |"
echo "-------------------------------------"
echo "| 3 | $A3 | $B3 | $C3 | $D3 | $E3 | $F3 | $G3 | $H3 |"
echo "-------------------------------------"
echo "| 4 | $A4 | $B4 | $C4 | $D4 | $E4 | $F4 | $G4 | $H4 |"
echo "-------------------------------------"
echo "| 5 | $A5 | $B5 | $C5 | $D5 | $E5 | $F5 | $G5 | $H5 |"
echo "-------------------------------------"
echo "| 6 | $A6 | $B6 | $C6 | $D6 | $E6 | $F6 | $G6 | $H6 |"
echo "-------------------------------------"
echo "| 7 | $A7 | $B7 | $C7 | $D7 | $E7 | $F7 | $G7 | $H7 |"
echo "-------------------------------------"
echo "| 8 | $A8 | $B8 | $C8 | $D8 | $E8 | $F8 | $G8 | $H8 |"
echo "-------------------------------------"
}
convertisseur() # fonction qui convertit les Xn en nn, ex: B3 -> 32
{
case $shoot in
A1) shoot=11 ;;
A2) shoot=21 ;;
A3) shoot=31 ;;
A4) shoot=41 ;;
A5) shoot=51 ;;
A6) shoot=61 ;;
A7) shoot=71 ;;
A8) shoot=81 ;;
B1) shoot=12 ;;
B2) shoot=22 ;;
B3) shoot=32 ;;
B4) shoot=42 ;;
B5) shoot=52 ;;
B6) shoot=62 ;;
B7) shoot=72 ;;
B8) shoot=82 ;;
C1) shoot=13 ;;
C2) shoot=23 ;;
C3) shoot=33 ;;
C4) shoot=43 ;;
C5) shoot=53 ;;
C6) shoot=63 ;;
C7) shoot=73 ;;
C8) shoot=83 ;;
D1) shoot=14 ;;
D2) shoot=24 ;;
D3) shoot=34 ;;
D4) shoot=44 ;;
D5) shoot=54 ;;
D6) shoot=64 ;;
D7) shoot=74 ;;
D8) shoot=84 ;;
E1) shoot=15 ;;
E2) shoot=25 ;;
E3) shoot=35 ;;
E4) shoot=45 ;;
E5) shoot=55 ;;
E6) shoot=65 ;;
E7) shoot=75 ;;
E8) shoot=85 ;;
F1) shoot=16 ;;
F2) shoot=26 ;;
F3) shoot=36 ;;
F4) shoot=46 ;;
F5) shoot=56 ;;
F6) shoot=66 ;;
F7) shoot=76 ;;
F8) shoot=86 ;;
G1) shoot=17 ;;
G2) shoot=27 ;;
G3) shoot=37 ;;
G4) shoot=47 ;;
G5) shoot=57 ;;
G6) shoot=67 ;;
G7) shoot=77 ;;
G8) shoot=87 ;;
H1) shoot=18 ;;
H2) shoot=28 ;;
H3) shoot=38 ;;
H4) shoot=48 ;;
H5) shoot=58 ;;
H6) shoot=68 ;;
H7) shoot=78 ;;
H8) shoot=88 ;;
esac
}
converse()
{ # idem fonction précédente à l envers
case $conv in
11) conv=A1 ;;
12) conv=B1 ;;
13) conv=C1 ;;
14) conv=D1 ;;
15) conv=E1 ;;
16) conv=F1 ;;
17) conv=G1 ;;
18) conv=H1 ;;
21) conv=A2 ;;
22) conv=B2 ;;
23) conv=C2 ;;
24) conv=D2 ;;
25) conv=E2 ;;
26) conv=F2 ;;
27) conv=G2 ;;
28) conv=H2 ;;
31) conv=A3 ;;
32) conv=B3 ;;
33) conv=C3 ;;
34) conv=D3 ;;
35) conv=E3 ;;
36) conv=F3 ;;
37) conv=G3 ;;
38) conv=H3 ;;
41) conv=A4 ;;
42) conv=B4 ;;
43) conv=C4 ;;
44) conv=D4 ;;
45) conv=E4 ;;
46) conv=F4 ;;
47) conv=G4 ;;
48) conv=H4 ;;
51) conv=A5 ;;
52) conv=B5 ;;
53) conv=C5 ;;
54) conv=D5 ;;
55) conv=E5 ;;
56) conv=F5 ;;
57) conv=F5 ;;
58) conv=G5 ;;
61) conv=A6 ;;
62) conv=B6 ;;
63) conv=C6 ;;
64) conv=D6 ;;
65) conv=E6 ;;
66) conv=F6 ;;
67) conv=G6 ;;
68) conv=H6 ;;
71) conv=A7 ;;
72) conv=B7 ;;
73) conv=C7 ;;
74) conv=D7 ;;
75) conv=E7 ;;
76) conv=F7 ;;
77) conv=G7 ;;
78) conv=H7 ;;
81) conv=A8 ;;
82) conv=B8 ;;
83) conv=C8 ;;
84) conv=D8 ;;
85) conv=E8 ;;
86) conv=F8 ;;
87) conv=G8 ;;
88) conv=H8 ;;
esac
}
joue()
{ # fonction qui vérifie dans les 8 directions et retourne les pions
read coul < couleur # importe la couleur du joueur
if [ "$coul" = "n" ]
then
aff="x" # assigne l affichage x ou O en fonction de la couleur
paff="O"
else
aff="O"
paff="x"
fi
convertisseur # converti la case choisie en chiffre
line=`expr $shoot / 10`
row=`expr $shoot % 10`
cased=`expr 8 - $row`
caseg=`expr $row - 1`
caseh=`expr $line - 1`
caseb=`expr 8 - $line`
if [ $cased -ge $caseh ]
then casehd=$caseh
else casehd=$cased
fi
if [ $cased -ge $caseb ]
then casebd=$caseb
else casebd=$cased
fi
if [ $caseg -ge $caseb ]
then casebg=$caseb
else casebg=$caseg
fi
if [ $caseg -ge $caseh ]
then casehg=$caseh
else casehg=$caseg
fi
flag=0
i=1
shoot3=$shoot
hyperflag=0
while [ $i -le $caseb ]
do
k=`expr $i \* 10`
point=`expr $shoot + $k`
conv=$point
converse
read evalu < $conv
if [ "$evalu" = "$paff" ]
then
flag=`expr $flag + 1`
else
if [ "$evalu" = "." ]
then
break
else
if [ "$evalu" = "$aff" ]
then
echo $flag
echo $evalu
if [ $flag -ge 1 ]
then
j=1
hyperflag=`expr $hyperflag + 1`
while [ $j -le $flag ]
do
shoot3=`expr $shoot3 + 10`
j=`expr $j + 1`
conv=$shoot3
converse
echo $aff >$conv
done
fi
fi
fi
fi
i=`expr $i + 1`
done
flag=0
i=1
shoot3=$shoot
while [ $i -le $caseh ]
do
k=`expr $i \* 10`
point=`expr $shoot - $k`
conv=$point
converse
read evalu <$conv
if [ "$evalu" = "$paff" ]
then
flag=`expr $flag + 1`
else
if [ "$evalu" = "." ]
then
break
else
if [ "$evalu" = "$aff" ]
then
if [ $flag -ge 1 ]
then
j=1
hyperflag=`expr $hyperflag + 1`
while [ $j -le $flag ]
do
shoot3=`expr $shoot3 - 10`
conv=$shoot3
converse
j=`expr $j + 1`
echo $aff >$conv
done
fi
fi
fi
fi
i=`expr $i + 1`
done
flag=0
i=1
shoot3=$shoot
while [ $i -le $casebd ]
do
k=`expr $i \* 10`
ad=`expr $i \* 1`
bd=`expr $k + $ad`
point=`expr $shoot + $bd`
conv=$point
converse
read evalu <$conv
if [ "$evalu" = "$paff" ]
then
flag=`expr $flag + 1`
else
if [ "$evalu" = "." ]
then
break
else
if [ "$evalu" = "$aff" ]
then
if [ $flag -ge 1 ]
then
j=1
hyperflag=`expr $hyperflag + 1`
while [ $j -le $flag ]
do
shoot3=`expr $shoot3 + 11`
conv=$shoot3
j=`expr $j + 1`
converse
echo $aff >$conv
done
fi
fi
fi
fi
i=`expr $i + 1`
done
flag=0
i=1
shoot3=$shoot
while [ $i -le $casehg ]
do
k=`expr $i \* 10`
ad=`expr $i \* 1`
bd=`expr $k + $ad`
point=`expr $shoot - $bd`
conv=$point
converse
read evalu <$conv
if [ "$evalu" = "$paff" ]
then
flag=`expr $flag + 1`
else
if [ "$evalu" = "." ]
then
break
else
if [ "$evalu" = "$aff" ]
then
if [ $flag -ge 1 ]
then
j=1
hyperflag=`expr $hyperflag + 1`
while [ $j -le $flag ]
do
shoot3=`expr $shoot3 - 11`
j=`expr $j + 1`
conv=$shoot3
converse
echo $aff >$conv
done
fi
fi
fi
fi
i=`expr $i + 1`
done
flag=0
i=1
shoot3=$shoot
while [ $i -le $casehd ]
do
k=`expr $i \* 10`
ad=`expr $i \* 1`
bd=`expr $k - $ad`
point=`expr $shoot - $bd`
conv=$point
converse
read evalu <$conv
if [ "$evalu" = "$paff" ]
then
flag=`expr $flag + 1`
else
if [ "$evalu" = "." ]
then
break
else
if [ "$evalu" = "$aff" ]
then
if [ $flag -ge 1 ]
then
j=1
hyperflag=`expr $hyperflag + 1`
while [ $j -le $flag ]
do
shoot3=`expr $shoot3 - 9`
j=`expr $j + 1`
conv=$shoot3
converse
echo $aff >$conv
done
fi
fi
fi
fi
i=`expr $i + 1`
done
flag=0
i=1
shoot3=$shoot
while [ $i -le $casebg ]
do
k=`expr $i \* 10`
ad=`expr $i \* 1`
bd=`expr $k - $ad`
point=`expr $shoot + $bd`
conv=$point
converse
read evalu <$conv
if [ "$evalu" = "$paff" ]
then
flag=`expr $flag + 1`
else
if [ "$evalu" = "." ]
then
break
else
if [ "$evalu" = "$aff" ]
then
if [ $flag -ge 1 ]
then
hyperflag=`expr $hyperflag + 1`
while [ $j -le $flag ]
do
shoot3=`expr $shoot3 + 9`
j=`expr $j + 1`
conv=$shoot3
converse
echo $aff >$conv
done
fi
fi
fi
fi
i=`expr $i + 1`
done
flag=0
i=1
shoot3=$shoot
while [ $i -le $cased ]
do
point=`expr $shoot + $i`
conv=$point
converse
read evalu <$conv
if [ "$evalu" = "$paff" ]
then
flag=`expr $flag + 1`
else
if [ "$evalu" = "." ]
then
break
else
if [ "$evalu" = "$aff" ]
then
if [ $flag -ge 1 ]
then
j=1
hyperflag=`expr $hyperflag + 1`
while [ $j -le $flag ]
do
j=`expr $j + 1`
shoot3=`expr $shoot3 + 1`
conv=$shoot3
converse
echo $aff >$conv
done
fi
fi
fi
fi
i=`expr $i + 1`
done
flag=0
i=1
shoot3=$shoot
while [ $i -le $caseg ]
do
point=`expr $shoot - $i`
conv=$point
converse
read evalu <$conv
if [ "$evalu" = "$paff" ]
then
flag=`expr $flag + 1`
else
if [ "$evalu" = "." ]
then
break
else
if [ "$evalu" = "$aff" ]
then
if [ $flag -ge 1 ]
then
j=1
hyperflag=`expr $hyperflag + 1`
while [ $j -le $flag ]
do
shoot3=`expr $shoot3 - 1`
j=`expr $j + 1`
conv=$shoot3
converse
echo $aff >$conv
done
fi
fi
fi
fi
i=`expr $i + 1`
done
if [ "$hyperflag" = "0" ]
then
read ultra<ultraflag
if [ "$ultra" = "1" ]
then
finpartie
else
echo "0">ultraflag
fi
echo "1">ultraflag
echo ".">$shoot5
echo "Coup impossible, réessayez"
echo "Appuyez pour continuer"
read lasparticho
tir
else
echo $aff >$shoot5
fi
clear
tableau
sleep 3
echo l>who
sleep 2
change
}
change()
{
read coul < couleur
if [ "$coul" = "n" ]
then
echo b > couleur
else
echo n > couleur
fi
suite
}
finpartie()
{
echo "La Partie est finie"
xcomp=0
Ocomp=0
for i in A B C D E F G H
do
for j in 1 2 3 4 5 6 7 8
do
read temp< $i$j
if [ "$temp" = "x" ]
then
xcomp=`expr $xcomp + 1`
fi
if [ "$temp" = "O" ]
then
Ocomp=`expr $Ocomp + 1`
fi
done
done
echo "Le Joueur noir [x] a marqué $xcomp points"
echo "Le Joueur blanc [O] a marqué $Ocomp points"
echo "Appuyez sur pour recommencer ou sur une touche pour quitter"
read touche
if [ "$touche" = "r" ]
then
attente
else
exit 0
fi
}
attente()
{
echo "x" >E4
echo "O" >E5
echo "O" >D4
echo "x" >D5
aff="O"
clear
echo "Attente de l'autre joueur"
i=0
read var2 < file
if [ "$var2" = "r" ]
then
echo b>who
echo rg > file
coul="b"
echo b > couleur
pascoul="n"
echo "vous etes blanc - vos pions sont [OO]"
sleep 2
suite
else
echo r > file
while i=0
do
sleep 3
read joueur < file
if [ "$joueur" = "rg" ]
then
echo "vous etes noir - vos pions sont [xx]"
break
fi
done
suite
fi
}
tir()
{
clear
tableau
echo w>who
read color<couleur
if [ "$color" = "n" ]
then
affi="x"
else
affi="O"
fi
echo "Votre couleur est [$affi]"
echo "Où voulez vous jouer? Ecrivez en majuscule (exemple: X4)"
read shoot
if [ "$shoot" = "q" ]
then
exit 0
else
shoot2=$shoot
shoot5=$shoot
read testa <$shoot
echo $testa
echo $shoot
if [ "$testa" = "." ]
then
echo $shoot >$shoot
eval "$shoot=$shoot2"
joue
else
echo "Coup impossible, réessayez"
echo "Appuyez sur pour continuer"
read sertawait
tir
fi
fi
}
suite ()
{
read var1<who
if [ "$var1" = "$coul" ]
then
echo w >who
tir
else
echo "Attendez que l'autre joueur finisse"
i=0
while i=0
do
sleep 1
read attent<who
if [ "$attent" = "l" ]
then
echo good
tir
fi
done
fi
}
attente