//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();

     

      }

     

     

}