지난시간에는 파이썬으로 특정 지역에 블록을 만드는 법을 배웠다.
그 문서 끝쪽에서 사용할 수 있는 블록을 나열해 두었는데, 그 목록을 보니 블록 이름마다 번호가 있다. 이 번호를 이용해서 눈앞에서 블록이 바뀌도록 만들어보자.
import mcpi.minecraft as minecraft
import mcpi.block as block
from time import sleep
mc = minecraft.Minecraft()
playerPos = mc.player.getPos()
length = 2
for i in range(100):
mc.setBlocks(playerPos.x+1, playerPos.y+1, playerPos.z+1, playerPos.x+length, playerPos.y+length, playerPos.z+length,block.Block(i))
sleep(1)
위 코드를 보면 3째줄과 7째, 9째 줄이 처음 보는 것이고 8째줄은 지난 시간에 배운 것과 거의 같다. 3째 줄은 9째 줄을 위해서 필요하다. 9째 줄이 없으면 코드실행을 했을 때 순식간에 블록이 다 교체되어 실행되는 것을 제대로 보지 못하므로 1초마다 블록이 바뀌도록 하기 위해 추가했다.
이 예제에서는 총 100종류의 블록이 나온다. block.Block(0)부터 block.Block(99)까지 블록번호가 하나씩 변하도록 하기 위해 for문을 사용했다.(7째 줄) range() 안의 숫자를 바꾸면 나오는 블록의 개수는 조절할 수 있다.
이것을 실행하면 다음과 같이 블록이 변한다.
지금 예제에서는 파이썬을 실행할 때 있었던 위치에서만 계속 새로운 블록이 생기는데, 5째 줄도 for 블록 안으로 들어가면 위치도 계속 바뀌게 할 수 있다.
여기서 주의할 점은, 파이썬은 들여쓰기를 통해 for로 반복이 되는 명령들이 어느것인지를 표시하므로, for 안에서 실행할 새로운 명령이 있다면 반드시 위에서처럼 같은 정도로 들여쓰기를 해 줘야 한다.
'programming > python' 카테고리의 다른 글
마인크래프트 + 파이썬 #3 파이썬 turtle 사용하기 (0) | 2018.07.31 |
---|---|
마인크래프트 + 파이썬 #1 공간을 블럭으로 채우기 (0) | 2018.07.26 |
마인크래프트에서 파이썬 실행환경 구축하기 (0) | 2018.06.29 |
초4와 함께하는 파이썬 - 막대그래프 그리기 Day 6, Final (0) | 2018.06.18 |
초4와 함께하는 파이썬 - 막대그래프 그리기 Day 5 (0) | 2018.06.13 |