#!/bin/bash
# Assignment2.bash
declare -a TorpedoMiss[18]
declare -a TorpedoHit[18]
declare torpedo_count=19
declare torpedo=18
declare index=0
declare subhit=0
declare target
#declare nDepth
#declare disengage
#declare AbandonResupply
for ((i==0;i<18;i++))
do
TorpedoMiss[i]="0"
TorpedoHit[i]="0"
done
let "target = $RANDOM % (12 - 6 + 1) + 6"
echo "Welcome aboard Captain. Prepare to engage!"
#while ((torpedo_count!="0"))
#do
echo -n "Torpedoes left :"
echo $torpedo
echo -n "Targets insight :"
echo $target
declare fire
declare hitmiss1
declare hitmiss2
declare hitmiss3
RANDOM=$$
echo -n "How many do you wish to fire, Captain? (1, 2, or 3) :"
read fire
if (($fire=="1"))
then
let "hitmiss1 = $RANDOM % 3"
if ((hitmiss1=="0"))
then
echo "HIT!"
let "TorpedoHit[index]=TorpedoHit[$index]+1"
let "index=$index+1"
let "target=$target+1"
elif (($hitmiss1=="1"))
then
echo "MISS!"
let "TorpedoMiss[index]=TorpedoMiss[$index]+1"
let "index=$index+1"
let "target=$target+1"
else
echo "MISS!"
let "TorpedoMiss[index}=TorpedoMiss[$index]+1"
let "index=$index+1"
let "target=$target+1"
fi
let "torpedo=$torpedo-1"
let "torpedo_count=$torpedo_count-1"
let "RANDOM = $RANDOM + 1"
elif (($fire=="2"))
then
let "hitmiss1 = $RANDOM % 3"
if (($hitmiss1=="0"))
then
echo "HIT!"
let "TorpedoHit[index]=TorpedoHit[$index]+1"
let "index=$index+1"
let "target=$target+1"
elif (($hitmiss1=="1"))
then
echo "MISS!"
let "TorpedoMiss[index]=TorpedoMiss[$index]+1"
let "index=$index+1"
let "target=$target+1"
else
let "TorpedoMiss[index]=TorpedoMiss[$index]+1"
let "index=$index+1"
let "target=$target+1"
fi
RANDOM=$$
let "hitmiss2 = $RANDOM % 3"
if (($hitmiss2=="0"))
then
echo "HIT!"
let "TorpedoHit[index]=TorpedoHit[$index]+1"
let "index=$index+1"
let "target=$target+1"
elif (($hitmiss2=="1"))
then
echo "MISS!"
let "TorpedoMiss[index]=TorpedoMiss[$index]+1"
let "index=$index+1"
let "target=$target+1"
else
let "TorpedoMiss[index]=TorpedoMiss[$index]+1"
let "index=$index+1"
let "target=$target+1"
fi
let "torpedo=$torpedo-2"
let "torpedo_count=$torpedo_count-2"
let "RANDOM=$RANDOM+1"
elif (($fire=="3"))
then
let "hitmiss1 = $RANDOM % 3"
if (($hitmiss1=="0"))
then
echo "HIT!"
let "TorpedoHit[index]=TorpedoHit[$index]+1"
let "index=$index+1"
let "target=$target+1"
elif (($hitmiss2=="1"))
then
echo "MISS!"
let "TorpedoMiss[index]=TorpedoMiss[$index]+1"
let "index=$index+1"
let "target=$target+1"
else
let "TorpedoMiss[index]=TorpedoMiss[$index]+1"
let "index=$index+1"
let "target=$target+1"
fi
let "hitmiss2 = $RANDOM % 3"
if (($hitmiss2=="0"))
then
echo "HIT!"
let "TorpedoHit[index]=TorpedoHit[$index]+1"
let "index=$index+1"
let "target=$target+1"
elif (($hitmiss2=="1"))
then
echo "MISS!"
let "TorpedoMiss[index]=TorpedoMiss[$index]+1"
let "index=$index+1"
let "target=$target+1"
else
let "TorpedoMiss[index]=TorpedoMiss[$index]+1"
let "index=$index+1"
let "target=$target+1"
fi
let "hitmiss3 = $RANDOM % 3"
if (($hitmiss3=="0"))
then
echo "HIT!"
let "TorpedoHit[index]=TorpedoHit[$index]+1"
let "index=$index+1"
let "target=$target+1"
elif (($hitmiss3=="1"))
then
echo "MISS!"
let "TorpedoMiss[index]=TorpedoMiss[$index]+1"
let "index=$index+1"
let "target=$target+1"
else
let "TorpedoMiss[index]=TorpedoMiss[$index]+1"
let "index=$index+1"
let "target=$target+1"
fi
let "torpedo=$torpedo-3"
let "torpedo_count=$torpedo_count-3"
let "RANDOM=$RANDOM+1"
fi
echo -n "A Destroyer is in-bound! Enter dive depth (0-150 meters): "
read nDepth
#declare MAXARRAY=150
#declare MAXRUN=50
#declare TRUE=1
#declare bNotHit
#let bNotHit=$TRUE
#declare nCharge=0
#declare nRunSoFar=0
#let "nCharge=$MAXARRAY*$RANDOM/(
echo -n "Would you like to disengage? (Y/N) "
read disengage
if [[$disengage=="n"]] || [[$disengage=="N"]]
then
echo "You had selected not to disengage."
elif (($disengage=="y")) || (($disengage=="Y")) || (($torpedo=="0")) || (($target=="0")) || (($subhit=="0"))
declare total_hits=0
declare total_miss=0
for ((i=0;i<10;i++))
do
total_hits=$total_hits+${TorpedoHit[i]}
total_miss=$total_miss+${TorpedoHit[i]}
done
echo "Results of Attack: "
echo -n "$total_hit"
echo " hits."
echo -n "$total_miss"
echo " misses."
echo -n "$total_hit"
echo " ships sunk."
if (($torpedo=="0"))
then
echo "Captain, we are out of torpedoes, would you like to: Abandon Ship\(Q) or resupply and re-engage\(R)?"
read AbandonResupply
elif (($target=="0"))
then
echo "Captain, we are out of target, would you like to: Abandon Ship\(Q) or resupply and re-engage\(R)?"
read AbandonResupply
elif (($subhit=="3"))
then
echo "Captain, we are sunk, would you like to: Abandon Ship\(Q) or resupply and re-engage\(R)?"
read AbandonResupply
elif (($disengage=="Y")) || (($disengage=="y"))
then
echo "Captain, would you like to: Abandon Ship\(Q) or resupply and re-engage\(R)?"
read AbandonResupply
if (($AbandonResupply=="Q")) || (($AbandonResupply=="q"))
then
let "$torpedo_count=0"
elif(($AbandonResupply=="R")) || (($AbandonResupply=="r"))
then
let "torpedo=$torpedo+18"
let "torpedo_count=19"
let "index=0"
if (($target=="0"))
then
let "target=$RANDOM % (12 - 6 + 1) + 6"
fi
fi
fi
done
echo "$target"