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.

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

  • TSLab 4
    TSLab 4
    Document4 pagini
    TSLab 4
    Ciprian Iluta
    Încă nu există evaluări
  • TMPSLAB5
    TMPSLAB5
    Document3 pagini
    TMPSLAB5
    Ciprian Iluta
    Încă nu există evaluări
  • TS Lab1
    TS Lab1
    Document3 pagini
    TS Lab1
    Ciprian Iluta
    Încă nu există evaluări
  • LL2 Iluța Ciprian
    LL2 Iluța Ciprian
    Document6 pagini
    LL2 Iluța Ciprian
    Ciprian Iluta
    Încă nu există evaluări
  • Nicolcioiu A PDF
    Nicolcioiu A PDF
    Document11 pagini
    Nicolcioiu A PDF
    Lucia Sineavschi
    Încă nu există evaluări
  • TMPSLAB6
    TMPSLAB6
    Document3 pagini
    TMPSLAB6
    Ciprian Iluta
    Încă nu există evaluări
  • Referat G729
    Referat G729
    Document6 pagini
    Referat G729
    Ciprian Iluta
    Încă nu există evaluări
  • IDWeb Lab 2
    IDWeb Lab 2
    Document2 pagini
    IDWeb Lab 2
    Ciprian Iluta
    Încă nu există evaluări
  • Laboratorul 1 SOMIPP
    Laboratorul 1 SOMIPP
    Document6 pagini
    Laboratorul 1 SOMIPP
    Ciprian Iluta
    Încă nu există evaluări
  • SOMIPPlab RU2019
    SOMIPPlab RU2019
    Document107 pagini
    SOMIPPlab RU2019
    Klaudiu Pinzaru
    Încă nu există evaluări
  • Linux
    Linux
    Document1 pagină
    Linux
    Ciprian Iluta
    Încă nu există evaluări
  • Новый текстовый документ
    Новый текстовый документ
    Document1 pagină
    Новый текстовый документ
    Ciprian Iluta
    Încă nu există evaluări
  • Pam Fix
    Pam Fix
    Document1 pagină
    Pam Fix
    Ciprian Iluta
    Încă nu există evaluări
  • AMOOLAB2
    AMOOLAB2
    Document7 pagini
    AMOOLAB2
    Ciprian Iluta
    Încă nu există evaluări
  • List A Not Moldova
    List A Not Moldova
    Document18 pagini
    List A Not Moldova
    Ciprian Iluta
    Încă nu există evaluări
  • Cipru
    Cipru
    Document20 pagini
    Cipru
    Ciprian Iluta
    Încă nu există evaluări