In: Computer Science
Write a program in PYTHON for a (very) rudimentary
shooter "game". You are the only shooter and you start with ammo
of 10. The one enemy doesn't shoot back and starts with
health of 5. Code a custom function named shoot that
prints "Shot fired" and returns True for a hit
or False for a miss. Generate a random 0 to assign
False or 1 to assign True. In the main function, use a while
loop that runs the shoot function until you run out of ammo, at
which point you lose. Report both hits and misses (see Sample
Outputs). If your shot is a hit as determined by the value returned
by shoot, your code should lower the enemy's health. If you are
lucky, the health of the enemy will be reduced to zero before you
run out of ammo. If this happens, report the enemy's demise and use
the break keyword to stop the loop. You have won.
Sample Output 1
Shot fired. Enemy was hit!
Shot fired. Shot missed
Shot fired. Enemy was hit!
Shot fired. Enemy was hit!
Shot fired. Enemy was hit!
Shot fired. Enemy was hit!
Enemy destroyed. You won!
GAME OVER
Sample Output 2
Shot fired. Shot missed
Shot fired. Enemy was hit!
Shot fired. Shot missed
Shot fired. Shot missed
Shot fired. Shot missed
Shot fired. Enemy was hit!
Shot fired. Shot missed
Shot fired. Shot missed
Shot fired. Shot missed
Shot fired. Enemy was hit!
You are out of ammo! You lose!
GAME OVER
#Python Code For Game
import random as ran         # import random module to generate random numbers
my_ammo = 10                # my starting ammo of 10
enemy_health = 5            # Enemy health at start
def shoot():                # function to shoot ammo
    print("Shot fired.", end=" ")
    if ran.randrange(0, 2) == 0:     # select random number, 0 or 1 as true or false
        return False
    return True
while my_ammo > 0:              # while loop to loop until no more ammo left
    if enemy_health == 0:       # check if all the enemy health ended up
        print("Enemy destroyed. You won!")
        break                   # to break the loop
    elif shoot():               # else check for shoot() returns true or not
        enemy_health -= 1       # reduce enemy health by 1
        my_ammo -= 1            # reduce ammo by 1
        print("Enemy was hit!")
    else:
        my_ammo -= 1            # reduce ammo by 1
        print("Shot missed")
if my_ammo == 0:                # check if all the ammo ended up
    print("You are out of ammo! You lose!")