Sunteți pe pagina 1din 3

Universitatea Tehnica a Moldovei

Facultatea Calculatoare, Informatica si Microelectronica


Departamentul Inginerie Software si Automatica

RAPORT

Lucrarea de laborator № 4

Tehnici și mecanisme de proiectare software


Tema: Șablonul Bridge

A efectuat: Iluța Ciprian, st. gr. TI-173


A verificat: l.u. Sergiu Scrob

Chișinău 2020
1.Scopul:

Studierea domeniului ales anterior si anume tema “simularea unei table de


șah” și identificarea unei probleme de proiectare care poate fi soluționată cu
ajutorul unui șablon de proiectare din clasa șabloanelor creaționale. Implementarea
soluției într-un limbaj de programare orientat pe obiecte. Elaborarea diagramei de
clase UML care corespunde cu soluția implementată, a unui șablon din clasa
creațională. Descrieți problema identificată, motivația, participanții și rolurile lor în
șablonul utilizat. 

2. Șabloane structurale
Șablonul Bridge:
Scopul modelului Bridge este divizarea unui concept în două ierarhii de
clasă independente. Aceste două ierarhii de clasă sunt de obicei numite Interfață și
Implementare

1. class DisplayTable:  
2.     def displayTable(self):  
3.         pass  
4.     def displayInfo(self):  
5.         pass  
6.   
7. class DisplayWhite(DisplayTable):  
8.     def displayTable(self):  
9.         print("  ╔══════════════════════╗\n"  
10.               "8 ║♜ ♞ ♝ ♛ ♚ ♝ ♞ ♜ \n"  
11.               "7 ║♟ ♟ ♟ ♟ ♟ ♟ ♟ ♟ \n"  
12.               "6 ║… … … … … … … … … … … \n"  
13.               "5 ║… … … … … … … … … … … \n"  
14.               "4 ║… … … … … … … … … … … \n"  
15.               "3 ║… … … … … … … … … … … \n"  
16.               "2 ║♙ ♙ ♙ ♙ ♙ ♙ ♙ ♙\n"  
17.               "1 ║♖ ♘ ♗ ♕ ♔ ♗ ♘ ♖ \n"  
18.               "  ╚══════════════════════╝")  
19.     def displayInfo(self):  
20.         print("You play with white pieces against black pieces")  
21.   
22. class DisplayBlack(DisplayTable):  
23.     def displayTable(self):  
24.         print("  ╔══════════════════════╗\n"  
25.               "8 ║♖ ♘ ♗ ♕ ♔ ♗ ♘ ♖ \n"  
26.               "7 ║♙ ♙ ♙ ♙ ♙ ♙ ♙ ♙ \n"  
27.               "6 ║… … … … … … … … … … … \n"  
28.               "5 ║… … … … … … … … … … … \n"  
29.               "4 ║… … … … … … … … … … … \n"  
30.               "3 ║… … … … … … … … … … … \n"  
31.               "2 ║♟ ♟ ♟ ♟ ♟ ♟ ♟ ♟\n"  
32.               "1 ║♜ ♞ ♝ ♛ ♚ ♝ ♞ ♜ \n"  
33.               "  ╚══════════════════════╝")  
34.   
35.     def displayInfo(self):  
36.         print("You play with black pieces against white pieces")  
37. lass ImplementationA(Implementation):  
38.     def displayStrategy(self):  
39.         print ("Try to secure the center of board with a pawn and a horse")  
40.   
41. class ImplementationB(Implementation):  
42.     def displayStrategy(self):  
43.         print("Try to secure all the board by moving first with horse, pawn and Bishop 
after")  

În cadrul temei proiectului meu, design patternul bridge are o importanță


majoră. Prin intermediul acestuia, se poate realiza afișa conceptului de joc.
Jucătorul alege culoare cu care dorește să joace, și nivelul de greutate, iar în baza
acestor date, se creează un joc pentru nivelul potrivit, și pe lângă aceasta, el obține
informație care strategie este mai bună pentru câștig.

3.Concluzie
În urma efectuării acestei lucrări de laborator am studiat si analizat șablonul
de proiectare Bridge pe care l-am implementat în cadrul temei alese. Am studiat
posibilitatile de implementare ale acestui șablon dar și însăși conceptul șablonului
după care l-am implementat cu ajutorul limbajului Python.