Benvenuti in una nuova serie di suggerimenti rapidi sulla programmazione orientata agli oggetti! Discuteremo i principi di OOP e come possono essere utilizzati per creare codice organizzato. In questa prima parte, parleremo di cosa è OOP e perché è utile, con alcuni esempi di come potrebbe essere utilizzato nello sviluppo del gioco.
La programmazione orientata agli oggetti (OOP), nel suo senso più fondamentale, è uno stile di programmazione utilizzato per organizzare il codice. I videogiochi possono essere eseguiti da poche migliaia di righe di codice (Cut the Rope ha 15.000) a milioni di righe di codice (Crysis ne ha oltre un milione). Puoi capire perché è così importante scrivere codice che può essere facilmente modificato e mantenuto.
Gli stili di programmazione, come OOP, aiutano a organizzare il codice in modo tale da renderlo più facile da mantenere e modificare. OOP aiuta a organizzare il codice organizzandolo in ciò che è noto come oggetto.
Gli oggetti contengono informazioni su stato e comportamento:
stati sono le caratteristiche dell'oggetto o le parole che useresti per descriverlo e di solito prendono la forma di è o ha descrittori. Un computer è sia acceso che spento, una sedia ha quattro gambe e tu avere un nome.
comportamenti sono le cose che l'oggetto può fare, o le azioni che l'oggetto può eseguire, e di solito sono i verbi che finiscono ing. Siete seduta, utilizzando un computer e lettura Questo articolo.
Come affermato in precedenza, OOP è utile perché aiuta a creare codice gestibile - codice comprensibile, adattabile ed estensibile.
Aiuta anche a creare codice riutilizzabile seguendo il metodo DRY (Do not Repeat Yourself): scrivi il codice una volta e poi riutilizzalo, invece di copiare e incollare.
Il modo di pensare OOP si presta bene anche alla traduzione diretta di oggetti e interazioni del mondo reale in codice.
Elencherò tre diversi esempi di come applicare OOP ai videogiochi. Negli articoli successivi, vedremo come codificare questi esempi, ma per ora ci limiteremo a imparare a identificare gli oggetti e i loro stati e comportamenti.
Innanzitutto, immaginiamo di voler realizzare il classico gioco Asteroids. Per identificare quali sono gli oggetti in Asteroids, prova a descriverlo.
Wikipedia descrive Asteroids come segue:
L'obiettivo di Asteroids è quello di segnare più punti possibile distruggendo asteroidi e dischi volanti. Il giocatore controlla una nave a forma triangolare che può ruotare a sinistra ea destra, spara in avanti e spingere in avanti. Mentre la nave si muove, la quantità di moto non viene conservata - la nave alla fine si ferma di nuovo quando non spinge.
Pensa a cosa in questa descrizione potrebbe stare da solo, o alle cose che sono descritte che potrebbero avere stato e comportamento. Questi diventano i nostri oggetti.
Gli oggetti per gli asteroidi sono: una nave, un asteroide, un disco volante e un proiettile (non si possono dimenticare quelli!). La cosa bella degli oggetti è che normalmente descriviamo le cose in termini di oggetti nella conversazione di tutti i giorni, quindi di solito si rivelano attraverso una descrizione.
Ora che abbiamo identificato i nostri oggetti, definiamo lo stato e il comportamento di uno di essi: la nave del giocatore. Pensa a quali attributi descrivono la nave; questi sono i suoi stati. Quindi pensa a ciò che la nave può fare; questi sono i suoi comportamenti.
Una nave ha stati di:
e comportamenti di:
Ti consentirò di determinare quali sono gli stati e i comportamenti degli oggetti rimanenti.
Quindi, consideriamo un altro gioco classico, Tetris. Di nuovo, iniziamo descrivendo Tetris per trovare i suoi oggetti.
Una sequenza casuale di Tetrominos cade nel campo di gioco. L'obiettivo del gioco è manipolare questi Tetrominos, spostandoli di lato e ruotandoli di 90 gradi, con l'obiettivo di creare una linea orizzontale di dieci blocchi senza spazi vuoti.
In Tetris, l'unico oggetto è un Tetromino. Ha stati di:
e comportamenti di:
L'ultimo gioco che useremo come esempio è Pac-Man.
Il giocatore controlla Pac-Man attraverso un labirinto, mangiando pac-punti o pallini. Quattro nemici [fantasmi] vagano nel labirinto, cercando di catturare Pac-Man. Vicino agli angoli del labirinto ci sono quattro punti più grandi e lampeggianti noti come pallini di potere che forniscono a Pac-Man l'abilità temporanea di mangiare i nemici. I nemici diventano blu intenso, invertono la direzione e di solito si muovono più lentamente.
Per Pac-Man ci sono tre oggetti: Pac-Man, un fantasma e un pac-dot. Un power pellet non è proprio un suo oggetto perché è un pac-punto speciale (parleremo di cosa fare in un articolo successivo). Descriveremo l'oggetto fantasma perché è più interessante.
Il fantasma ha gli stati di:
e comportamenti di:
La programmazione orientata agli oggetti è un modo per organizzare il codice in un videogioco. OOP si concentra su oggetti che sono definiti dal loro stato e dal loro comportamento.
Nel prossimo suggerimento, parleremo del principio di coesione e inizieremo a codificare la struttura di base di un oggetto. Seguici su Twitter, Facebook o Google+ per tenerti aggiornato con gli ultimi post.