summaryrefslogtreecommitdiffstats
path: root/src/de/fhswf/in/inf/java1/aufgabe07/ZufallsSpieler.java
blob: 29a8aba9bfdb53919ed9762dc67b582577ed70b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/**
 * 
 */
package de.fhswf.in.inf.java1.aufgabe07;

/**
 * A player that switches strategy with a certain probability.
 *
 * @author $Author: $
 * @version $Revision: $, $Date: $ UTC
 */
public class ZufallsSpieler extends WechselSpieler
{

   private double wahrscheinlichkeit = 0;

   /**
    * Initializes a player which switches strategies.
    * 
    * @param wahrscheinlichkeit
    *           Probability of switching strategy.
    */
   public ZufallsSpieler(double wahrscheinlichkeit)
   {
      if (wahrscheinlichkeit < 0.0 | wahrscheinlichkeit > 1.0)
      {
         throw new IllegalArgumentException(
               "Only a probability between 0 and 100 is allowed.");
      }

      this.wahrscheinlichkeit = wahrscheinlichkeit;
   }

   /*
    * (non-Javadoc)
    * 
    * @see de.fhswf.in.inf.java1.aufgabe07.WechselSpieler#zweiterTipp(int)
    */
   @Override
   public final int zweiterTipp(int leeresHuetchen)
   {
      if (Spiel.RAND.nextDouble() < wahrscheinlichkeit)
      {
         return getErsterTipp();
      }
      else
      {
         return super.zweiterTipp(leeresHuetchen);
      }
   }

}