Aan de slagGa gratis aan de slag

Functie om één ronde te draaien

Laten we nu de functie uit de vorige oefening gebruiken en één overkoepelende functie schrijven, evaluate_first_roll, om één ronde Craps te voltooien. Zoals je in de voorbeeldcode hieronder ziet, neemt deze functie de eerste worp van de shooter als input en gaat van daaruit verder. De functies roll_dice en roll_after_point zijn alvast voor je ingeladen.

Deze oefening maakt deel uit van de cursus

Kanspuzzels in R

Cursus bekijken

Oefeninstructies

  • Gebruik de operator %in% om te controleren of de worp een 7 of 11 is; dat levert direct winst op.
  • Gebruik de operator %in% om te controleren of de worp een 2, 3 of 12 is; dat betekent direct verlies.
  • Als er een point is vastgesteld, ga dan door met gooien totdat ofwel het point opnieuw wordt gegooid (winst), of een 7 wordt gegooid (verlies).

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

evaluate_first_roll <- function(roll){
  # Check whether the first roll gives an immediate win
  if(___){
    won <- TRUE
  }
  # Check whether the first roll gives an immediate loss
  if(___){
    won <- FALSE
  }
  if(roll %in% c(4,5,6,8,9,10) ){
    # Roll until the point or a 7 is rolled and store the win/lose outcome
    won <- ___
  }  
  return(won)
}
Code bewerken en uitvoeren