Main function

Description of Cases | Inputs | Expected Outputs / Actions |
---|---|---|

1. Normal play, ALL passes of both players used | P,P,P,P,P,P | first 6 turns, players totals should not change, pass counts reduce to zero, after 6 turns, rolls are automatically done without asking |

2. Normal play, NO passes used by either player | R,R,R,R,... | rolls are added to player's total accordingly |

3. Player 1 wins | R, ... | Player 2's total equals or exceeds 21 first |

4. Player 2 wins | R, ... | Player 1's total equals or exceeds 21 first |

Play_turn function

Description of Cases | Parameters, Inputs name, total rolls, passes, choice | Expected Outputs / Actions |
---|---|---|

Normal, player has 3 passes, uses one | "Joe", 5, 3, "P" | returns 5, 2 |

Normal, player has 3 passes, rolls | "Bob", 5, 3, "R", roll is 4 | returns 9, 3 |

Normal, player has 2 passes, uses one | "Joe", 0, 2, "P" | returns 0, 1 |

Normal, player has 2 passes, rolls | "Bob", 0, 2, "R", roll is 4 | returns 4, 2 |

Normal, player has 1 pass, uses it | "Sam", 5, 1, "P" | returns 5, 0 |

Normal, player has 1 pass, rolls | "Tom", 6, 1,"R", roll is 3 | returns 9, 1 |

Normal, player has no passes, rolls automatically | "Sue", 5, 0, no choice, rolls 3 | returns 8, 0 |

Pass or Roll function

Description of Cases | Parameter/Input | Expected Outputs / Actions |
---|---|---|

Normal input first | "Joe", "R" | prompt "Player Joe (P)ass or (R)oll", returns "R" |

Normal input first | "Joe", "r" | prompt "Player Joe (P)ass or (R)oll", returns "R" |

Normal input first | "Joe", "P" | prompt "Player Joe (P)ass or (R)oll", returns "P" |

Normal input first | "Joe", "p" | prompt "Player Joe (P)ass or (R)oll", returns "P" |

One invalid input, then valid | "Joe", "X","P" | gives error message, prompt "Player Joe (P)ass or (R)oll", returns "P" |

Two invalid inputs, then valid | "Joe","X","X","P" | gives error message, gives error message, prompt "Player Joe (P)ass or (R)oll", returns "P" |