Как вы реализуете метод в функцию - PullRequest
0 голосов
/ 15 февраля 2019

У меня есть функция 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}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...