Bine ați venit la o nouă serie de sfaturi rapide privind programarea orientată pe obiecte! Vom trece peste principiile POO și modul în care pot fi folosite pentru a crea codul organizat. În această primă parte, vom vorbi despre ce este OOP și de ce este util, cu câteva exemple despre cum ar putea fi folosit în dezvoltarea jocurilor.
Programarea orientată pe obiecte (OOP), în sensul său cel mai de bază, este un stil de programare folosit pentru organizarea codului. Jocurile video pot rula oriunde, de la câteva mii de linii de cod (tăiați coarda are 15.000) la milioane de linii de cod lung (Crysis are peste un milion). Puteți vedea de ce este atât de important să scrieți un cod care poate fi ușor modificat și menținut.
Stilurile de programare, cum ar fi OOP, ajută la organizarea codului în așa fel încât să devină mai ușor de întreținut și de modificat. OOP ajută la organizarea codului organizându-l în ceea ce este cunoscut sub numele de obiecte.
Obiectele dețin informații despre stat și comportament:
statele sunt caracteristicile obiectului, sau cuvintele pe care le-ați folosi pentru ao descrie și de obicei iau forma este sau are descriptori. Un calculator este fie pe sau în afara, un scaun are patru picioare, și tu avea un nume.
comportamente sunt lucrurile pe care le poate face obiectul do, sau acțiunile pe care le poate face obiectul a executa, și sunt, de obicei, verbe care se termină ING. Tu esti ședință, utilizând un computer și citind Acest articol.
Așa cum am spus mai devreme, OOP este de ajutor, deoarece ajută la crearea unui cod care să fie ușor de înțeles, adaptabil și extensibil.
De asemenea, ajută la crearea unui cod reutilizabil, urmând metoda DRY (Nu repetați-vă): scrieți codul o dată și apoi reutilizați-l, mai degrabă decât copierea și lipirea.
Modul de gândire al OOP se pretează, de asemenea, la traducerea directă a obiectelor și a interacțiunilor din lumea reală în cod.
Voi enumera trei exemple diferite privind modul de aplicare a OOP la jocurile video. În articolele ulterioare, vom examina cum să codificăm aceste exemple, dar deocamdată vom rămâne la învățare pentru a identifica obiectele și stările și comportamentele lor.
În primul rând, să ne imaginăm că vrem să facem jocul clasic Asteroizi. Pentru a identifica ce obiecte sunt în asteroizi, încercați să o descrieți.
Wikipedia descrie asteroizii după cum urmează:
Obiectivul Asteroizii este de a înscrie cât mai multe puncte posibil prin distrugerea asteroizilor și farfuriilor zburătoare. Jucătorul controlează o navă în formă triunghiulară care se poate roti la stânga și la dreapta, focuri de foc direct și înainte. Când nava se mișcă, impulsul nu este conservat - nava în cele din urmă se oprește din nou când nu se împinge.
Gândiți-vă la ceea ce în această descriere ar putea fi singur, sau la lucrurile descrise care ar putea avea starea și comportamentul. Acestea devin noastre obiecte.
Obiectele pentru asteroizi sunt: o navă, un asteroid, o farfurie zburătoare și un glonț (nu-i uităm pe aceia!). Lucru minunat despre obiecte este că în mod obișnuit, descriem lucrurile în termeni de obiecte în discuțiile de zi cu zi, de aceea se dezvăluie de obicei printr-o descriere.
Acum, când ne-am identificat obiectele, să definim starea și comportamentul pentru una dintre ele: nava jucătorului. Gândiți-vă la ce atribute descriu nava; acestea sunt statele sale. Apoi gândiți-vă ce poate face nava; acestea sunt comportamentele sale.
O navă are state de:
și comportamentele:
Vă voi lăsa să stabiliți ce stări și comportamente ale obiectelor rămase sunt.
Apoi, să luăm în considerare un alt joc clasic, Tetris. Din nou, începem prin descrierea lui Tetris pentru a-și găsi obiectele.
O secvență aleatorie de Tetromino cade pe câmpul de joc. Obiectivul jocului este de a manipula aceste Tetromino, mutându-se pe fiecare în lateral și rotind-o cu unități de 90 de grade, cu scopul de a crea o linie orizontală de zece blocuri fără goluri.
În Tetris, într-adevăr singurul obiect este un Tetromino. Are state de:
și comportamentele:
Ultimul joc pe care îl vom folosi ca exemplu este Pac-Man.
Jucătorul controlează Pac-Man printr-un labirint, mănâncă pac-puncte sau pelete. Patru dușmani [fantome] străbat labirintul, încercând să-l prindă pe Pac-Man. În apropierea colțurilor labirintului se află patru puncte mai mari, intermitente, cunoscute sub denumirea de pelete de putere, care oferă lui Pac-Man capacitatea temporară de a mânca inamicii. Inamicii se întorc în albastru, în direcția inversă și se mișcă de obicei mai încet.
Pentru Pac-Man, există trei obiecte: Pac-Man, o fantomă și un pac-punct. O peletă de putere nu este propriul obiect propriu, deoarece este un pac-punct special (vom vorbi despre ce să facem cu privire la acest lucru într-un articol ulterior). Vom descrie obiectul fantomă pentru că este mai interesant.
Fantoma are stări de:
și comportamentele:
Object-oriented programming este o modalitate de a organiza codul într-un joc video. POO se concentrează pe obiecte care sunt definite de starea lor și comportamentul lor.
În următorul Sfat rapid, vom vorbi despre principiul coeziunii și vom începe să codificăm structura de bază a unui obiect. Urmăriți-ne pe Twitter, Facebook sau Google+ pentru a fi la curent cu cele mai recente postări.