예제 #1
0
        private bool AddRandomCage()
        {
            Cage randCage = GetRandomCage();

            if (randCage == null)
            {
                GameOver();
                return(false);
            }

            Cage cage = new Cage();

            cage.Name   = $"cage_{CageCounter}";
            cage.Size   = CageSize;
            cage.Number = DefaultNumber;
            cage.ApplyNumber();
            cage.Position = randCage.Position;
            cage.Location = new Point(
                Location.Y + randCage.Position.X * CageSize.Width + (CageDistance * randCage.Position.X),
                Location.X + randCage.Position.Y * CageSize.Height + (CageDistance * randCage.Position.Y));
            cage.PreviewKeyDown += Cage_PreviewKeyDown;

            Cages.Add(cage);
            MainForm.Controls.Add(cage);
            cage.BringToFront();
            CageCounter++;

            new Animation(CageDistance, 20, IsAnimation).ShowCage(cage, cage.BackColor);

            return(true);
        }
예제 #2
0
 public Cage ConstructCage(int capacity, bool requireCleaning)
 {
     Cages.Add(new Cage(capacity, requireCleaning));
     return(Cages.Last());
 }