Sunteți pe pagina 1din 6

Lucrarea de Laborator Nr.

4 Programarea Interactivă

Tema: Interfeţe grafice. Graphical User Interface.

Cerinţe:
 Crearea unei interfeţe grafice la jocul elaborat în laboratorul precedent.

Elaborarea unui joc

1) Elaboraţi un program Python ce ar simula jocul Mystic 8 Ball.

Magic 8 Ball sau mistic 8 Ball, minge ce prezice soarta, este o minge de întrebări şi
răspunsuri, ne spune previziunile cu bila - o jucărie, un mod de comic de a prezice viitorul.

Descriere
Magic 8 Ball - o minge care arata ca o minge de biliard, dar mai mare - de obicei 10-11 cm în
diametru, în care este un recipient cu un lichid de culoare închisă, cum ar fi de cerneală. Se
pune întrebarea, se agită bila şi citeşte răspunsul apărut.

Răspunsuri posibile
În mod tradiţional bila are 20 de răspunsuri care pot fi împărţite în patru grupe.

Pozitiv:
● Este sigur (fără îndoială)
● Este incontestabil (o concluzie dinainte)
● Fără îndoială (fără îndoială)
● Da - cu siguranţă (cu siguranta da)
● Puteţi să vă bazaţi pe ea (Puteţi fi sigur de asta)

Ezitant pozitiv
● După cum văd eu lucrurile, da (cred - "da")
● Cel mai probabil (cel mai probabil)
● Outlook bun (perspective bune)
● Punct de semne pentru a da (semnul spune - "da")
● Da (Yes)

Neutru
● Răspuns neclar, încercaţi din nou (nu este clar, încercaţi din nou)
● Adresaţi-vă din nou mai târziu (întrebaţi mai târziu)
● Mai bine nu-ţi spun acum (Mai bine nu spun)
● Nu se poate prezice acum (Cine nu poate prezice)
● Se concentrează şi întreabă din nou (concentrat şi de a pune din nou)

Negativ
● Nu conta pe el (nu cred)
Lucrarea de Laborator Nr. 4 Programarea Interactivă

● Răspunsul meu este nu (Răspunsul meu - "nu")


● Sursele mele spun că nu (Potrivit informaţiilor mele - "nu")
● Perspectivele nu sunt atît de bune (Perspectivele nu sunt foarte bune)
● Foarte dubios (îndoielnic)

# Iata un exemplu de
# rezultat a acestui program:
#
# Intrebarea a fost... Voi deveni eu bogat?
# Se scutura bila.
# Apare raspunsul...
# Bila misterioasa ne spune... Probabil da.
#
# Intrebarea a fost... Va cistiga Zimbru campionatul europei?
# Se scutura bila.
# Apare raspunsul...
# Bila misterioasa ne spune... Probabil nu.

# Importa modulul random

# Scrieti o functie numar_prezice


# Aceasta va fi o funcţie ajutatoare.
# E ava primi parametru numar si va returna un sir
#
# Numerele posibile pot fi de la 1 pina la 10 inclusiv.
# fiecare numar ar trebui sa faca previziuni
# care va fi raspunsul da sau nu.
#
# Sugestii de raspuns luati de mai sus.
# 0 – Da, probabil!
# 1 – Definitiv nu.
# ...
#
# Daca se tasteaza alta cifra decit cele pina la 10
# trebuie sa afiseze ca ceva nu este corect
# mesaj de atentionare si reintroduce numarul.

def numar_prezice(numar):
# Scrie aici codul.
# Utilizeaza if...elif...else
# pentru a verifica numarul
# si a returna sirul prezis.

def mystical_ball(intrebarea):

# afiseaza intrebarea initiala in consola

# Afiseaza "Ai agitat bila misterioasa."

# Utilizeaza randrange pentru a afla numarul aleator

# Use functia ce transleaza


# numarul selectat aleator
# in prezicere
Lucrarea de Laborator Nr. 4 Programarea Interactivă

# Construieste suspens prin adaugind un rind nou


# Apare raspunsul

# Afiseaza un rind
# Bila ne spune...
# si introdu prezicerea

# afiseaza un rind nou

#Testeaza programul cu intrebarile

mystical_ball("Voi fi eu bogat?")
mystical_ball("Va cîstiga Zimbru campionatul europei?")

2). Elaboraţi un program Python ce ar simula jocul Ghiceşte numărul


Unul dintre cele mai simple jocuri de doi-jucători este "Ghiceşte numărul". Primul jucător se
gîndeşte la un număr secret într-un interval cunoscut, în timp cel de-al doilea jucător încearcă
să ghicească numărul. După fiecare ghicire, răspunsurile primului jucător, trebuie să fie "Mai
mare / Rece", "Mai puţin / Călduţ" sau "Corect! / Fierbinte", În funcţie de faptul dacă numărul
secret este mai mare, mai mic sau egal cu cel ghicit. În acest program, veţi construi un
program interactiv simplu în Python cazul în care computerul va avea rolul de primul jucător
în timp ce dvs. cel de-al doilea jucător.

1. Adaugă o funcţie pentru a reporni jocul, astfel încît să nu aveţi nevoie să faceţi clic în mod
repetat "Run" pentru a juca de mai multe jocuri. Ar trebui să adăugaţi două opţiuni de alegere:
"Interval: 0-100" şi "Interval 0 - 1000", care ar permite jucătorului să aleagă intervale diferite
pentru numărul secret. Folosind oricare din aceste opţiuni ar trebui să reporniţi jocul şi
imprima un mesaj adecvat.

Pe masura ce joci "Ghiceşte numărul", s-ar putea observa că o bună strategie este de a
menţine un interval care constă în cea mai mare valoare din "Mai puţin" decît numărul secret
şi cel mai mic din "Mai mare" decît numărul secret. O alegere bună pentru ghici este numărul
care este media celor două numere. Răspunsul pentru această nouă ghicire atunci vă permite
să dăm un nou interval care conţine numărul secret şi care este pe jumătate la fel de mare. De
exemplu, în cazul în care numărul de secrete este în intervalul [0, 100), este o idee bună
pentru a ghici 50. În cazul în care răspunsul este "Mai mare", numărul secret trebuie să fie în
intervalul [51, 100). Apoi o idee bună este să ghicească 75 şi aşa mai departe. Această tehnică
de îngustare succesiv a gamei corespunde unui algoritm binecunoscut ca Căutare binară.

2. O condiţie de adăugat la finalul jocului "Ghiceşte numărul" ar fi de a restricţiona jucătorul


la un număr limitat de presupuneri (ghiciri). După fiecare ghicire, programul ar trebui să
includă numărul de presupuneri rămase. Odată ce jucătorul a folosit aceste presupuneri, va
pierde, jocul va tipări un mesaj adecvat, şi un nou joc nou va începe imediat.
Lucrarea de Laborator Nr. 4 Programarea Interactivă

Avînd în vedere că strategia de mai sus pentru a juca "Ghiceşte numărul" aproximativ
jumătăţeşte intervalul de posibile numere secrete după fiecare ghicire, orice număr secret în
intervalul [puţin, mare) poate fi întotdeauna găsit în cel mult n presupuneri unde n este cel
mai mic întreg astfel de că 2 ** n> = mare - puţin + 1. Pentru intervalul [0, 100), n este şapte.
Pentru intervalul [0, 1000), n este de zece. La punerea în aplicare a funcţiei new_game() setaţi
numărul de ghiciri permise la şapte cînd intervalul este [0, 100) sau la zece cînd intervalul este
[0, 1000).

Cînd programul începe, jocul ar trebui să înceapă imediat în intervalul [0, 100).

# functia pentru a incepe si restarta jocul


def new_game():
# initializeaza variabilele globale utilizate in cod aici

def range100():
# funcţia ce schimbă intervalul la [0,100) şi începe un joc nou

def range1000():
# funcţia ce schimbă intervalul la [0,1000) şi începe un joc nou

def input_guess(ghicirea):
# logica principala a jocului

# chemare joc nou


new_game()

# Testarea jocului "Ghiceste numarul"

#Test 1

secret_number = 74
input_guess("50")
input_guess("75")

# Rezultatul testului nr.1


#Joc nou. Intervalul este de la 0 la 100
#Numarul de încercari ramas 7
#
#Numarul ghicit este 50
#Numarul de incercari ramas 6
#Mai mare!
#
#Numarul ghicit este 75
#Numarul de incercari ramas 5
Lucrarea de Laborator Nr. 4 Programarea Interactivă

#Mai putin!
#
#Numarul ghicit este 62
#Numarul de incercari ramas 4
#Mai mare!
#
#Numarul ghicit este 68
#Numarul de incercari ramas 3
#Mai mare!
#
#Numarul ghicit este 71
#Numarul de incercari ramas 2
#Mai mare!
#
#Numarul ghicit este 73
#Numarul de incercari ramas 1
#Mai mare!
#
#Numarul ghicit este 74
#Numarul de incercari ramas 0
#Corect!
#
# Joc nou. Intervalul este de la 0 la 100
#Numarul de incercari ramas 7

3)Elaboraţi un program Python ce ar simula jocul ”Piatră, hârtie şi foarfecă”


Piatră, hârtie, foarfecă („jan-ken-pon” în limba japoneză, „rochambeau” în limba franceză)
este o metodă de tragere la sorţi, în care se folosesc gesturi făcute cu mâna pentru a decide
cine a câştiga.

Cei care participă (de obicei 2, dar se poate şi cu mai mulţi), spun „Piatră!” „Hârtie!”
„Foarfecă!” de două ori, dar a doua dată, când spun „foarfecă” (sau în loc de a spune cuvântul
„foarfecă”), fiecare jucător face unul din următoarele gesturi cu mâna: un pumn, o palmă
deschisă sau extinzând degetul arătător şi cel lung ca o foarfecă. Dacă ambii jucători au
acelaşi gest, se repetă până gesturile diferă. Piatra fiind în stare să strice foarfeca, va câştiga
dacă aceste două gesturi au fost făcute. Dacă s-a făcut foarfecă şi hârtie, câştigă foarfeca (căci
poate tăia hârtia), iar dacă se face piatră şi hârtie, câştigă hârtia, căci poate împacheta piatra.
Lucrarea de Laborator Nr. 4 Programarea Interactivă

4) Elaboraţi un program Python ce ar simula jocul ”Piatră, hârtie şi foarfecă” în


varianta mai complexă

5) Elaboraţi un program Python ce ar simula jocul similar cu „Cap sau pajură”

6) Elaboraţi un program Python ce ar simula jocul sau „Cine trage paiul mai
scurt”

S-ar putea să vă placă și