xwMOOC 데이터과학

1. 아이템 블록 중에 꽃 추려내기 1

마인크래프트 아이템이 상당히 많은데 그중에서 꽃마 추려낸다.

# 0. 환경설정 --------------------------------------------
library(miner)
library(tidyverse)
mc_connect("127.0.0.1")

# 1. 지나가며 꽃을 뿌리기 --------------------------------------------
data(mc_items)

flowers <- mc_items %>%
  dplyr::filter(name %in% c("Sunflower", "Lilac", "Rose Bush", "Peony",
                     "Blue Orchid", "Red Tulip", "Pink Tulip", "Oxeye Daisy"))

DT::datatable(flowers)

2. 지나온길 꽃을 뿌리다.

꽃중에서 하나를 난수로 뽑아 현재 플레이어 위치 바로 뒤에 꽃을 심고 1초당안 쉰다. 만약 10 초이 모두 소진되면 채팅창에 갖고 있던 모든 꽃을 다 소진했다며 메시지로 알려준다.

# 수중에 갖고 있는 꽃 갯수
num_flowers <- 10

while(TRUE) {
  # 꽃을 하나 선택  
  this_flower <- sample_n(flowers, 1)
  
  # 플레이어 위치
  cur_pos <- getPlayerPos(tile = TRUE)
  
  # 꽃을 뿌리기
  setBlock(cur_pos[1]-1, cur_pos[2], cur_pos[3],
             id = this_flower$id, style = this_flower$style)
  
  # 1 초동안 쉬기
  Sys.sleep(1)
  
  # 탈출조건
  if(num_flowers > 0) {
    num_flowers <- num_flowers -1
  } else {
    chatPost("10개 꽃이 모두 소진되었습니다!!! ")
    break
  }
}

마인크래프트 꽃