Sunteți pe pagina 1din 6

Ministerul Educaţiei, Culturii și Cercetării al Republicii Moldova

Universitatea Tehnică a Moldovei


Departamentul Informatică și Ingineria Sistemelor

RAPORT
Tema: Elaborarea unui joc interactiv. Interfeţe grafice. Graphical
User Interface.

A efectuat:
st. gr. CR-191 Axenti Alina

A verificat:
l. univ. Struna Vadim

Chişinău – 2021
Laborator nr.4
Tema: Elaborarea unui joc interactiv. Interfeţe grafice.
Graphical User Interface.
Obiective:
 Instalare interpretor / IDE python
 Familiarizare cu limbajul python
• Implementare/executare programe simple folosind Python
IDLE

Cerinţe:
Elaborarea unui joc.
Studiul bibliotecii Tkinter.
Crearea unei interfeţe grafice la jocul elaborat.

Sarcina(Varianta2):
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.
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
#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
Codul programului:
import random
n = int(input("Intervalul de la 1 la x : "))
atemp = int(input("Nr. de incarcari: "))
x=1
numar = random.randint(1, n)
print("\n")
while(x<=atemp):

print(x, end="")
y = int(input(" Ghici: "))

if y == numar:
print("Ai castigat")
break

elif y > numar:


print("Nr este mai mic")
elif y < numar:
print("Nr este mai mare")

x = x +1
print("\n")

Răspuns:
Concluzie:
In aceasta lucrare de laborator nr.4 am lucrat în mediul
programului Python și am facut cunoștință cu bazele
acestui limbaj.Respectiv după sarcina primită am
construit 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”, "Mai mic ". În funcţie
de faptul dacă numărul secret este mai mare, mai mic sau
egal cu cel ghicit. Eventual am construi un program
interactiv simplu în Python .