#!/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"