05-05-2011, 18:22
|
|
|
חבר מתאריך: 17.01.11
הודעות: 18
|
|
java עזרה בדיבוג.
אני צריכה לכתוב משחק, 4 בשורה.
כתבתי, מתקמפל, עובד.
אבל.
ברגע שאני ממלאת עמודה, ותור המחשב לשחק, צועק לי על השורה הזאת:
שיש אקספשן OUT OF BOUNDS.
השורה הזאת נמצאת בתוך הקטע הזה:
קוד:
if(player== O)
{
Cell[] place= getFreeCells();
int index, row, col;
index=(int)(Math.round(Math.random() * place.length)) - 1;
row=place[index].getRow();
col=place[index].getCol();
_board[row][col]=player;
}
והבעיה יכולה להיות גם כאן אני מניחה:
שזו השיטה הזו:
קוד:
private Cell[] getFreeCells()
{
int num=0, i, j, len=0;
len= _board[0].length;
Cell[] arr= new Cell[len];
for(j=0; j<len; j++)
{
for(i=0; i<len; i++)
{
if( _board[i][j]==EMPTY)
{
arr[num]=new Cell( i, j);
num++;
break;
}
}
}
if( num==0)
return null;
Cell[] finalArr= new Cell[num];
for(i=0; i<num; i++)
{
finalArr[i]= arr[i];
}
return finalArr;
}
הבעיה היא שאני פשוט לא מצליחה למצוא כאן שום דבר לא נכון!
ישבתי, חיפשתי, שיחקתי, לא ברור.
הושיעו?
תודה
|