コード例 #1
0
        static void Main(string[] args)
        {
            // now the attacker is EnemyTank
            EnemyTank enemyTank = new EnemyTank();

            Console.WriteLine("Enemy tank in Basic action\n--------------------------------------");
            enemyTank.assignDriver("Tom");
            enemyTank.driveForward();
            enemyTank.fireWeapon();

            // Enemy Robot basic functionality
            EnemyRobot enemyRobot = new EnemyRobot();

            Console.WriteLine("\n\nEnemy robot in Basic action\n--------------------------------------");
            enemyRobot.reactToHuman("Tom");
            enemyRobot.walkForward();
            enemyRobot.smashWithHands();

            // Use adapter to change the functionality Enemy Robot
            EnemyRobotAttackerAdapter enemyRobotAttackerAdapter = new EnemyRobotAttackerAdapter(enemyRobot);

            Console.WriteLine("\n\nEnemy robot in action\n--------------------------------------");
            enemyRobotAttackerAdapter.assignDriver("Tom");
            enemyRobotAttackerAdapter.driveForward();
            enemyRobotAttackerAdapter.fireWeapon();



            Console.ReadKey();
        }