androidゲーム开発の私の小さいゲーム2——连続してゲームを见ます3连続してアルゴリズムを见ます1
1362 ワード
接続できるかどうかを判断することを重視する問題は主に3つの状況を考慮する.
1、接続時に曲がり角がない場合、横と縦に分ける
2、接続時に曲がり角がある場合
3、接続時に2つの曲がり角がある場合、これも本ゲームで一番難しい部分です
まずは曲がり角のない状況を見てみましょう
1、接続時に曲がり角がない場合、横と縦に分ける
2、接続時に曲がり角がある場合
3、接続時に2つの曲がり角がある場合、これも本ゲームで一番難しい部分です
まずは曲がり角のない状況を見てみましょう
//
public boolean isHorizontal()
{
// ,
int bigNumX = 0;
int smallNumX = 0;
//
if(lastClick[1] == curClick[1])
{
if(lastClick[0] > curClick[0])
{
bigNumX=lastClick[0];
smallNumX=curClick[0];
}
else if(lastClick[0] < curClick[0])
{
bigNumX=curClick[0];
smallNumX=lastClick[0];
}
//
if(smallNumX+1 == bigNumX)
{
return true;
}
else//
{
for(int i=smallNumX+1;i<=bigNumX;i++)
{
if(pieces[i][lastClick[1]] == 1)//
return false;
else
return true;
}
}
}
return false;
}
//
public boolean isVertical()
{
int bigNumY = 0;
int smallNumY = 0;
if(lastClick[1] > curClick[1])
{
bigNumY=lastClick[1];
smallNumY=curClick[1];
}
else if(lastClick[1] < curClick[1])
{
bigNumY=curClick[1];
smallNumY=lastClick[1];
}
//
if(smallNumY+1 == bigNumY)
{
return true;
}
else
{
for(int i=smallNumY+1;i<bigNumY;i++)
{
if(pieces[lastClick[0]][i] == 1)//
return false;
else
return true;
}
}
return false;
}