//Sarah Richardson
// Tomball HS
// 30330 Quinn Rd
// Tomball TX 77375
// Senior 3
public class Flock
{
int[][] flock; //nothing at flock[r][0]. index starts at 1
int[][] nFlock;
public Flock()
{
flock = new int[2][11];
nFlock = new int[2][11];
}
public void add(int p)
{
flock[1][p]=1;
}
public int fly() //only works for one stage
{
// System.out.println("flock
before stage occurs");
// printArray(flock);
if(flock[1][10]==1) //bird on main of 10, empty main of 1
{ if(flock[1][1]==0)
{ nFlock[1][1]=1;
flock[1][10]=0;
}
else if(flock[0][10]==0)
nFlock[0][10]=1;
else nFlock[1][10]=1;
}
for(int c=1; c<10; c++) //row 1 through 9
{
if(flock[1][c]==1)//there's a bird on the main of r
{
if(flock[1][c+1]==0)
nFlock[1][c+1]=1;
else if(flock[0][c]==0)
nFlock[0][c]=1;
else nFlock[1][c]=1;
}
if(flock[0][c]==1)//theres a bird on the above of r
{
if(flock[1][c]==0 &&
nFlock[1][c]==0)//theres no bird on main
nFlock[1][c]=1;
//if there is a bird, stay in place
else nFlock[0][c]=1;
}
}
if(flock[0][10]==1)
if(flock[1][10]==0 && nFlock[1][10]==0)
nFlock[1][10]=1;
else nFlock[0][10]=1;
// System.out.println("nFlock
after stage occurs");
// printArray(nFlock);
switchFlocks();
return numMain();
}
public int numMain()//for flock
{
int num=0;
for(int c=1; c<=10; c++)
{
if(flock[1][c]==1)
num++;
}
return num;
}
public void switchFlocks() //clears nFlock
{
for(int r=0; r<=1; r++) //replaces flock with nFlock
for(int c=1; c<=10; c++)
flock[r][c] = nFlock[r][c];
for(int r=0; r<=1; r++) //clears out nFlock
for(int c=1; c<=10; c++)
nFlock[r][c]=0;
}
public void printArray(int[][] f)
{
for(int r=0; r<=1; r++)
{ for(int c=1;
c<=10; c++)
System.out.print(f[r][c]);
System.out.println();
}
System.out.println();
}
}