Exemple #1
0
        static void Main(string[] args)
        {
            var samsungS8     = new SamsungS8();
            var andoidCharger = new AndoidCharger();

            andoidCharger.Charge(samsungS8);

            var iphoneX       = new IPhoneX();
            var iphoneCharger = new IPhoneCharger();

            iphoneCharger.Charge(iphoneX);

            // Adapter
            var adapter = new AndroidToIphoneAdapter(samsungS8);

            iphoneCharger.Charge(adapter);

            var tank = new EnemyTank();

            Attack(tank);

            var enemyRobot        = new EnemyRobot();
            var enemyRobotAdapter = new EnemyRobotAdapter(enemyRobot);

            Attack(enemyRobotAdapter);


            // Not the best...
            ILocomotion car   = new FordFigo();
            var         speed = car.Speed();

            var speedAdpater = new SpeedAdapter(car);

            speedAdpater.Speed();
        }
Exemple #2
0
        static void Main(string[] args)
        {
            EnemyTank rx7Tank = new EnemyTank();

            EnemyRobot fredTheRobot = new EnemyRobot();

            IEnemyAttacker robotAdapter = new EnemyRobotAdapter(fredTheRobot);

            Console.WriteLine("The Robot");

            fredTheRobot.ReactToHuman("Paul");
            fredTheRobot.WalkForward();
            fredTheRobot.SmashWithHands();
            Console.WriteLine();

            Console.WriteLine("The Enemy Tank");

            rx7Tank.AssignDriver("Frank");
            rx7Tank.DriveForward();
            rx7Tank.FireWeapon();
            Console.WriteLine();

            Console.WriteLine("The Robot with Adapter");
            robotAdapter.AssignDriver("Mark");
            robotAdapter.DriveForward();
            robotAdapter.FireWeapon();
        }
Exemple #3
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();
        }
    //任意点でのロード
    public IEnumerator CPLoad(int gateNum)
    {
        Image black_out;

        black_out       = GameObject.Find("Black").GetComponent <Image>();
        black_out.color = new Color(0, 0, 0, 256);
        transform.GetComponent <PlayerMove>().controller.enabled = false;
        transform.position = friendlyposition;
        transform.GetComponent <PlayerMove>().controller.enabled = true;
        TimerScript.time = correntTime[gateNum];
        for (int i = 0; i < enemies.Length; i++)
        {
            enemyRobot = enemies[i].GetComponent <EnemyRobot>();
            enemyRobot.StopAllCoroutines();
            yield return(null);

            enemies[i].transform.position = EnemiesPositionData[gateNum][i];
            enemyRobot.ReStertCoroutine(EnemiesPositionData[gateNum][i]);
        }
        dethCount--;
        if (gateNum == 1)
        {
            isTwo = false;
        }
        black_out.color = new Color(0, 0, 0, 0);
    }
Exemple #5
0
 private void Awake()
 {
     _boss         = GetComponent <EnemyRobot>();
     _player       = FindObjectOfType <Player>();
     _gate         = GameObject.Find("BossGate");
     _fVulnerable  = GetComponent <FinalBossIsVulnerable>();
     _bossAnimator = GetComponent <Animator>();
 }
Exemple #6
0
 void OnTriggerEnter2D(Collider2D other)
 {
     // If the robot hits a safety block, it changes direction.
     if (other.gameObject.tag == "Enemy")
     {
         //Debug.Log("Safety Block was Hit");
         EnemyRobot theRobot = other.GetComponent <EnemyRobot>();
         theRobot.ChangeDirection();
     }
 }
Exemple #7
0
        static void Main(string[] args)
        {
            IEnemyAttacker enemyTank = new EnemyTank();

            enemyTank.FireWeapon();

            EnemyRobot     enemyRobot    = new EnemyRobot();
            IEnemyAttacker robotAttacker = new EnemyRobotAdapter(enemyRobot);

            robotAttacker.FireWeapon();
        }
    void OnTriggerEnter2D(Collider2D other)
    {
        // If the robot detects the player, he fires
        if (other.gameObject.tag == "Player")
        {
            //Debug.Log("Player has been detedted");
            Transform  parentRobotTransform = gameObject.transform.root;
            GameObject parentRobotObject    = parentRobotTransform.gameObject;
            EnemyRobot parentRobot          = parentRobotObject.GetComponent <EnemyRobot>();

            parentRobot.FireShot();

            //Debug.Log(parentRobotTransform);
        }
    }
        //Different from PieSliceSensorArray in that EnemyRobots are used as targets instead
        // of goal points.
        public void update(Engine.Environment env, List <Robot> robots, CollisionManager cm)
        {
            List <float> translatedEnemyAngles = new List <float>();

            // Start at 1: Assume all robots after first are enemies
            for (int i = 1; i < robots.Count; i++)
            {
                EnemyRobot er = (EnemyRobot)robots[i];
                if (!er.stopped) // Only sense prey robots that are active
                {
                    Point2D temp = new Point2D((int)er.location.x, (int)er.location.y);

                    temp.rotate((float)-(owner.heading), owner.circle.p);  //((float)-(owner.heading * 180.0 / 3.14), owner.circle.p);

                    //translate with respect to location of navigator
                    temp.x -= (float)owner.circle.p.x;
                    temp.y -= (float)owner.circle.p.y;

                    //what angle is the vector between target & navigator
                    float angle = angleValue((float)temp.x, (float)temp.y);// (float)temp.angle();

                    translatedEnemyAngles.Add(angle);
                }
            }

            //fire the appropriate radar sensor
            for (int i = 0; i < radarAngles1.Count; i++)
            {
                signalsSensors[i].setSignal(0.0);

                for (int a = 0; a < translatedEnemyAngles.Count; a++)
                {
                    float angle = translatedEnemyAngles[a];

                    if (angle >= radarAngles1[i] && angle < radarAngles2[i])
                    {
                        signalsSensors[i].setSignal(1.0);
                    }

                    if (angle + 360.0 >= radarAngles1[i] && angle + 360.0 < radarAngles2[i])
                    {
                        signalsSensors[i].setSignal(1.0);
                    }
                }
            }
        }
Exemple #10
0
        public void AdapterTesting()
        {
            EnemyTank     xkf          = new EnemyTank();
            EnemyRobot    robin        = new EnemyRobot();
            IEnemyAtacker robotAdapter = new EnemyRobotAdapter(robin);

            Console.WriteLine("The robot");
            robin.reactToHuman("Benny");
            robin.walkForward();
            robin.smashWithHands();

            Console.WriteLine("The tank");
            xkf.assignDriver("Hood");
            xkf.driveForward();
            xkf.fireWapon();

            Console.WriteLine("The robot with adapter");
            robotAdapter.assignDriver("Batman");
            robotAdapter.driveForward();
            robotAdapter.fireWapon();

            Console.ReadLine();
        }
 public EnemyRobotAdapter(EnemyRobot newRobot)
 {
     this.theRobot = newRobot;
 }
Exemple #12
0
 void Awake()
 {
     ER    = new EnemyRobot(name, MaxHp, MaxMp, MoveSpeed);
     ER.EC = this;
 }
Exemple #13
0
 public EnemyRobotAttackerAdapter(EnemyRobot newRobot)
 {
     theRobot = newRobot;
 }
 public EnemyRobotAdapter(EnemyRobot enemyRobot)
 {
     _enemyRobot = enemyRobot;
 }
Exemple #15
0
 public EnemyRobotAdapter(EnemyRobot newRobot)
 {
     enemyRobot = newRobot;
 }
 // this contructor method receive the object it'll be Adapted (the Adaptee)
 public EnemyRobotAdapter(EnemyRobot robot)
 {
     this.Robot = robot;
 }
        public int calculateExperienceWorth(EnemyRobot e)
        {
            int experienceWorth = 50;

            return(experienceWorth);
        }