it.prazzoli.tictactoe
Class player

java.lang.Object
  extended by it.prazzoli.tictactoe.player

public class player
extends java.lang.Object

Questa classe rappresenta un generico giocatore sia esso virtuale oppure umano. Sono implementati alcuni metodi per facilitare la lettura e l’aggiornamento delle informazioni personali legate al giocatore quali nome, cognome, userID, password e punteggio. Dal momento che le informazioni devono essere persistenti, queste sono mantenute in un database, mediante appositi metodi è consentito l’accesso in lettura e scrittura delle informazioni da e verso la base dati. Nel caso venga utilizzato un giocatore virtuale, la classe player, “possiede un” oggetto di tipo AIConfiguration che consente di mantenere la configurazione del modulo AI, che verrà fornita alla procedura di AI quanto necessario.

Author:
Maurizio Prazzoli, maurizio@prazzoli.it

Constructor Summary
player()
          Costruttore di default
player(player originalPlayer)
           
player(java.lang.String pName, java.lang.String pSurname, int pScore, char pSign, boolean pAI)
          Costruttore.
 
Method Summary
 boolean getPlayerAI()
          Restituisce se il giocatore utilizza il modulo AI
 AIConfiguration getPlayerAIConfiguration()
          Restituisce il modulo AI del giocatore corrente
 java.lang.String getPlayerName()
          Restituisce il nome del giocatore
 java.lang.String getPlayerNameAndSurname()
          Restituisce Nome e Cognome del giocatore nel formato nome cognome
 java.lang.String getPlayerNameAndSurnameAndScore()
          Restituisce il valore Nome e Cognome e Score del giocatore nel formato nome cognome
punteggio
 java.lang.String getPlayerPassword()
          Deprecated. insicuro e antiprivacy
 int getPlayerScore()
          Restituisce il valore UserID
 char getPlayerSign()
          Restituisce il punteggio assoluto del giocatore
 java.lang.String getPlayerSurname()
          Restituisce il cognome del giocatore
 java.lang.String getUserID()
          Restituisce il valore UserID del giocatore
 boolean insertNewPlayerIntoDB()
          La funzione si occupa di inserire il giocatore attualmente contenuto nella istanza dell'oggetto nel Database come nuovo giocatore
 boolean isPlayerValid()
          La funzione si occupa di validare il player corrente verificando se: è valorizzato il campo userID nel caso che il giocatore non sia virtuale e se è configurato un simbolo valido
 boolean loadPlayerFromDB(java.lang.String sUSERID, java.lang.String sPASSWORD)
          La funzione si occupa di impostare l'oggetto corrente, utilizzando i dettagli utente recuperato dal database.
 void setPlayerAI(boolean pAi)
          Imposta l'utilizzo del modulo AI per il giocatore
 void setPlayerAIConfiguration(AIConfiguration pAIConf)
          Imposta il modulo di inteligenza artificale
 void setPlayerName(java.lang.String pName)
          Imposta il nome (first name) del giocatore
 void setPlayerPassword(java.lang.String pPassword)
          Imposta la password associata al giocatore
 void setPlayerScore(int pScore)
          Imposta il punteggio assoluto del giocatore
 void setPlayerSign(char pSign)
          Imposta il simbolo utilizzato dal giocatore pSign simbolo utilizzato dal giocatore
 void setPlayerSurname(java.lang.String pSurname)
          Imposta il cognome (lastName) del giocatore
 void setPlayerUserID(java.lang.String pUserID)
          Imposta lo userID univoco associato al giocatore
 boolean updatePlayerScoreIntoDB()
          La funzione si occupa di aggiornare il punteggio del giocatore corrente nel Database
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

player

public player()
Costruttore di default


player

public player(java.lang.String pName,
              java.lang.String pSurname,
              int pScore,
              char pSign,
              boolean pAI)
Costruttore. La classe contiene e gestisce un singolo giocatore ( umano o virtuale ) contiene tutte le informazioni necessarie pe ril mantenimeto. L'oggetto è predisposto per essere letto e scritto da e verso il database.

Parameters:
pName - Nome del Giocatore
pSurname - Cognome del Giocatore
pScore - Punteggio assoluto del Giocatore
pSign - Simbolo utilizzato dal Giocatore
pAI - pAI se il giocatore utilizza AI

player

public player(player originalPlayer)
Method Detail

setPlayerUserID

public void setPlayerUserID(java.lang.String pUserID)
                     throws java.lang.IllegalArgumentException
Imposta lo userID univoco associato al giocatore

Parameters:
pUserID - userID
Throws:
java.lang.IllegalArgumentException

setPlayerName

public void setPlayerName(java.lang.String pName)
                   throws java.lang.IllegalArgumentException
Imposta il nome (first name) del giocatore

Parameters:
pName - nome del giocatore
Throws:
java.lang.IllegalArgumentException - argomento non valido

setPlayerPassword

public void setPlayerPassword(java.lang.String pPassword)
                       throws java.lang.IllegalArgumentException
Imposta la password associata al giocatore

Parameters:
pPassword - password del giocatore
Throws:
java.lang.IllegalArgumentException - argomento non valido

setPlayerSurname

public void setPlayerSurname(java.lang.String pSurname)
                      throws java.lang.IllegalArgumentException
Imposta il cognome (lastName) del giocatore

Parameters:
pSurname - cognome del giocatore
Throws:
java.lang.IllegalArgumentException - argomento non valido

setPlayerScore

public void setPlayerScore(int pScore)
Imposta il punteggio assoluto del giocatore

Parameters:
pScore - punteggio del giocatore

setPlayerSign

public void setPlayerSign(char pSign)
Imposta il simbolo utilizzato dal giocatore pSign simbolo utilizzato dal giocatore


setPlayerAI

public void setPlayerAI(boolean pAi)
Imposta l'utilizzo del modulo AI per il giocatore

Parameters:
pAi - utilizzo modulo AI

setPlayerAIConfiguration

public void setPlayerAIConfiguration(AIConfiguration pAIConf)
Imposta il modulo di inteligenza artificale

Parameters:
pAIConf - modulo inteligenza artificale

getUserID

public java.lang.String getUserID()
Restituisce il valore UserID del giocatore

Returns:
UserID

getPlayerPassword

public java.lang.String getPlayerPassword()
Deprecated. insicuro e antiprivacy

Ritorna la password del giocatore

Returns:
PlayerPassword

getPlayerName

public java.lang.String getPlayerName()
Restituisce il nome del giocatore

Returns:
PlayerName

getPlayerSurname

public java.lang.String getPlayerSurname()
Restituisce il cognome del giocatore

Returns:
PlayerSurname

getPlayerNameAndSurname

public java.lang.String getPlayerNameAndSurname()
Restituisce Nome e Cognome del giocatore nel formato nome cognome

Returns:
PlayerNameAndSurname

getPlayerNameAndSurnameAndScore

public java.lang.String getPlayerNameAndSurnameAndScore()
Restituisce il valore Nome e Cognome e Score del giocatore nel formato nome cognome
punteggio

Returns:
getPlayerNameAndSurnameAndScore

getPlayerScore

public int getPlayerScore()
Restituisce il valore UserID

Returns:
PlayerScore

getPlayerSign

public char getPlayerSign()
Restituisce il punteggio assoluto del giocatore

Returns:
PlayerSign

getPlayerAI

public boolean getPlayerAI()
Restituisce se il giocatore utilizza il modulo AI

Returns:
PlayerAI

getPlayerAIConfiguration

public AIConfiguration getPlayerAIConfiguration()
Restituisce il modulo AI del giocatore corrente

Returns:
userID

isPlayerValid

public boolean isPlayerValid()
La funzione si occupa di validare il player corrente verificando se: è valorizzato il campo userID nel caso che il giocatore non sia virtuale e se è configurato un simbolo valido


insertNewPlayerIntoDB

public boolean insertNewPlayerIntoDB()
                              throws java.lang.Exception
La funzione si occupa di inserire il giocatore attualmente contenuto nella istanza dell'oggetto nel Database come nuovo giocatore

Returns:
Throws:
java.lang.Exception

loadPlayerFromDB

public boolean loadPlayerFromDB(java.lang.String sUSERID,
                                java.lang.String sPASSWORD)
                         throws java.lang.Exception
La funzione si occupa di impostare l'oggetto corrente, utilizzando i dettagli utente recuperato dal database. La funzione si occupa dapprima di verificare se le informazioni di autentecazione rappresentate da userID e Password sono corrette. La seguente verifica, viene eseguita contando il numero di record che hanno i valori di userID e Password forniti

Parameters:
sUSERID - userIF legato all'autente da recuperare dal DB
sPASSWORD - password legata all'autente da recuperare dal DB
Returns:
true in caso di successo.
Throws:
java.lang.Exception

updatePlayerScoreIntoDB

public boolean updatePlayerScoreIntoDB()
                                throws java.lang.Exception
La funzione si occupa di aggiornare il punteggio del giocatore corrente nel Database

Returns:
true in caso di successo, false in caso contrario
Throws:
java.lang.Exception