Jump to content

Recommended Posts

Posted

Task: Creați o aplicație care se va numi "Rațele și vânătorii". Jocul va avea următoarele obiective si reguli:

  • Programul va genera un număr de 4 cifre, apoi va cere utilizatorului să ghicească acel numar.
  • Pentru fiecare cifră pe care utilizatorul a ghicit-o in locul potrivit, acesta va împușca o rață din cele 4.
  • Pentru fiecare cifră pe care utilizatorul a greșit-o, acesta va pierde o rață.
  • La fiecare încercare a utilizatorului de a ghici numărul și de a împușca toate rațele, afișați pe ecran câte rațe a împușcat și câte a ratat dintre cele 4. Pentru a face jocul mai intractiv, nu menționați pozitia acestora, ci doar numarul lor.
  • Îndata ce utilizatorul ghicește numărul, jocul se va termina.
  • Salvează într-o variabila numărul de încercări ale vânătorului si afișează-l la finalul jocului.

 

Rezolvare:

Spoiler

import random

 

def verificare_numere(number, random_number):
    shot_and_missed = [0, 0] # primele sunt ratele impuscate, apoi cele care au scapat
    for i in range(len(number)):
        if number == random_number:
            shot_and_missed[0]+=1 # crestem numarul ratelor impuscate
        else:
            shot_and_missed[1]+=1 # crestem numarul ratelor care au scapat
    return shot_and_missed

 

if __name__=="__main__":
    random_number = str(random.randint(0,9999)) # generare numar intamplator
    incercari = 0 # numarul de incercari
    derulare_joc = True

 

    print('Bine ai venit in jocul "Ratele si vanatorii"! Tu vei fi vanatorul meu!')
    print('Voi genera un numar intamplator, format din patru cifre. Fiecare cifra va corespunde unei rate.')
    print('Va trebui sa ghicesti numarul, dandu-ti seama de fiecare cifra, pe rand.')
    print('Pentru fiecare cifra tastata in locul corect, vei impusca o rata.')
    print('Pentru fiecare cifra tastata gresit, vei pierde o rata.')
    print('Scopul tau este sa impusti toate cele 4 rate.')
    print("Sa incepem!")

 

    while derulare_joc:
        number = input("\nIntroduceti numarul: ")


        if random_number == 'iesire':
            break;


        rezultat_impuscaturi = verificare_numere(number, random_number)
        incercari+=1

 

        print('Rate impuscate: ' + str(rezultat_impuscaturi[0]) + ' / Rate care au scapat: ' + str(rezultat_impuscaturi[1]) + '.')

 

        if rezultat_impuscaturi[0] == 4:
            derulare_joc = False
            print('Felicitari! Ai impuscat toate cele 4 rate. Numarul generat de computer a fost: ' + str(random_number) + ', fiecare cifra apartinand fiecareia dintre cele 4 rate.')
            print('Ai castigat jocul dupa ' + str(incercari) + ' incercari!')
            break;
        else:
            print('Incearca din nou!')
 

 

ratele-si-vanatorii.png

 

ratele-si-vanatorii2.png

  • Like 2

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...