У меня есть функция taketurn, которую я имею, и я пытаюсь реализовать функцию, которая называется made, удваивается в taketurn, поэтому она проверяет бросок кубика, если он бросает дубль.Мне было интересно, как я могу имплантировать эту функцию.Я попытался поместить player $ double () в функцию taketurn, но получил ошибку.Ошибка, которую я получил, была функцией doubles, которая не могла вернуть истину или ложь.
player <- setRefClass("player",
fields = list(
pos = "numeric", # position on the board
verbose = "logical",
jail="logical",
tjail="numeric",
countd= "numeric" # option to have it print all the info
),
methods = list(
doubles=function(player, tracking){
roll<-dice()
countd<<-0
while(countd<=3){
countd<<-countd+1
if(roll$doubles==FALSE){
move_fwd(roll$movement)
tracking$increase_count(pos)
if(verbose) cat(paste("Tally at", pos, ":", gameboard$title[pos], "\n"))
break #addes doubles and if not odubles player moves like normal
} #if not 3 yet
if(countd<3) {
move_fwd(roll$movement)
tracking$increase_count(pos)
if(verbose) cat(paste("Tally at", pos, ":", gameboard$title[pos], "\n"))
if(verbose)cat(paste("Doubles, roll again"))
if(verbose)cat(paste("You have rolled",countd,"doubles"))
jail<<-FALSE
}
else{
if(countd==3){
go_2_space_n(11)
if(verbose)cat("You have rolled 3 doubles,go to jail")
go_2_jail(player,tracking)
jail<<-TRUE
times_jail()
break
}
}
}
},
)
taketurn <- function(player, tracking){
roll <- dice()
player$move_fwd(roll$movement)
tracking$increase_count(player$pos)
}
```{r}