示例#1
0
        private void OnStriked(IStriker striker)
        {
            var handler = Striked;

            if (handler != null)
            {
                handler(this, striker);
            }
        }
示例#2
0
        private void OnFail(IStriker ball)
        {
            var handler = GroundCrossed;

            if (handler != null)
            {
                handler(ball);
            }
        }
示例#3
0
        public void Start(IBoard board, IStriker striker)
        {
            board.Initialize(8, 8);

            while (striker.Alive() && !striker.Finished())
            {
                var input = Console.ReadKey();

                switch (input.Key)
                {
                case ConsoleKey.UpArrow:
                {
                    striker.MoveUp();
                    break;
                }

                case ConsoleKey.DownArrow:
                {
                    striker.MoveDown();
                    break;
                }

                case ConsoleKey.LeftArrow:
                {
                    striker.MoveLeft();
                    break;
                }

                case ConsoleKey.RightArrow:
                {
                    striker.MoveRight();
                    break;
                }

                case ConsoleKey.Enter:
                {
                    board.Initialize(8, 8);
                    striker.Reset();
                    break;
                }

                case ConsoleKey.Escape:
                {
                    return;
                }
                }
            }

            End();
        }
示例#4
0
 public override void Initialize(IStriker striker, IConsoleWriter consoleWriter)
 {
     striker.ReduceLives(1);
     consoleWriter.WriteHitByMine();
 }
示例#5
0
 private void OnBlockStriked(AbstractBlock block, IStriker striker)
 {
     _blocks.Remove(block);
     Destroy(block.gameObject);
     OnBlockCountChanged();
 }
示例#6
0
 public override void Initialize(IStriker striker, IConsoleWriter consoleWriter)
 {
     consoleWriter.WriteFinalScore(striker.GetMovesTaken());
 }
示例#7
0
 public virtual void Initialize(IStriker striker, IConsoleWriter renderer)
 {
 }
示例#8
0
 private void OnBallLost(IStriker ball)
 {
     OnFail();
 }
示例#9
0
 public void AddStriker(IStriker str)
 {
     this.strikers.Add(str);
 }