Difference between revisions of "Rabbit (Sub Class of Animal)"

From TRCCompSci - AQA Computer Science
Jump to: navigation, search
(Created page with "==The Code== <syntaxhighlight lang="csharp" line> class Rabbit : Animal { enum Genders { Male, Female } private double ReproductionRate; p...")
 
 
Line 1: Line 1:
 
==The Code==  
 
==The Code==  
 
+
<tabber>
 +
C#=
 
<syntaxhighlight lang="csharp" line>
 
<syntaxhighlight lang="csharp" line>
 
  class Rabbit : Animal
 
  class Rabbit : Animal
Line 70: Line 71:
  
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
|-|
 +
VB=
 +
<syntaxhighlight lang="vbnet" line>
  
 +
</syntaxhighlight>
 +
</tabber>
 
=Explanation=
 
=Explanation=

Latest revision as of 22:43, 30 November 2016

The Code

 1  class Rabbit : Animal
 2   {
 3     enum Genders
 4     {
 5       Male,
 6       Female
 7     }
 8     private double ReproductionRate;
 9     private const double DefaultReproductionRate = 1.2;
10     private const int DefaultLifespan = 4;
11     private const double DefaultProbabilityDeathOtherCauses = 0.05;
12     private Genders Gender;
13 
14     public Rabbit(int Variability)
15         : base(DefaultLifespan, DefaultProbabilityDeathOtherCauses, Variability)
16     {
17       ReproductionRate = DefaultReproductionRate * CalculateRandomValue(100, Variability) / 100;
18       if (Rnd.Next(0, 100) < 50)
19       {
20         Gender = Genders.Male;
21       }
22       else
23       {
24         Gender = Genders.Female;
25       }
26     }
27 
28     public Rabbit(int Variability, double ParentsReproductionRate)
29         : base(DefaultLifespan, DefaultProbabilityDeathOtherCauses, Variability)
30     {
31       ReproductionRate = ParentsReproductionRate * CalculateRandomValue(100, Variability) / 100;
32       if (Rnd.Next(0, 100) < 50)
33       {
34         Gender = Genders.Male;
35       }
36       else
37       {
38         Gender = Genders.Female;
39       }
40     }
41 
42     public override void Inspect()
43     {
44       base.Inspect();
45       Console.Write("Rep rate " + Math.Round(ReproductionRate, 1) + " ");
46       Console.WriteLine("Gender " + Gender + " ");
47     }
48 
49     public bool IsFemale()
50     {
51       if (Gender == Genders.Female)
52       {
53         return true;
54       }
55       else
56       {
57         return false;
58       }
59     }
60 
61     public double GetReproductionRate()
62     {
63       return ReproductionRate;
64     }
65   }
66 }

Explanation