Paso 6: Dibujo de tortuga-base Simple
Una forma particularmente sencilla para dibujar en Minecraft es utilizar un sistema basado en la tortuga. Hice una muy simple clase de tortuga (inspirada por MinecraftTurtle clase, pero diseñado para uso independiente de Martin O'Hanlon) que estoy planeando usar este verano para presentar a media y secundaria a Minecraft python scripting.
Poner en marcha un mundo de Minecraft en el modo creativo y hacer su jugador volar (doble-tap barra espaciadora). Inicializar el script con:
(Envuelve todo el código de conexión de Minecraft dentro de la clase de la tortuga y también trae matemáticas en el espacio de nombres por comodidad). Puede hacer ahora cosas como t.go(15) para dibujar una línea mientras mueve 15 cuadras hacia adelante, t.right(45) a girar 45 grados a la derecha, t.down(30) a girar 30 grados hacia abajo y así dibujar dibujos simples.
Se mueve junto con la tortuga dibuja, que es divertido, y la tortuga comienza donde el jugador es, apunta horizontalmente.
Por ejemplo se puede dibujar un cuadrado horizontal con:
Hacer una estrella de 7 lados haciendo:
siete veces. O sólo una vez en un bucle:
Puede cambiar los materiales con penblock(). Por ejemplo, una estrella vertical Dorada:
Y usted puede cambiar la anchura de pluma con penwidth(x). Por ejemplo, esto dibuja un donut de vidrio muy simple (en realidad, un engrosamiento 90-gon, pero quién puede decir la diferencia?):
Aquí están todos los métodos disponibles:
- go(x): pasar x cuadras adelante (dibujo si la pluma está hacia abajo)
- back(x): paso x bloques al revés (dibujo si la pluma está hacia abajo)
- penup(): dibujo de pausa reanudar el dibujo
- left(angle): gire izquierda por ángulo (en grados)
- right(angle): gire derecha por ángulo (en grados)
- up(angle): girar hasta por el ángulo (en grados); principiantes no mezclar la izquierda/derecha y arriba/abajo rotaciones o pueden obtener resultados inesperados (Nota técnica: lo mismo que pitch(angle))
- down(angle): girar hacia abajo por el ángulo (en grados) (Nota técnica: lo mismo que pitch(-angle))
- pendelay(x): cada movimiento o rotación de la tortuga se retrasa por x segundos; el valor predeterminado es 0.05; establecer en cero por mucho dibujo más rápido (el jugador se moverá todavía con cada línea trazada, pero instantáneamente de principio a fin)
- angle(x): conjunto ángulo horizontal x (hacia la derecha en grados; 0 = sur, 90 = oeste, 180 = norte, 270 = este); ángulo del rodillo se restablece
- verticalangle(x): ajuste vertical ángulo x (en grados; hacia arriba es positiva 90 = verticalmente arriba; -90 = vertical hacia abajo); ángulo del rodillo se restablece
- angles(compass,vertical,roll): set compás vertical y rollo de ángulos; argumentos omitidos se toman para ser cero
- penblock(x): conjunto material de dibujo bloquear x; para una lista de los bloques predefinidos, consulte mcpi/block.py
- goto(x,y,z): ajuste pen la posición (x, y, z); también se puede acceder a la posición como t.position.x, t.position.y y t.position.z
- follow(): el jugador sigue la tortuga
- nofollow(): el jugador no sigue la tortuga
- turtle(x): si x es jugador, es el mismo que follow(), y si x no es ninguno, es el mismo que nofollow(). Si usas el Mod de mermelada de frambuesa puede utilizar otras entidades que usted como la tortuga. Por ejemplo, turtle(HORSE) aparece un caballo como una tortuga (todas las entidades disponibles se enumeran en mcpi/entity.py, pero la vida son mejores que los demás no pueden levitar; y el Dragon Ender no se puede controlar). La entidad sigue siendo una vez terminado el guión. Para hacerlo desaparecer, llamar al turtle(None) o turtle(PLAYER).
- penwidth(x): establece la anchura del movimiento en x (por defecto es 1; trazos más lento dibujo y si sigue modo está activado, usted puede terminar atrapado dentro de la carrera, por lo que al final usted debe llamar a penup() y hacia atrás por el dibujo)
- pitch(x), yaw(x) y roll(x): girar la tortuga mediante ángulos de pitch/yaw/roll (vea el paso siguiente de Instructable)
- startface() y endface(): empezar y terminar dibujando un polígono convexo lleno
- push() y pop(): guardar y restaurar el estado dibujo (título, material, estado de cara, espesor; pero no velocidad o tortuga tipo); útil para sistemas de L
- gridalign(): alinear la dirección actual de la tortuga y la posición a la red (se eligió la mejor aproximación a la dirección actual de la tortuga)
El mod de mcpiapi, a diferencia de mi Mod de mermelada de frambuesa, no soporta configuración de dirección del jugador. Esto significa que el jugador no enfrenta a la misma dirección que la tortuga. (Y hay alguna posibilidad de otros problemas con secuencias de comandos de tortuga).
Nota técnica: Si usted ya tiene un objeto de Minecraft mc, inicializar con t = Turtle(mc). Si se omite el objeto Minecraft al inicializar la tortuga, es creado para ti, y en cualquier caso, usted puede tener acceso al objeto de Minecraft via t.mc.
Bonificación para los usuarios del Mod de mermelada de frambuesa 0.10:
También se puede jugar con el código de python para el control de la tortuga desde la ventana de chat de Minecraft. (Actualmente no soportado por mcpiapi mod.)
En Minecraft, ejecute el script de turtleconsole.py escribiendo: /py turtleconsole [Intro].
Entonces cada línea python que entras en el chat que se ejecutan por el intérprete de python. Para introducir una línea en el chat, pulse T, escriba la línea y pulse [enter]. Para salir de turtleconsole, sólo tienes que escribir /py [entrar] o escriba quit() [entrar] en el chat.
El contexto incluye una variable local t inicializado un objeto Turtle(), por lo que no necesita ejecutar cualquier código de inicialización, solo cosas como:
También es una consola para el completo no - tortuga API: console.py (que incluye una variable local previamente inicializado mc ). (A no poner las llamadas postToChat(), o confunden el intérprete).