04-06-2009
whats wrong with this?
can anyone tell me why this code doesn't work how its supposed to, its the hangman game but it doesn't play how its supposed to
#!/bin/bash
NoAttempts="0"
livesgiven="5"
LivesRemain=$livesgiven
LettersAttempted=""
wordfile=words
numwords=0
function menu()
{
clear
cat << menu
~~~~~~~~~~~~~~~~~~~ WELCOME ~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~ THE HANGMAN GAME ~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~ DO YOU WANT TO PLAY? ~~~~~~~~~~~~
Enter your selection (Y/N):
menu
read selection
case $selection in
[Yy]) randomwords clear ;;
[Nn]) echo "Goodbye!"
clear ;;
*) menu;;
esac
}
function randomwords()
{
while read line
do
wordline[$numwords]=$(echo -n "$line")
numwords=$(($numwords +1))
done < $wordfile
numwords=$(($numwords -1))
selection=$(($RANDOM%$numwords+1))
wordpuzzle=$(echo -n ${wordline[$selection]}|tr [a-z] "-")
letter_entry
}
function letter_entry()
{
24,1 Top
lettercount=$(echo -n $wordpuzzle | wc -c )
liveslost=$(($livesgiven-$LivesRemain))
clear
echo "This is a $lettercount letter word."
echo "You have made $NoAttempts attempts, with $LivesRemain lives remaining and have attempted the following letters: $LettersAttempted"
echo "Please enter a letter to guess the puzzle:"
echo "$wordpuzzle"
read letter_new
puzzle=$(echo $wordpuzzle | grep -c "-")
while [ $puzzle -gt 0 ]
do
case $letter_new in
[A-Za-z]) LettersAttempted=$letter_new$LettersAttempted
NoAttempts=$(($NoAttempts + 1))
lettercheck=$(echo ${wordline[$selection]} | grep -c $letter_new)
if [ $lettercheck -eq 0 ]
then
LivesRemain=$(($LivesRemain-1))
if [[ $LiveRemain == 0 ]]
then
clear
echo "Sorry you have no more lives left. You lost! Thank you for playing Hangman."
lostmessage
else
letter_entry
fi
else
wordpuzzle=$(echo ${wordline[$selection]} | tr -c [$LettersAttempted] "-")
letter_entry
fi ;;
*) echo " Please only enter an alphabet"
letter_entry ;;
esac
done
clear
echo "Congratulations!
The word was $(echo $selection). You have successfully completed the word puzzle with $NoAttempts attempts and the lost of $liveslost lives"
echo "Thank you for playing Hangman!"
while true
do
echo "Do you want to play again? (Y/N)?"
read prompt
case "$prompt" in
[Yy]) menu ;;
[Nn]) return 1 ;;
*) echo "Answer Y or N" ;;
esac
done
}
menu
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
#! /bin/bash
head -5 $1
echo "remove $1 ?"
read answer
if
then
echo invalid answer
elif
rm $1
echo "$1 is deleted"
elif
then
echo file is not deleted
else
echo "invalid answer"
fi
What i really want this to do is to ask to delete the file or not..it says something wrong... (1 Reply)
Discussion started by: nadman123
1 Replies
2. Shell Programming and Scripting
#! /bin/bash
USAGE=" | ]
if
then
echo "$USAGE"
exit 1
fi
while getopts lb: OPTION
do
case $(OPTION)in
a) echo Hi there!
exit 2;;
b) echo hello
o) OARG=$OPTARG;;
\?)echo "$USAGE" ;;
exit 2;;
esac
done
shift `expr... (1 Reply)
Discussion started by: nadman123
1 Replies
3. Shell Programming and Scripting
ls -ld | grep $1 /etc/passwd | cut -d: -f6
i need see the content... (4 Replies)
Discussion started by: nadman123
4 Replies
4. UNIX for Dummies Questions & Answers
if
then
if
then
echo "fst argument is $1 "
else
if
then
"fst argument is $1"
fi
fi
fi
Can anyone tell me. My requirement is tht pass a string ..
Check whether it contains "-". If yes then check if it... (1 Reply)
Discussion started by: nehagupta2008
1 Replies
5. Shell Programming and Scripting
I have a file $I_FILE that I need to filter and store the 1st and the 9th columns in another file $O_FILE.
With this in Perl,
system ("awk -F, '{print \$1, \$9}' \$I_FILE | sed '\/^\$\/d' > O_FILE");
I get:
4096045055
The first line in I_FILE is:... (5 Replies)
Discussion started by: looza
5 Replies
6. Shell Programming and Scripting
Code:
#!/usr/bin/perl -w
use strict;
use warnings;
#Clears Screen
$CLEAR=`clear`;
print $CLEAR;
i get the below error:
Global symbol "$CLEAR" requires explicit package name at ./mutmg.pl line 6.
Global symbol "$CLEAR" requires explicit package name at ./mutmg.pl line 7. (1 Reply)
Discussion started by: sophos
1 Replies
7. Shell Programming and Scripting
Need your assistance, to find the bug in the function.
Function usage erroring out even after passing parameters.
usage() {
if || ; then
echo "************************************************************"
echo " CHECK USAGE FOR CORRECT PARAMETERS ... (26 Replies)
Discussion started by: raghunsi
26 Replies
8. Homework & Coursework Questions
Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted!
1. The problem statement, all variables and given/known data:
ls -ld htdocs
drwxr-x--- 3 root root 8192 2006-11-19 10:41 htdocs
How would a host administrator... (1 Reply)
Discussion started by: Larry_1
1 Replies
9. UNIX for Dummies Questions & Answers
hi whats wrong in below??
CHECK=M10;
if ;
then
echo "hello hi";
else
echo "how are u hello hi";
fi
I am getting error as
./test.sh: line 2: '
./test.sh: line 2: M10: command not found
./test.sh: line 2: M10: command not found
./test.sh: line 2: M10: command not found (8 Replies)
Discussion started by: skyineyes
8 Replies
10. Shell Programming and Scripting
Hi there,
i have a problem i have created followning sh files some years ago but now it dosen`t work anymore i never used it a long time. Can anyone find the Error? Its always runs the stop() block and trying to Killing the Server also if i try to start or creat a new one.
#!/bin/sh
stop()... (6 Replies)
Discussion started by: NewCannon
6 Replies
xjack(6x) XScreenSaver manual xjack(6x)
NAME
xjack - all work and no play makes jack a dull boy
SYNOPSIS
xjack [-display host:display.screen] [-foreground color] [-background color] [-window] [-root] [-delay usecs] [-fps]
DESCRIPTION
All work and no play makes jack a dull boy. All work and no play makes jack a dull boy. All work and no play makes jack a dull boy. All
work and no play makes jack a dull boy. All work and no play makes jack a dull boy. All work and no play makes jack a dull boy.
All work and no play makes jack a dull boy. All work and no play makes jack a dull boy. All work and no play makes jack a dull
boy. All work and no play makes jack a dull boy. All work and no play makes jack a dull boy. All work and no play makes jack a
dull boy.
All work and no play makes jack a dull boy. All work and no play makes jack a dull boy. All work and no play makes jack a dull
boy. All work and no play makes jack a dull boy. All work and no play makes jack a dull boy. All work and no play makes jack a
dull boy. All work and no play makes jack a dull boy. All work and no play makes jack a dull boy.
All work and no play makes jack a dull boy. All work and no play makes jack a dull boy. All work and no play makes jack a dull boy. All
work and no play makes jack a dull boy. All work and no play makes jack a dull boy. All work and no play makes jack a dull boy. All work
and no play makes jack a dull boy. All work and no play makes jack a dull boy.
ENVIRONMENT
DISPLAY All work and no play makes jack a dull boy.
XENVIRONMENT
All work and no play makes jack a dull boy. All work and no play makes jack a dull boy.
SEE ALSO
X(1), xscreensaver(1)
COPYRIGHT
Copyright (C) 1997 by Jamie Zawinski. All work and no play makes jack a dull boy. All work and no play makes jack a dull boy. All work
and no play makes jack a dull boy. All work and no play makes jack a dull boy. All work and no play makes jack a fnord dull boy. All
work and no play makes jack a dull boy.
AUTHOR
Jamie Zawinski <jwz@jwz.org>, 15-Nov-97.
X Version 11 5.15 (28-Sep-2011) xjack(6x)