SlideShare una empresa de Scribd logo
Raspberry Pi + Minecraft
SciPyLA 2015
Qué es raspberry pi ?
Es una mini-pc de placa reducida o (placa única) de bajo coste desarrollado en Reino
Unido por la Fundación Raspberry Pi, con el objetivo de estimular la enseñanza de
ciencias de la computación en las escuelas. Más info
http://es.wikipedia.org/wiki/Raspberry_Pi
Minecraft Pi
Es una versión de Minecraft desarrollado para la Raspberry Pi. Contiene un conjunto de
características del juego y un soporte para múltiples lenguajes de programación como
ser python y está pensada como una herramienta educativa para los programadores
principiantes. Puedes descargarla desde este enlace
Cómo iniciar?
1. Descarga el archivo en la raspberry pi
2. Abre Una Terminal
3. Descomprime el archivo con
tar -zxvf minecraft-pi-0.1.1.tar.gz
4. Muevete hacia la carpeta mcpi con
cd mcpi
5. Ejecuta el juego con el comando
./minecraft-pi
Cómo Jugar?
Cuando inicia el juego hacer click en Start Game
y luego Create new
Comandos
Usa el mouse para guiar tu mirada o con el
teclado:
Tecla Acción
W Adelante
A Izquierda
S Atrás
D Derecha
E Librería de objetos
Barra de espacio Saltar
Doble Barra de espacio Volar / Aterrizar
Esc Pausa / Ir al menú
Tab Cambiar el foco del mouse
Interactuar con python
Mediante python puedes interactuar con el juego,
recuerda no cerrar la ventana del juego.
Ir al menú y abrir Open IDLE para escribir los
comandos de python.
1er
Ejercicio. Iniciamos importando la librería de
Minecraft, creamos una conexión al juego y
escribimos "Hello world" en la pantalla:
from mcpi import minecraft
mc = minecraft.Minecraft.create()
mc.postToChat("Hello world")
Interactuar con python
Resultado 1er
Ejercicio
Saber mi posición
Para saber dónde estás parado, escribe:
pos = mc.player.getPos()
pos es una variable que ahora contiene tu
posición; podés acceder al conjunto de
coordenadas pos.x, pos.y, pos.z.
Otra forma de acceder a las coordenadas es
mediante variables separadas
x, y, z = mc.player.getPos()
Teletransportación
Si querés teletransportarte a una posición en
particular intenta con:
x, y, z = mc.player.getPos()
mc.player.setPos(x, y+100, z)
Esto teletransporta 100 espacios hacia arriba, en
el eje y. De pronto apareces en el medio del cielo
y empiezas a caer cuando inicia el juego.
Intentalo, es muy divertido!
Jugando con bloques
Puedes agregar un bloque simple con:
x, y, z = mc.player.getPos()
mc.setBlock(x+1, y, z, 1)
Los parámetros que le pasamos son x, y, z y un
id. (x, y, z) es la posición dónde poner el bloque
(en este caso lo ubicamos en la posición x + 1 del
personaje) y el id es un valor numeŕico que se
refiere al tipo de bloque. Piedra: 1. Otros valores
son Pasto: 2, Aire: 0.
Jugando con bloques
Múltiples bloques
Para un bloque simple usamos setBlock, para algo mas complejo
podemos usar setBlocks:
piedra = 1
x, y, z = mc.player.getPos()
mc.setBlocks(x+1, y+1, z+1, x+11, y+11, z+11, piedra)
Esto hace un conjunto de 10 x 10 x 10 cubos de piedra.
Referencias
Para seguir experimentando puedes ver la guía inicial en inglés:
https://www.raspberrypi.org/learning/getting-started-with-minecraft-p
i/worksheet/
La API de minecraft Pi
http://www.stuffaboutcode.com/p/minecraft-api-reference.html
Algunos juegos avanzados
https://mcpipy.wordpress.com/
MUCHAS GRACIAS
Consultas o sugerencias
@jositux
jm.guaimas@gmail.com
gdotg.com

Más contenido relacionado

Destacado

Programación con Pygame IX
Programación con Pygame IXProgramación con Pygame IX
Programación con Pygame IX
Fernando Salamero
 
Intro PyGame Capitulo 1
Intro PyGame Capitulo 1Intro PyGame Capitulo 1
Intro PyGame Capitulo 1
Ricardo Daniel Quiroga
 
Intro pygamev2
Intro pygamev2Intro pygamev2
Intro pygamev2
Ricardo Daniel Quiroga
 
Programación con Pygame VII
Programación con Pygame VIIProgramación con Pygame VII
Programación con Pygame VII
Fernando Salamero
 
Intro Pygame Capitulo 2
Intro Pygame Capitulo 2Intro Pygame Capitulo 2
Intro Pygame Capitulo 2
Ricardo Daniel Quiroga
 
Capitulo 4
Capitulo 4Capitulo 4
Intro PyGame Capitulo 5
Intro PyGame Capitulo 5Intro PyGame Capitulo 5
Intro PyGame Capitulo 5
Ricardo Daniel Quiroga
 
Programación con Pygame (II)
Programación con Pygame (II)Programación con Pygame (II)
Programación con Pygame (II)
Fernando Salamero
 
Transmisión de datos de temperatura por medio de red lan
Transmisión de datos de temperatura por medio de red lanTransmisión de datos de temperatura por medio de red lan
Transmisión de datos de temperatura por medio de red lan
Rubén Loredo
 
Programación con Pygame III
Programación con Pygame IIIProgramación con Pygame III
Programación con Pygame III
Fernando Salamero
 
Programación con Pygame I
Programación con Pygame IProgramación con Pygame I
Programación con Pygame I
Fernando Salamero
 
Intro PygameCapitulo 3
Intro PygameCapitulo 3Intro PygameCapitulo 3
Intro PygameCapitulo 3
Ricardo Daniel Quiroga
 

Destacado (12)

Programación con Pygame IX
Programación con Pygame IXProgramación con Pygame IX
Programación con Pygame IX
 
Intro PyGame Capitulo 1
Intro PyGame Capitulo 1Intro PyGame Capitulo 1
Intro PyGame Capitulo 1
 
Intro pygamev2
Intro pygamev2Intro pygamev2
Intro pygamev2
 
Programación con Pygame VII
Programación con Pygame VIIProgramación con Pygame VII
Programación con Pygame VII
 
Intro Pygame Capitulo 2
Intro Pygame Capitulo 2Intro Pygame Capitulo 2
Intro Pygame Capitulo 2
 
Capitulo 4
Capitulo 4Capitulo 4
Capitulo 4
 
Intro PyGame Capitulo 5
Intro PyGame Capitulo 5Intro PyGame Capitulo 5
Intro PyGame Capitulo 5
 
Programación con Pygame (II)
Programación con Pygame (II)Programación con Pygame (II)
Programación con Pygame (II)
 
Transmisión de datos de temperatura por medio de red lan
Transmisión de datos de temperatura por medio de red lanTransmisión de datos de temperatura por medio de red lan
Transmisión de datos de temperatura por medio de red lan
 
Programación con Pygame III
Programación con Pygame IIIProgramación con Pygame III
Programación con Pygame III
 
Programación con Pygame I
Programación con Pygame IProgramación con Pygame I
Programación con Pygame I
 
Intro PygameCapitulo 3
Intro PygameCapitulo 3Intro PygameCapitulo 3
Intro PygameCapitulo 3
 

Último

Buscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - BuscafiestaBuscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - Buscafiesta
holabuscafiesta
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
micarnavaltupatrimon
 
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptxTARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
dayronfabricioruizmo
 
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
Maria Celeste Trujillo Cruz
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
eliersin13
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptxTECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
KatiuskaDominguez2
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
micarnavaltupatrimon
 
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdfPC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
JhenryHuisa1
 
Introduccion al Lenguaje de Programación C++
Introduccion al Lenguaje de Programación  C++Introduccion al Lenguaje de Programación  C++
Introduccion al Lenguaje de Programación C++
PaulDelgadoSoto
 

Último (9)

Buscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - BuscafiestaBuscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - Buscafiesta
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
 
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptxTARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
 
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptxTECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
 
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdfPC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
 
Introduccion al Lenguaje de Programación C++
Introduccion al Lenguaje de Programación  C++Introduccion al Lenguaje de Programación  C++
Introduccion al Lenguaje de Programación C++
 

Presentacion minecraft-pi SciPyLa2015

  • 1. Raspberry Pi + Minecraft SciPyLA 2015
  • 2. Qué es raspberry pi ? Es una mini-pc de placa reducida o (placa única) de bajo coste desarrollado en Reino Unido por la Fundación Raspberry Pi, con el objetivo de estimular la enseñanza de ciencias de la computación en las escuelas. Más info http://es.wikipedia.org/wiki/Raspberry_Pi
  • 3. Minecraft Pi Es una versión de Minecraft desarrollado para la Raspberry Pi. Contiene un conjunto de características del juego y un soporte para múltiples lenguajes de programación como ser python y está pensada como una herramienta educativa para los programadores principiantes. Puedes descargarla desde este enlace
  • 4. Cómo iniciar? 1. Descarga el archivo en la raspberry pi 2. Abre Una Terminal 3. Descomprime el archivo con tar -zxvf minecraft-pi-0.1.1.tar.gz 4. Muevete hacia la carpeta mcpi con cd mcpi 5. Ejecuta el juego con el comando ./minecraft-pi
  • 5. Cómo Jugar? Cuando inicia el juego hacer click en Start Game y luego Create new
  • 6. Comandos Usa el mouse para guiar tu mirada o con el teclado: Tecla Acción W Adelante A Izquierda S Atrás D Derecha E Librería de objetos Barra de espacio Saltar Doble Barra de espacio Volar / Aterrizar Esc Pausa / Ir al menú Tab Cambiar el foco del mouse
  • 7. Interactuar con python Mediante python puedes interactuar con el juego, recuerda no cerrar la ventana del juego. Ir al menú y abrir Open IDLE para escribir los comandos de python. 1er Ejercicio. Iniciamos importando la librería de Minecraft, creamos una conexión al juego y escribimos "Hello world" en la pantalla: from mcpi import minecraft mc = minecraft.Minecraft.create() mc.postToChat("Hello world")
  • 9. Saber mi posición Para saber dónde estás parado, escribe: pos = mc.player.getPos() pos es una variable que ahora contiene tu posición; podés acceder al conjunto de coordenadas pos.x, pos.y, pos.z. Otra forma de acceder a las coordenadas es mediante variables separadas x, y, z = mc.player.getPos()
  • 10. Teletransportación Si querés teletransportarte a una posición en particular intenta con: x, y, z = mc.player.getPos() mc.player.setPos(x, y+100, z) Esto teletransporta 100 espacios hacia arriba, en el eje y. De pronto apareces en el medio del cielo y empiezas a caer cuando inicia el juego. Intentalo, es muy divertido!
  • 11. Jugando con bloques Puedes agregar un bloque simple con: x, y, z = mc.player.getPos() mc.setBlock(x+1, y, z, 1) Los parámetros que le pasamos son x, y, z y un id. (x, y, z) es la posición dónde poner el bloque (en este caso lo ubicamos en la posición x + 1 del personaje) y el id es un valor numeŕico que se refiere al tipo de bloque. Piedra: 1. Otros valores son Pasto: 2, Aire: 0.
  • 13. Múltiples bloques Para un bloque simple usamos setBlock, para algo mas complejo podemos usar setBlocks: piedra = 1 x, y, z = mc.player.getPos() mc.setBlocks(x+1, y+1, z+1, x+11, y+11, z+11, piedra) Esto hace un conjunto de 10 x 10 x 10 cubos de piedra.
  • 14. Referencias Para seguir experimentando puedes ver la guía inicial en inglés: https://www.raspberrypi.org/learning/getting-started-with-minecraft-p i/worksheet/ La API de minecraft Pi http://www.stuffaboutcode.com/p/minecraft-api-reference.html Algunos juegos avanzados https://mcpipy.wordpress.com/ MUCHAS GRACIAS Consultas o sugerencias @jositux jm.guaimas@gmail.com gdotg.com