예제 #1
0
파일: Program.cs 프로젝트: sebostian/CSharp
        private static void DoAttack(Army army, Army enemyArmy)
        {
            // Choose unit
            int  unitNumber = GameHelpers.GetRandomValue(3);
            Unit unit       = army.GetUnit(unitNumber);
            Unit destinationUnit;
            int  numberOfActions = unit.GetNumberOfActions();
            int  actionNumber    = GameHelpers.GetRandomValue(numberOfActions);

            if (unit.IsEnemyDestination((Unit.ActionIndex)actionNumber))
            {
                int enemyNumber = GameHelpers.GetRandomValue(3);
                destinationUnit = enemyArmy.GetUnit(enemyNumber);
            }
            else
            {
                int allyNumber = GameHelpers.GetRandomValue(3);
                destinationUnit = enemyArmy.GetUnit(allyNumber);
            }

            unit.PerformAction((Unit.ActionIndex)actionNumber, destinationUnit);
        }