Voici une version 2 joueurs, le joueur1 doit doit insérer un mot à trouver pour le joueur2 .
!!!!!!! ATENTION MESSAGE AU NOUVEAU/FUTUR CCMISTES !!!!!!!!!!!!!!
Lors de l'utilisation de doubles crochets veuillez insérer un espace entre les "ouvrant" sinon, comme ce le fut pour ce script, les tests vont apparaitre en tant que liens!
exemple: if [ [ $1 = 2 ]]
merci.
#!/bin/bash
life=15
checkletter="-"
letterguessed=""
life2=15
checkletter2="-"
letterguessed2=""
function playagain()
{
echo "do you want to play again? (enter y or n)"
read ans
clear
if [ [ $ans = y* || $ans = Y* ]]
then
sh hangman.final
else
echo GOOD BYE
fi
exit
}
function oneplayer ()
{
hazard=$(echo $((($RANDOM%15)+1)))
word=$(cat words | head -$hazard | tail -1)
if [ [ $life = 15 ]]
then until [ [ $life = 0 ]]
do
echo "you have $life live left"
echo "You tryed this letter(s) : $letterguessed"
echo ${word//[^$checkletter]/_}
echo "will you find the word $name1?"
echo "try a letter :"
read letter
clear
letterguessed=$letterguessed$letter,
echo $word | grep $letter > /dev/null
retval=$?
case $retval in
0) clear
checkletter=$checkletter$letter
echo GOOD LETTER
if [[ ${word//[^$checkletter]/_} = $word ]]
then clear
echo "CONGRATULATION $name, YOU WIN"
echo "THE HIDDEN WORD WAS: $word"
break
else continue
fi
;;
1) clear
life=$(($life -1))
checkletter=$checkletter$letter
echo WRONG LETTER YOU HAVE LOST 1 life
if [ [ $twoplayers_mode = 1 ]]
then clear
until $life2 = 0
do
echo "you have $life2 live left"
echo "You tryed this letter(s) : $letterguessed2"
echo ${word2//[^$checkletter2]/_}
echo "will you find the word $name2?"
echo "try a letter :"
read letter2
clear
letterguessed2=$letterguessed2$letter2,
echo $word2 | grep $letter2 > /dev/null
retval=$?
case $retval in
0) clear
checkletter2=$checkletter2$letter2
echo GOOD LETTER
if [[ ${word2//[^$checkletter2]/_} = $word2 ]]
then clear
echo CONGRATULATION $name2, YOU WIN
echo "THE HIDDEN WORD WAS: $word2"
playagain
break
else continue
fi
;;
1) clear
life2=$(($life2 -1))
checkletter2=$checkletter2$letter2
echo WRONG LETTER YOU HAVE LOST 1 life
break
if [ [ $life2 = 0 ]]
then clear
echo YOU ARE A LOOSER $name2
echo "the hidden word was: $word2"
playagain
break
else continue
fi
;;
esac
done
fi
if [ [ $life = 0 ]]
then clear
echo YOU ARE A LOOSER $name
echo "the hidden word was:" $word
break
else continue
fi
;;
esac
done
fi
playagain
}
cat<<menu
######**HANGMAN///////Jeu du Pendu**######
1) 1player
2) 2players
3) exit
Please enter your selection (1 to 3)
menu
read input
clear
case $input in
1) echo "Hello $USER, please enter a name:"
read name
echo "welcome $name, press ENTER for play against computer"
read ans
if [ [ $ans = * ]]
then oneplayer
fi
;;
2)echo "Hello $USER, please enter a name:"
read name1
echo "$name1 choose a word for player 2"
read word2
clear
echo "player2 please enter your name:"
read name2
clear
twoplayers_mode=1
oneplayer
;;
3) exit
;;
*) echo "WRONG SELECTION PLEASE ENTER A NUMBER FROM 1 TO 3"
sh hangman.final
esac
Ça ira comme ça Jipicy?
Sinon d'un point de vue"professionnel" tu en penses quoi? ça fait pas longtemps que je me suis mis a la programmation ( 6 mois ) et je ne jamais fait d'informatique auparavant, a part installer des jeux........... donc je me demandais si j'étais sur la bonne voix!!? :)
J'ai commencé avec un peu de html pis unix et sql+ là j'attends le prochain test pour espérer passer la certif javasun a brighton!
Encore merci.