Proiectul Final de Micro Python
Proiectul Final de Micro Python
Jocul Ludo
Trimis de
Siddhesh Jagdish Shelar
Jainul Jignesh Dave
Shreyash Kiran Dahale
Ojas Yogesh Joshi
Sub îndrumarea
Afilat la
Statul Maharashtra
Consiliul de Educaț ie Tehnică
Certificat
Acesta este pentru a certifica că dl. Siddhesh Jagdish Shelar cu Nr. de rulare - 12 a finalizat cu succes Micro-
proiect în cadrul cursului Programare cu Python (22616) pentru anul academic 2020-21 aș a cum este prescris în
Manual de evaluare' în timpul completării celui de-al ș aselea semestru al programului de diplomă în
Inginerie Computerizată de la institutul Sandip Polytechnic cu codul institutului 1167.
Nashik 1711670171
Obiectivul principal pentru fiecare jucător este să-ș i mute toate piesele sau token-urile la final înaintea oponenț ilor săi.
Desigur, pe parcursul drumului există câteva obstacole pe care jucătorul trebuie să le depăș ească. Parcurgeț i aceste lucruri pas cu pas.
instrucț iuni pentru a obț ine o perspectivă mai bună asupra modului de a stăpâni acest joc uș or.
Un caz de utilizare este o descriere a unui set de secvenț e de acț iuni grafic, fiind redat ca un
elipsă cu Linie solidă incluzând doar numele său. Diagrama de caz de utilizare este o diagramă comportamentală
care arată un set de cazuri de utilizare ș i actori ș i relaț ia lor. Este o asociere între
cazurile de utilizare ș i actorii. Un actor reprezintă un obiect din lumea reală.
Elementele modelului
Jucător: Acesta este modelat printr-un tip de nod. Jucătorii pot avea un identificator sau o culoare pentru
distingeț i-i. Ordinea cíclică a jucătorilor este tipic modelată explicit (prin
margini).
Pion: Acesta este modelat printr-un tip de nod. Fiecare pion aparț ine unui anumit jucător; acesta este
de obicei modelat printr-o margine, sau în unele cazuri printr-o atribut.
Domeniu: Acesta este modelat printr-un tip de nod. Câmpurile de intrare ș i obiectivele sunt tipuri speciale de câmpuri,
de obicei modelat de subtipuri, sau în unele cazuri marcat prin bucle speciale. Acelaș i
poate fi realizat pentru terenurile de acasă, deș i acestea nu sunt esenț iale pentru joc (le-am lăsat
din Fig. 2). Spaț iile de intrare ș i de obiectiv (ș i de acasă) aparț in unui jucător; acesta este, de obicei
modelat de o margine. Poziț ia unui pion (pe un câmp) este la fel modelată de un
margine.
Placă: Aceasta constă din toate câmpurile ș i interconexiunile lor, adică câmpurile următoare ș i
intersec ț iile către câmpurile de obiectiv. Interconexiunile pot fi transformate în noduri, dar
în mod tipic va fi modelat de margini. Tabla în sine nu are neapărat nevoie de o specială
nod, deoarece toate câmpurile îi aparț in deja în mod implicit.
Aceasta este modelată de un nod (singleton), posibil de un tip special, dar opț ional
integrat cu un anumit nod existent. Rezultatul unei aruncări de zar este apoi de obicei un
atributul nodului die.
Strategie: Acesta este modelat de un nod sau o valoare atribut; un jucător poate fi apoi atribuit
o strategie prin adăugarea unei margini sau atribut.
Sr Numele de
Specificaț ie Cant. Observaț ii
Fără resurse/material
Desktop cu Intel Core 2 Duo -
1 Resursă hardware 2.93 GHz, RAM 2GB, HDD 1
160 GB
Resursă software IDE Python -
2 1
3 Orice altă resursă Internet - -
Numele membrilor echipei cu numerele de rol:
Acesta este un joc de Ludo care este foarte uș or de înț eles ș i de utilizat. Vorbind despre
jocul, toate regulile de joc sunt aceleaș i la fel cum jucăm în ludo în timp real. Aici, la început,
utilizatorul trebuie să selecteze jucători, adică fie umani, fie computer. După selectarea umanului, jucătorul
trebuie să introducă detalii precum numele ș i să selecteze o culoare (roș u, verde, galben ș i albastru). jucătorul
poate începe jocul cu doi jucători dacă doreș te. După ce a început jocul, o consolă
tabloul de joc Ludo bazat apare, celelalte reguli rămân aceleaș i. În primul rând, computerul sau jucătorul trebuie să
lansaț i zarurile.
Cel mai important lucru în acest joc bazat pe consolă este că jucătorul trebuie doar să apese „Enter
Apasă tasta "Key" pentru a arunca zarul. În partea de sus a tablei, se afiș ează un zar cu numărul. Sistemul
continuă să se rostogolească până când există un pion posibil de mutat. Toate mi ș cările din joc sunt
efectuat automat. Ori de câte ori jucătorul încearcă să încheie jocul, există o opț iune
disponibil pentru a salva jocul nefinalizat astfel încât el/ea să poată continua mai târziu. O consolă simplă
GUI este oferit pentru un gameplay uș or. Designul gameplay-ului este atât de simplu încât utilizatorul nu va
Cum se joacă
[Link] jucătorului de Ludo.
[Link] Acasă.
[Link] de start.
Reguli de joc
Figura arată modelul spiral al dezvoltării software-ului. Acest model este o combina ț ie de bine-
modelul cunoscut al căderii de apă ș i prototiparea iterativă. Aceasta generează o dezvoltare rapidă a unor soluț ii mai complete
versiunea software-ului. Folosind modelul spiral, software-ul este dezvoltat ca o serie de
Lansări evolutive. În timpul lansărilor iniț iale, poate fi doar documentaț ie sau un prototip. Dar în timpul
versiunile ulterioare ajung la o etapă mai completă.
Modelul spiral poate fi adoptat pentru a fi aplicat pe parcursul întregului ciclu de viaț ă al aplicaț iei de la
dezvoltarea conceptului până la întreț inere. Modelul spiral este împărț it într-un set de activităț i de cadru
definită de echipa de ingineri software. Activitatea ini ț ială este arătată din centrul cercului ș i
dezvoltat în direcț ia acelor de ceasornic. Fiecare spirală a modelului include următoarele patru etape:
Faza de planificare: Această etapă include culegerea cerinț elor, estimarea costurilor, alocarea resurselor.
Risk Analysis Phase: This stage involves strengths and weaknesses of the project. Design Phase:
Această etapă include codificarea, testarea internă ș i implementarea.
Faza de evaluare: Ultima etapă implică evaluarea clientului (testare de partea clientului) pentru a obț ine feedback.
Diverse activităț i care sunt efectuate conform fazelor modelului spiral sunt prezentate în tab.
5.0 Resurse Actuale Utilizate:
Sr
Numele resursei/materialului Specificaț ie Cant. Observaț ii
Nu
Procesor i3/HDD-
1 Resurse hardware 1
1TB/RAM-8GB
IDE Python
2 Resursă software 1
acesta (sine)
>
[Link] = Joc() #
utilizat pentru o imprimare mai frumoasă
self.prompted_for_pawn = False #
salvarea datelor jocului
self.record_maker = MakeRecord()
obț inerea datelor de joc self.record_runner =
Niciunul
def obtine_alegerea_initiala_a_utilizatorului(self):
def vrea_utilizatorul_sa_salveze_jocul(self):
returnează True dacă utilizatorul vrea să salveze jocul
sau Fals
'''
Salvează jocul? 0
- Nu
1 - Da
alegere = self.validate_input(text, int, (0, 1))
returnare alegerea == 1
def solicitare_jucător(self):
obț ine atributele jucătorului din intrare,
dacă alegerea == 1:
nume = self.validate_input("Introduceț i numele jucătorului",
ș ir
opț iuni_disponibile = range(len(culori_disponibile)) dacă
len(opț iunilor_disponibile) > 1:
# arată culorile disponibile
options = ["{} - {}".format(index, colour) for
index, culoare în zip(opț iuni_disponibile,
culori_disponibile
alege culoarea
text += [Link](opț iuni)
alegere = self.validate_input(text, int, available_options)
culoare
altfel:
doar o singură culoare rămasă
culoare = available_colours.pop()
jucător = Jucător(culoare, nume, self.prompt_alege_pion)
elif alegerea == 0:
atribui culori automat
culoare
player = Jucător(culoare)
[Link].add_jucator(player)
0 - adăugaț i jucător
1 - începe jocul cu {} jucători
pentru i în intervalul(2, 4):
def afiseaza_informatia_dupa_turn(self):
a folosit atributele jocului pentru a imprima informaț ii
[[Link] for pawn in [Link].allowed_pawns]
o imprimare mai frumoasă a zarurilor
mesaj = prezent_6_numele_die([Link].rolled_value,
str([Link].curr_player)
+= linie separat
dacă [Link].allowed_pawns: mesaj_de_mutat =
{} este mutat.
[Link].picked_pawn.id) dacă
auto.solictat_pentru_pion
self.prompted_for_pawn = False
mesaj mutat
întoarce
{} pioni posibili de mutat.
.join(pawns_id)
mesaj += " " + mesaj_miș cat dacă
[Link].joga_pionii
Jog pion
mesaj += " ".join([[Link] pentru pawn în [Link].jog_pawns])
altfel:
Nu sunt pioni de mutat.
print(mesaj)
def print_standing(self):
{} - {}
pentru index, jucător în enumerate([Link])]
Clasament:
printaț i(mesajul)
def afiseaza_tabla(self):
print([Link].get_board_pic())
def run_recorded_game(self):
obț ine istoricul jocului (valoare_rulată
ș i pionul permis al indexului) din
înregistrează_executant pentru a reîncerca jocul
îș i încarcă jucătorii înregistraț i()
self.print_players_info()
îș i cere să continue()
pentru rolled_value, index în self.record_runner:
[Link].juca_tura(index, valoare_rolată)
self.print_info_after_turn() self.print_board()
auto.prompt_de_continuare() auto.print_tablou()
def continua_jocul_inregistrat(self):
îmbarcă jocul prin apelarea
metoda play_turn până în momentul în care
jocul a fost întrerupt.
'''
self.load_recorded_players()
self.inregistreaza_jucatorii()
pentru rolled_value, index în self.record_runner:
[Link].joca_ț urn(index, valoare_rulată)
self.record_maker.adauga_tura_joc()
[Link].rolled_value, [Link]
self.print_players_info()
self.print_info_after_turn()
self.print_board()
defineste_jucatorii(self): '''salveaza
jucători pe recorder
pentru jucător în [Link]ători:
self.record_maker.adauga_jucator(player)
file_descr.close()
pentru jucător în self.record_runner.get_players(
alegeț i_pion
[Link].adauga_jucator(player)
def carga_jucătorii_pentru_joacă_nouă(self):
self.prompt_for_players()
self.print_info_jucatori()
self.record_players()
def oferă_salvare_joc(self):
oferă utilizatorului salvarea jocului
dacă self.does_user_want_save_game():
file_descr = self.prompt_for_file(mode="wb")
self.record_maker.save(file_descr)
file_descr.close()
Jocul este salvat
definitie incepe(self):
metoda principală, pornind cli
print()
încearcă:
alegerea = self.get_user_initial_choice() dacă
alegere == 0: # începe un joc nou
self.load_players_for_new_game()
îș i joacă jocul()
elif alegerea == 1: # continuă jocul
self.continue_recorded_game() dacă
[Link]
Nu s-a putut continua.
Jocul este deja terminat
linesep + "Ieș ire"
altfel:
auto.propunere_pentru_a_continua()
self.juca_jocul()
elif alegerea == 2: # recenzie joc jucat
îș i desfăș oară jocul înregistrat()
cu excepț ia (KeyboardInterrupt, EOFError):
Ieș i din joc
dacă numele == ' principal ' :
CLIGame().start()
def oferă_salvare_joc(self):
oferă utilizatorului să salvze jocul
dacă self.does_user_want_save_game():
file_descr = self.prompt_for_file(mode="wb")
self.record_maker.save(file_descr)
file_descr.close()
Jocul este salvat
începe(self):
Ieș iri
1.
2.
3.
4.
7.1 Competen ț e dezvoltate / Rezultatul învă ț ării
acest Micro-Proiect:
a) Rezultate practice:
CONCLUZIE
Ludo este un joc de societate simplu, pentru doi până la patru jucători, în care
jucătorii îș i aleargă cele patru monede de la început până la sfârș it conform aruncărilor de zaruri ș i se bucură
joc, toate regulile de joc coincid similar cu modul în care jucăm în timp real ludo. Mai jos
Iniț ial, individul trebuie să selecteze jucători.
Anexă – IV
6 Pregătirea raportului
(B) Prezentare individuală/Viva (4 puncte)
7 Prezentare
8 Trăiască
(A) (B)
Total punctaj
Evaluarea procesului ș i a produsului Prezentare individuală/Viva
(10 Puncte)
(6 Puncte) (4 Puncte)
…………………………………..……………………………………………………………………………
Numele ș i titlul profesorului cursului: Prof. G.K. Gaikwad, Lecturer
Semnătura datată:
Anexa – IV
Sărăcăcioasă
Medie Bine Excelent
Sr Sub
Caracteristica de evaluat Note Note Note Note
Nu Total
(1-3) (4-5) (6-8) (9-10)
(A) Evaluarea procesului ș i a produsului (6 puncte)
1 Relevanț a pentru curs
2 Revizuirea Literaturii/Colectarea Informaț iilor
6 Pregătirea raportului
(B) Prezentare individuală/Viva (4 puncte)
7 Prezentare
8 Viva
(A) (B)
Total punctaj
Evaluarea procesului ș i produsului Prezentare individuală/Viva
(10 Puncte)
(6 Puncte) (4 puncte)
…………………………………..……………………………………………………………………………
[Link], Lector
Semnătură datată:
Anexa – IV
Fiș a de evaluare a microproiectului
Shreyash Kiran Dahale 1711670155
Inginerie Computerizată V
Cursul: Programare cu Python Codul cursului: 22616
Titlul Micro Proiectului: Jocul Ludo
6 Pregătirea raportului
(B) Prezentare individuală/Viva (4 Puncte)
7 Prezentare
8 Trăiască
(A) (B)
Punctaj total
Evaluarea procesului ș i a produsului Prezentare Individuală/Viva
(10 Puncte)
(6 Puncte) (4 Puncte)
…………………………………..……………………………………………………………………………
[Link], Lector
Semnătură datată:
Anexa – IV
Foaie de evaluare a microproiectului
Ojas Yogesh Joshi 1811670507
Inginerie Computerizată V
Titlul cursului: Programare cu Python Codul cursului: 22616
Titlul microproiectului: Jocul Ludo
R
e
p
r
e
s
e
n
t
a
t
eu
o
n
5 Q
u
un
l
i
t
y
o
f
P
r
o
t
o
t
y
p
e
/
M
o
d
e
l
6 R
e
p
o
r
t
P
r
e
p
a
r
a
t
eu
o
n
(B) Prezentare individuală/Viva (4 Puncte)
7 Prezentare
8 Viva
(A) (B)
Punctaj total
Evaluarea procesului ș i a produsului Prezentare individuală/Viva
(10 Puncte)
(6 Puncte) (4 puncte)
…………………………………..……………………………………………………………………………
[Link], Lector
Semnătură datată:
Statul Maharashtra
Consiliul de Educaț ie Tehnică
Certificat
Se certifică prin prezenta că domnul Jainul Jignesh Dave cu numărul de rol - 01 a finalizat cu succes Micro-proiectul.
în cursul Programării cu Python (22616) pentru anul academic 2021-22 a ș a cum este prescris în
Manual de Evaluare în timpul desfăș urării celui de-al cincilea semestru al Programului de Diplomă în Informatică
Inginerie de la institutul Sandip Polytechnic cu codul institutului 1167.
Statul Maharashtra
Consiliul de Educaț ie Tehnică
Certificat
Aceasta este pentru a certifica că Dl. Shreyash Kiran Dahale cu Nr. de înscriere - 08 a finalizat cu succes Micro-
proiect în cadrul cursului Programare cu Python (22616) pentru anul universitar 2021-22, aș a cum este stabilit în
Nashik 1711670155
Statul Maharashtra
Consiliul de Educaț ie Tehnică
Certificat
Aceasta este pentru a certifica că dl. Ojas Yogesh Joshi cu numărul de rol - 57 a finalizat cu succes Micro-proiectul în
cursProgramare cu Python(22616) pentru anul universitar 2021-22 aș a cum este prescris în 'Evaluare
Manual' în timpul stagiului său de completare a Semestrului Cinci al Programului de Diplomă în Inginerie Computerizată