diff options
Diffstat (limited to 'src/de/fhswf/in/inf/java1/aufgabe07/ZufallsSpieler.java')
| -rw-r--r-- | src/de/fhswf/in/inf/java1/aufgabe07/ZufallsSpieler.java | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/de/fhswf/in/inf/java1/aufgabe07/ZufallsSpieler.java b/src/de/fhswf/in/inf/java1/aufgabe07/ZufallsSpieler.java new file mode 100644 index 0000000..29a8aba --- /dev/null +++ b/src/de/fhswf/in/inf/java1/aufgabe07/ZufallsSpieler.java @@ -0,0 +1,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); + } + } + +} |
