Skip to content

Commit

Permalink
Merge pull request #1 from micheal-ndoh/main
Browse files Browse the repository at this point in the history
Guessing Game
  • Loading branch information
micheal-ndoh authored Nov 12, 2024
2 parents 3a99e94 + 22f2039 commit 12991ce
Show file tree
Hide file tree
Showing 7 changed files with 238 additions and 23 deletions.
6 changes: 6 additions & 0 deletions A_simple_process_for_fun.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/bin/bash
# A script that loops through a list of files
for file in *.txt
do
echo "Processing $file"
done
11 changes: 11 additions & 0 deletions Checking_arguements.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@

#!/bin/bash
# A script that checks for the correct number of arguments

if [ "$#" -eq 0 ]; then
echo "You need to provide arguments"
exit 1
fi

echo "Arguments are: $* "
echo " total argumenrs are : $# "
131 changes: 131 additions & 0 deletions Guessing_game_improved.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
#!/bin/bash

TITLE="WELCOME_TO_THE_ULTIMATE_GAME"
figlet "$TITLE"

guessing_game() {
rand_number=$((RANDOM % $1))
guess_numbers=($2 $3 $4)

usage() {
echo "0. EASY"
echo "1. NORMAL"
echo "2. HARD"
echo "3. SUPER HARD"
echo "4. Win twice and receive 1k Mode"
}

todo() {
read -p "Enter MODE " MODE
case $MODE in
0)
echo "EASY MODE"
for i in {1..3}; do
guess_number=${guess_numbers[$i]}
if [ "$rand_number" -eq "$guess_number" ]; then
echo "Congratulations, You Won!"
return
elif [ "$rand_number" -gt "$guess_number" ]; then
echo "You missed! The random number is greater than $guess_number"
else
echo "You missed! The random number is lesser than $guess_number"
fi
echo "Please try again!"
done
echo "You lose, the number was $rand_number"
read -p "Enter r to restart: " r
if [ "$r" = 'r' ]; then
usage
todo
fi
;;
1)
echo "NORMAL selected"
for i in {1..3}; do
guess_number=${guess_numbers[$i]}
if [ "$rand_number" -eq "$guess_number" ]; then
echo "Congratulations, You Won!"
return
elif [ "$rand_number" -gt "$guess_number" ]; then
echo "You missed! The random number is greater than $guess_number"
else
echo "You missed! The random number is lesser than $guess_number"
fi
echo "Please try again!"
done
echo "You lose, the number was $rand_number"
read -p "Enter r to restart: " r
if [ "$r" = 'r' ]; then
usage
todo
fi
;;
2)
echo "HARD selected"
for i in {1..3}; do
guess_number=${guess_numbers[$i]}
if [ "$rand_number" -eq "$guess_number" ]; then
echo "Congratulations, You Won!"
return
elif [ "$rand_number" -gt "$guess_number" ]; then
echo "You missed! The random number is greater than $guess_number"
else
echo "You missed! The random number is lesser than $guess_number"
fi
echo "Please try again!"
done
echo "You lose, the number was $rand_number"
read -p "Enter r to restart: " r
if [ "$r" = 'r' ]; then
usage
todo
fi
;;
3)
echo "SUPER HARD"
for i in {1..3}; do
guess_number=${guess_numbers[$i]}
if [ "$rand_number" -eq "$guess_number" ]; then
echo "Congratulations, You Won!"
return
elif [ "$rand_number" -gt "$guess_number" ]; then
echo "You missed! The random number is greater than $guess_number"
else
echo "You missed! The random number is lesser than $guess_number"
fi
echo "Please try again!"
done
echo "You lose, the number was $rand_number"
read -p "Enter r to restart: " r
if [ "$r" = 'r' ]; then
usage
todo
fi
;;
4)
echo "Win twice and receive 1k Mode"
for i in {1..3}; do
guess_number=${guess_numbers[$i]}
if [ "$rand_number" -eq "$guess_number" ]; then
echo "Congratulations, You Won!"
return
elif [ "$rand_number" -gt "$guess_number" ]; then
echo "You missed! The random number is greater than $guess_number"
else
echo "You missed! The random number is lesser than $guess_number"
fi
echo "Please try again!"
done
echo "You lose, the number was $rand_number"
read -p "Enter r to restart: " r
if [ "$r" = 'r' ]; then
usage
todo
fi
;;
esac
}

usage
todo
}
78 changes: 78 additions & 0 deletions Guessing_game_pro.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
#!/bin/bash

# Title
TITLE="WELCOME TO ICE ULTIMATE GAME"
figlet "$TITLE"
# inittializing WIN/LOSS
WIN=0
LOSS=0
# Function to display game modes
usage() {
echo "Select a game mode:"
echo "0. EASY (1-10)"
echo "1. NORMAL (1-25)"
echo "2. HARD (1-50)"
echo "3. SUPER HARD (1-100)"
echo "4. WIN TWICE AND RECEIVE 1K (1-1000)"
}

# Function to generate random number
generate_random_number() {
local max_number=$1
echo $((RANDOM % max_number + 1))
}

# Function to play the game
play_game() {
local mode=$1
local max_number
case $mode in
0) max_number=10 ;;
1) max_number=25 ;;
2) max_number=50 ;;
3) max_number=100 ;;
4) max_number=1000 ;;
esac

local rand_number=$(generate_random_number $max_number)
local attempts=0
local max_attempts=3

while [ $attempts -lt $max_attempts ]; do
read -p "Guess the number (1-$max_number): " guess_number
((attempts++))

if [ "$rand_number" -eq "$guess_number" ]; then
echo "Congratulations, You Won!"
WIN=$((WIN + 1))
return
elif [ "$rand_number" -gt "$guess_number" ]; then
echo "You missed! The random number is greater than $guess_number"
LOSS=$((LOSS + 1))
else
echo "You missed! The random number is lesser than $guess_number"
LOSS=$((LOSS + 1))
fi
done

echo "You lose, the number was $rand_number"
}

# Main game loop
while true; do
usage
read -p "Enter your choice: " mode

case $mode in
0|1|2|3|4) play_game $mode ;;
*) echo "Invalid choice. Please try again." ;;
esac

read -p "Play again? (y/n): " play_again
if [ "$play_again" != "y" ]; then
break
fi
done



12 changes: 12 additions & 0 deletions Learning_Conditional_arguments.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@

#!/bin/bash
# A simple conditional script
if [ $# -ne 1]; then
echo " At least one number is required"
exit 1
fi
if [ $1 -gt 10 ]; then
echo "The number is greater than 10"
else
echo "The number is less than or equal to 10"
fi
23 changes: 0 additions & 23 deletions guess_number.sh

This file was deleted.

Empty file added output.txt
Empty file.

0 comments on commit 12991ce

Please sign in to comment.