sabato 8 dicembre 2012

Il programma Sala da Gioco

Il programma sala da gioco, simula un'area di gioco in attesa di giocatori, solitamente per un gioco in rete. Il programma non coinvolge alcuna funzione in linea del computer. Ma crea una singola linea di testo per la quale il giocatore deve aspettare. L'utente del programma esegue una simulazione ed ha quattro scelte. Può aggiungere un giocatore alla sala da gioco, rimuovere una persona dalla sala (la prima ad entrare è al prima ad uscire), azzerare la sala, o uscire dalla sala da gioco.

La classe Giocatore

La prima cosa da fare quando si crea la classe Giocatore e rappresentare i giocatori che aspettano nella sala da gioco. Poiché non sappiamo quanti giocatori deve avere la sala ogni volta, ha senso usare una struttura dinamica. Solitamente, i contenitori utilizzati sono quelli delle librerie standard, ma in questo caso viene definito un contenitore dinamico che possa allocare la memoria ed essere gestito dal programma. Un' ottima via per vedere la memoria dinamica in azione.

 //Sala da Gioco
  //Simula una sala nella quale il giocatore può attendere
  #include<iostream>
  #include<string>
  using namespace std;
class Giocatore
{
public:
          Giocatore(const string& nome=” ”): m_Nome(nome), m_pPros(0){}
          string DaiNome() const { return m_Nome;}
          Giocatore* DaiPros() const { return m_pPros;}
          void MettiPros(Giocatore* prossimo){m_pPros = prossimo;}
private:
           string m_Nome;
           Giocatore* m_pPros; //puntatore al giocatore successivo
};
Il membro dati m_Nome tiene il nome del giocatore. Questo è molto comprensibile, ma ci si può chiedere quale tipo di dato contenga m_pPros. E' un puntatore all'oggetto Giocatore, il quale indica che ogni oggetto Giocatore può contenere il nome e puntare ad un altro oggetto Giocatore. Questo è molto comprensibile durante lo sviluppo dell'oggetto SalaDaGioco. La classe ha due metodi accessori per m_Nome come due funzioni accessorie dai e metti per m_pPros. Il costruttore della classe è molto semplice, inizializza una stringa m_Nome basandosi sull'argomento passato ed imposta m_pPros con un puntatore nullo.

Nessun commento:

Posta un commento