Write a function named coin_flip
that simulates repeatedly flipping a two-sided coin until a particular side (Heads or Tails) comes up several times consecutively (in a row).
Your function should accept two parameters, an integer $k
and a character $side
, where $side
is expected to be 'H'
for Heads or 'T'
for Tails.
You should keep simulating the flipping of the coin until $k
occurrences of the given side are seen consecutively.
For example, if the call is coin_flip(3, 'H');
, you should flip the coin until Heads is seen 3 times in a row.
Here is an example output from the call of coin_flip(4, 'T');
T H T H T T H T T H H T H H H H H T T T T
You got T 4 times in a row!
If a negative $k
is passed, and/or a side value is passed that is not 'H'
or 'T'
,
your function should throw an Exception
with the message, "Error: k must be non-negative and only sides of H or T allowed".
Use PHP's standard rand($min, $max)
function to give an equal chance to a head or a tail appearing
($rand($min, $max)
returns a random integer between $min
and $max
, inclusive).
Each time the coin is flipped, what is seen is displayed (H for heads, T for tails), separated by spaces.
When $k
consecutive occurrences of the given side occur, a congratulatory message is printed.
Match our output format exactly.