コード例 #1
0
 public Battlefield(Herd dinosCreator, Fleet robosCreator)
 {
     dinosaurs = dinosCreator;
     robots    = robosCreator;
 }
コード例 #2
0
        public void AttackSequence(FighterGroup fighters)
        {
            bool playerRunning = true;

            if (player)
            {
                for (int i = 0; i < group.Count(); i++)
                {
                    do
                    {
                        if (CheckHealth(group[i]))
                        {
                            break;
                        }

                        if (CheckEnergy(group[i]))
                        {
                            break;
                        }

                        Console.WriteLine("Who should " + group[i].name + " attack?");

                        foreach (Fighter fighter in fighters.group)
                        {
                            if (fighter.health > 0)
                            {
                                Console.WriteLine("-" + fighter.name + "-" + "(" + fighter.health + " HP " + fighter.energy + "E)");
                            }
                            else
                            {
                                Console.WriteLine("-" + fighter.name + "-" + "(KO)");
                            }
                        }

                        string target = Console.ReadLine();
                        for (int j = 0; j <= fighters.group.Count() - 1; j++)
                        {
                            if (target.ToLower() == fighters.group[j].name.ToLower())
                            {
                                if (fighters.group[j].health > 0)
                                {
                                    group[i].Attack(fighters.group[j], player);
                                    playerRunning = false;
                                    break;
                                }
                                else
                                {
                                    Console.Clear();
                                    Console.WriteLine(fighters.group[j].name + " has already been defeated.");
                                    break;
                                }
                            }
                        }
                        if (playerRunning)
                        {
                            Console.Clear();
                            Console.WriteLine("Please enter a valid choice.\n");
                        }
                    } while (playerRunning);

                    if (!playerRunning)
                    {
                        Recharge(group[i]);
                        break;
                    }
                }
            }
            else
            {
                for (int i = 0; i < group.Count; i++)
                {
                    if (!CheckHealth(group[i]) && !CheckEnergy(group[i]))
                    {
                        foreach (Fighter fighter in fighters.group)
                        {
                            if (fighter.health > 0)
                            {
                                group[i].WeaponSwap(player);
                                group[i].Attack(fighter, player);
                                Recharge(group[i]);
                                playerRunning = false;
                                break;
                            }
                        }
                        if (!playerRunning)
                        {
                            break;
                        }
                    }
                }
            }
            return;
        }