Exemplo n.º 1
0
 // Конструктор для создания нового объекта.
 public UniversalVirus(Coordinate coordinate, string nameVirus, string infectionTypeVirus, int mortalityVirus, VitalFunctions whoever = null) : base(coordinate)
 {
     universalvirusCoord = coordinate;
     name          = nameVirus;
     infectionType = infectionTypeVirus;
     mortality     = mortalityVirus;
     who           = whoever;
 }
Exemplo n.º 2
0
 // Конструктор для создания нового объекта.
 public AnimalVirus(Coordinate coordinate, string nameVirus, string infectionTypeVirus, int mortalityVirus, VitalFunctions anim = null) : base(coordinate)
 {
     animalvirusCoord = coordinate;
     name             = nameVirus;
     infectionType    = infectionTypeVirus;
     mortality        = mortalityVirus;
     animal           = anim;
 }
Exemplo n.º 3
0
 // Конструктор для создания нового объекта.
 public HumanVirus(Coordinate coordinate, string nameVirus, string infectionTypeVirus, int mortalityVirus, VitalFunctions huma = null) : base(coordinate)
 {
     humanvirusCoord = coordinate;
     name            = nameVirus;
     infectionType   = infectionTypeVirus;
     mortality       = mortalityVirus;
     hum             = huma;
 }
Exemplo n.º 4
0
 // Генерация вируса поменял на void
 public int generate(VitalFunctions whoever)
 {
     if (whoever.immunity < 50 && whoever.infected == false)
     {
         whoever.infected      = true;
         whoever.infectionName = name;
         whoever.health        = whoever.health - mortality;
         whoever.speed         = whoever.speed * 0.1 * mortality;
         whoever.immunity      = whoever.immunity - (0.2 * mortality);
         return(-1);
     }
     return(1);
 }
Exemplo n.º 5
0
 public int generate(VitalFunctions animal)
 {
     if (animal.objectType == "Animal" && animal.immunity < 50 && animal.infected == false)
     {
         animal.infected      = true;
         animal.infectionName = name;
         animal.health        = animal.health - mortality;
         animal.speed         = animal.speed * 0.1 * mortality;
         animal.immunity      = animal.immunity - (0.2 * mortality);
         return(-1);
     }
     return(1);
 }
Exemplo n.º 6
0
 public int generate(VitalFunctions human)
 {
     if (human.objectType == "Human" && human.immunity < 50 && human.infected == false)
     {
         human.infected      = true;
         human.infectionName = name;
         human.health        = human.health - mortality;
         human.speed         = human.speed * 0.01 * mortality;
         human.immunity      = human.immunity - (0.2 * mortality);
         hum = human;
         return(-1);
     }
     return(1);
 }
Exemplo n.º 7
0
        // Заражает человека в зависимости от типа заражения
        public int infect(VitalFunctions human)
        {
            if (human.objectType == "Human" && human.infected == false)
            {
                switch (infectionType)
                {
                case "Airborne":
                    if ((Math.Sqrt(Math.Pow(human.Coord.X - humanvirusCoord.X, 2) + Math.Pow(human.Coord.Y - humanvirusCoord.Y, 2))) < 50)
                    {
                        human.infected      = true;
                        human.infectionName = name;
                        human.health        = human.health - mortality;
                        human.speed         = human.speed * 0.01 * mortality;
                        human.immunity      = human.immunity - (0.2 * mortality);
                        hum = human;
                        Console.WriteLine(name + " заразил по воздуху");
                        return(2);
                    }
                    else
                    {
                        Console.WriteLine("Зараженный с " + name + " слишком далеко и не заразил окружающих в 50 метрах.");
                        return(1);
                    }

                case "Contact":
                    if ((Math.Sqrt(Math.Pow(human.Coord.X - humanvirusCoord.X, 2) + Math.Pow(human.Coord.Y - humanvirusCoord.Y, 2))) < 10)
                    {
                        human.infected      = true;
                        human.infectionName = name;
                        human.health        = human.health - mortality;
                        human.speed         = human.speed * 0.1 * mortality;
                        human.immunity      = human.immunity - (0.2 * mortality);
                        hum = human;
                        Console.WriteLine(name + " заразил контактно");
                        return(2);
                    }
                    else
                    {
                        Console.WriteLine("Зараженный с " + name + " слишком далеко и не заразил контактно никого.");
                        return(1);
                    }
                }
            }
            return(1);
        }
Exemplo n.º 8
0
        // Заражает любого в зависимости от типа заражения
        public int infect(VitalFunctions whoever)
        {
            if (whoever.infected == false)
            {
                switch (infectionType)
                {
                case "Airborne":
                    if ((Math.Sqrt(Math.Pow(whoever.Coord.X - universalvirusCoord.X, 2) + Math.Pow(whoever.Coord.Y - universalvirusCoord.Y, 2))) < 50)
                    {
                        whoever.infected      = true;
                        whoever.infectionName = name;
                        whoever.health        = whoever.health - mortality;
                        whoever.speed         = whoever.speed * 0.1 * mortality;
                        whoever.immunity      = whoever.immunity - (0.2 * mortality);
                        Console.WriteLine(name + " заразил по воздуху");
                        return(2);
                    }
                    else
                    {
                        Console.WriteLine("Зараженный с " + name + " слишком далеко и не заразил окружающих в 50 метрах.");
                        return(1);
                    }

                case "Contact":
                    if ((Math.Sqrt(Math.Pow(whoever.Coord.X - universalvirusCoord.X, 2) + Math.Pow(whoever.Coord.Y - universalvirusCoord.Y, 2))) < 30)
                    {
                        whoever.infected      = true;
                        whoever.infectionName = name;
                        whoever.health        = whoever.health - mortality;
                        whoever.speed         = whoever.speed * 0.1 * mortality;
                        whoever.immunity      = whoever.immunity - (0.2 * mortality);
                        Console.WriteLine(name + " заразил контактно");
                        return(2);
                    }
                    else
                    {
                        Console.WriteLine("Зараженный с " + name + " слишком далеко и не заразил контактно никого.");
                        return(1);
                    }
                }
            }
            return(1);
        }