/** * */ 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); } } }