Devo realizzare il gioco forza 4 in C#, è così strutturato:
1) classe cella: una cella può essere "vuota" o "piena" e contenere il giocatore "nessuno" o il giocatore "uno" o il giocatore "due";
2)classe matrice: contiene il numero di colonne e il numero di righe e una matrice di celle.
Riporto qui il codice in questione (ovviamente non tutto il codice):
"class Matrix : Cell
{
protected static int _MaxRow = 10;
protected static int _MaxCol = 10;
protected Cell[,] _Cells = new Cell[_MaxRow, _MaxCol];
protected int _NRow;
protected int _NCol;
protected int _ICol;
public Matrix()
{
_NRow = 10;
_NCol = 10;
_ICol = 0;
}
public Matrix(int rows, int col)
{
if ((rows <= _MaxRow) && (col <= _MaxCol) && (rows > 0) && (col > 0))
{
_NRow = rows;
_NCol = col;
_ICol = 0;
}
}
~Matrix()
{
}
protected bool Initialization(int rows, int col)
{
bool retVal=false;
if((rows<=_MaxRow)&&(col<=_MaxCol)&&(rows>0)&&(col>0))
{
_NRow = rows;
_NCol = col;
retVal=true;
}
return retVal;
}
public int NRow
{
get { return _NRow; }
}
public int NCol
{
get { return _NCol; }
}
public int ICol
{
get { return _ICol; }
set { _ICol = value; }
}
public bool IsColFull(int col)
{
bool retVal = false;
if ((!_Cells[0,col].IsCellEmpty()) && (col >= 0) && (col <= NCol))
retVal = true;
return retVal;
}"
Il problema sorge ogni volta che tento di utilizzare il metodo "IsColFull" per verificare se una colonna del campo di gioco (utilizzo la DataGrid) è piena oppure no (quindi si verifica in fase di esecuzione non in compilazione) evidenziando questa riga:
if ((!_Cells[0,col].IsCellEmpty()) && (col >= 0) && (col <= NCol))
e mostrandomi il seguente messaggio:
NullReferenceException non è stata gestita
Riferimento a un oggetto non impostato su un'istanza di oggetto
Non so proprio come fare, vi ringrazio in anticipo per gli eventuali aiuti.