示例#1
0
        static void Main(string[] args)
        {
            Enemy1 e1 = new Enemy1();
            Enemy2 e2 = new Enemy2();
            e1.func();
            e2.func();
            Player p = new Player();
            p.func();
            Random rng = new Random();

            int phealth, e1health, e2health, attack;

            phealth = p.rhealth();
            e1health = e1.rhealth();
            e2health = e2.rhealth();

            while (phealth >= 0 && e1health >= 0)
            {
                Console.WriteLine(p.call());
                attack = rng.Next(10);
                e1health = e1.damage(attack);
                Console.WriteLine("{0} attacks {1} for {2} damage. {3} health remaining.", p.rname(), e1.rname(), attack, e1health);
                Console.WriteLine();
                if (e1health > 0)
                {
                    Console.WriteLine(e1.call());
                    attack = rng.Next(10);
                    phealth = p.damage(attack);
                    Console.WriteLine("{0} attacks {1} for {2} damage. {3} health remaining.", e1.rname(), p.rname(), attack, phealth);
                    Console.WriteLine();
                }
                if (phealth <= 0)
                {
                    Console.WriteLine("{0} Wins!", e1.rname());
                    Console.WriteLine();
                }
                if (e1health <= 0)
                {
                    Console.WriteLine("{0} Wins!", p.rname());
                    Console.WriteLine();
                }
            }
            while (phealth >= 0 && e2health >= 0)
            {
                Console.WriteLine(p.call());
                attack = rng.Next(10);
                e2health = e2.damage(attack);
                Console.WriteLine("{0} attacks {1} for {2} damage. {3} health remaining.", p.rname(), e2.rname(), attack, e2health);
                Console.WriteLine();
                if (e2health > 0)
                {
                    Console.WriteLine(e2.call());
                    attack = rng.Next(10);
                    phealth = p.damage(attack);
                    Console.WriteLine("{0} attacks {1} for {2} damage. {3} health remaining.", e2.rname(), p.rname(), attack, phealth);
                    Console.WriteLine();
                }
                if (phealth <= 0)
                {
                    Console.WriteLine("{0} Wins!", e2.rname());
                    Console.WriteLine();
                }
                if (e2health <= 0)
                {
                    Console.WriteLine("{0} Wins!", p.rname());
                    Console.WriteLine();
                }
            }
        }
 public E1_LookForPlayerState(Entity entity, FiniteStateMachine stateMachine, string animBoolName, LookForPlayerState_SO stateData, Enemy1 enemy) : base(entity, stateMachine, animBoolName, stateData)
 {
     this.enemy = enemy;
 }
示例#3
0
        public void UnitIsMovedToGraveyard()
        {
            Enemy1.MoveTo(GameState.Graveyard);

            Assert.IsTrue(GameState.Graveyard.Contains(Enemy1));
        }
示例#4
0
 public E1_MoveState(Entity entity, EnemyStateMachine stateMachine, string animBoolName, SO_MoveState stateData, Enemy1 enemy) : base(entity, stateMachine, animBoolName, stateData)
 {
     this.enemy = enemy;
 }
示例#5
0
 public E1_PlayerDetectedState(Entity entity, FiniteStateMachine stateMachine, string animBoolName, D_PlayerDetected stateData, Enemy1 enemy) : base(entity, stateMachine, animBoolName, stateData)
 {
     this.enemy = enemy;
 }
示例#6
0
 public E1_MeleeAttackState(Entity entity, FiniteStateMachine stateMachine, string animBoolName, Transform attackPosition, D_MeleeAttackState stateData, Enemy1 enemy) : base(entity, stateMachine, animBoolName, attackPosition, stateData)
 {
     this.enemy = enemy;
 }
示例#7
0
 public E1_IdleState(Entity etity, FiniteStateMachine stateMachine, string animBoolName, D_IdleState stateData, Enemy1 enemy) : base(etity, stateMachine, animBoolName, stateData)
 {
     this.enemy = enemy;
 }
 public E1_WalkState(FiniteStateMachine stateMachine, Entity entity, string animBoolName, WalkStateData walkData, Enemy1 enemy) : base(stateMachine, entity, animBoolName, walkData)
 {
     this.enemy = enemy;
 }
 public E1_ChargeState(FiniteStateMachine stateMachine, Entity entity, string animBoolName, ChargeStateData stateData, Enemy1 enemy) : base(stateMachine, entity, animBoolName, stateData)
 {
     this.enemy = enemy;
 }
示例#10
0
	void spawn() {
		Enemy enemy = new Enemy1 ();
		enemyList.Add (enemy);
	}
示例#11
0
 public E1_LookForPlayerState(FiniteStateMachine stateMachine, Entity entity, string animBoolName, D_LookForPlayer stateData, Enemy1 enemy) : base(stateMachine, entity, animBoolName, stateData)
 {
     this.enemy = enemy;
 }
示例#12
0
        private void EnemyInitialize()
        {
            //敌人初始化
            for (int i = 0; i < 5; i++)
            {
                Sprite enemy1 = new Sprite("Enemy1", false, true, 5, Bus.SPX, 0, 3, 1);
                // enemy1.CurrentPositionX = 2;
                enemy1.BackOffset     = new Vector2(Prefs.WindowSizeH, 560 - enemy1.SourceTexture.Height);
                enemy1.Shader         = new Sprite_Base("Enemy1Shader");
                enemy1.Shader.Visible = false;
                enemy1.Shader.Z       = 4;



                enemy1.CollisionRect = new Rectangle((int)enemy1.BackOffset.X,
                                                     (int)enemy1.BackOffset.Y + enemy1.SourceTexture.Height * 4 / 5,
                                                     2, enemy1.SourceTexture.Height / 5);

                enemy1.ShowingRect = enemy1.SourceRect(enemy1);
                enemy1.Z           = enemy1.BackOffset.Y + 249;
                AddChild(enemy1);
                AddChild(enemy1.Shader);
                Enemy1.Add(enemy1);
            }

            for (int i = 0; i < 4; i++)
            {
                Sprite enemy1 = new Sprite("Enemy1", false, true, 6, Bus.SPX, 0, 3, 1);
                enemy1.Shader         = new Sprite_Base("Enemy1Shader");
                enemy1.Shader.Visible = false;
                enemy1.Shader.Z       = 4;

                // enemy1.CurrentPositionX = 2;

                enemy1.BackOffset    = new Vector2(Prefs.WindowSizeH, 660 - enemy1.SourceTexture.Height);
                enemy1.CollisionRect = new Rectangle((int)enemy1.BackOffset.X,
                                                     (int)enemy1.BackOffset.Y + enemy1.SourceTexture.Height * 4 / 5,
                                                     2, enemy1.SourceTexture.Height / 5);
                AddChild(enemy1.Shader);
                enemy1.ShowingRect = enemy1.SourceRect(enemy1);
                enemy1.Z           = enemy1.BackOffset.Y + 249;
                AddChild(enemy1);
                Enemy1.Add(enemy1);
            }
            for (int i = 0; i < 5; i++)
            {
                Sprite enemy2 = new Sprite("Enemy2", false, true, 5, Bus.SPX, 0, 3, 1);
                enemy2.Shader         = new Sprite_Base("Enemy2Shader");
                enemy2.Shader.Visible = false;
                enemy2.Shader.Z       = 5;


                enemy2.BackOffset    = new Vector2(Prefs.WindowSizeH, 660 - enemy2.SourceTexture.Height);
                enemy2.CollisionRect = new Rectangle((int)enemy2.BackOffset.X,
                                                     (int)enemy2.BackOffset.Y + enemy2.SourceTexture.Height * 4 / 5,
                                                     2, enemy2.SourceTexture.Height / 5);

                enemy2.ShowingRect = enemy2.SourceRect(enemy2);
                enemy2.Z           = enemy2.BackOffset.Y + 249;

                AddChild(enemy2);
                AddChild(enemy2.Shader);
                Enemy2.Add(enemy2);
            }
            for (int i = 0; i < 5; i++)
            {
                Sprite enemy2 = new Sprite("Enemy2", false, true, 4, Bus.SPX, 0, 3, 1);
                enemy2.Shader         = new Sprite_Base("Enemy2Shader");
                enemy2.Shader.Visible = false;
                enemy2.Shader.Z       = 4;

                enemy2.BackOffset    = new Vector2(Prefs.WindowSizeH, 560 - enemy2.SourceTexture.Height);
                enemy2.CollisionRect = new Rectangle((int)enemy2.BackOffset.X,
                                                     (int)enemy2.BackOffset.Y + enemy2.SourceTexture.Height * 4 / 5,
                                                     2, enemy2.SourceTexture.Height / 5);
                enemy2.Z           = enemy2.BackOffset.Y + 249;
                enemy2.ShowingRect = enemy2.SourceRect(enemy2);
                AddChild(enemy2);
                AddChild(enemy2.Shader);
                Enemy2.Add(enemy2);
            }

            //敌人Killed动画
            for (int i = 0; i < 12; i++)
            {
                Sprite enemy1Killed = new Sprite("enemy1Killed", false, false, 5, 3, 0, 2, 1);
                enemy1Killed.Shader         = new Sprite_Base("Enemy1KilledShader");
                enemy1Killed.Shader.Visible = false;
                enemy1Killed.Shader.Z       = 4;
                enemy1Killed.ShowingRect    = enemy1Killed.SourceRect(enemy1Killed);
                AddChild(enemy1Killed);
                AddChild(enemy1Killed.Shader);
                Enemy1Killed.Add(enemy1Killed);

                Sprite enemy2Killed = new Sprite("enemy2Killed", false, false, 6, 3, 0, 2, 1);
                enemy2Killed.Shader         = new Sprite_Base("Enemy2KilledShader");
                enemy2Killed.Shader.Visible = false;
                enemy2Killed.Shader.Z       = 5;
                enemy2Killed.ShowingRect    = enemy2Killed.SourceRect(enemy2Killed);
                AddChild(enemy2Killed);
                AddChild(enemy2Killed.Shader);
                Enemy2Killed.Add(enemy2Killed);
            }


            EnemyPositionY[0] = 0;
            EnemyPositionY[7] = Prefs.WindowSizeH - 528 + 310 + 27 - 250;
            EnemyPositionY[6] = Prefs.WindowSizeH - 528 + 310 + 2 * 27 - 250;
            EnemyPositionY[5] = Prefs.WindowSizeH - 528 + 310 + 3 * 27 - 250;
            EnemyPositionY[4] = Prefs.WindowSizeH - 528 + 310 + 4 * 27 - 250;
            EnemyPositionY[3] = Prefs.WindowSizeH - 528 + 310 + 5 * 27 - 250;
            EnemyPositionY[2] = Prefs.WindowSizeH - 528 + 310 + 6 * 27 - 250;
            EnemyPositionY[1] = Prefs.WindowSizeH - 528 + 310 + 7 * 27 - 250;
        }
示例#13
0
 // Start is called before the first frame update
 void Start()
 {
     enemy = GameObject.FindWithTag("Enemy1").GetComponent <Enemy1>();
     text  = GetComponentInChildren <Text>();
 }
示例#14
0
 public E1_IdleState(FiniteStateMachine stateMachine, Entity entity, string animBoolName, D_IdleState stateDate, Enemy1 enemy) : base(stateMachine, entity, animBoolName, stateDate)
 {
     this.enemy = enemy;
 }
示例#15
0
 // Use this for initialization
 void Start()
 {
     rend      = GetComponent <Renderer> ();
     enemyName = GetComponent <Enemy1>();
 }
示例#16
0
 public void Enter(Enemy1 enemy1)
 {
     this.enemy = enemy1;
     animator   = enemy.GetComponent <Animator>();
     canattacc  = false;
 }