Minecraft Pi Editionをハックしてみよう

21
お ば ん で す |\     ___    /‾/  | \ _ / ՞ ՞`\ /  / |    | し  |   / \__(    }_/ \_____/ ||   // m   m

description

OSC2014 Tokyo/Fall懇親会にて発表。

Transcript of Minecraft Pi Editionをハックしてみよう

Page 1: Minecraft Pi Editionをハックしてみよう

   お ば ん で す |\     ___    /‾/  | \ _ / ́՞ ՞`\ /  / |    |   し  |   / \__(    ਊ   }_/     \_____/      ||   //      m   m

Page 2: Minecraft Pi Editionをハックしてみよう

飲んでるか!

Page 3: Minecraft Pi Editionをハックしてみよう

私からは  小ネタを  少々……

Page 4: Minecraft Pi Editionをハックしてみよう

Minecra*  Pi  Edi.onを  ハックしてみよう

Ejectコマンドユーザー会  あっきぃ  (  id:Akkieso*  )  

 2014/10/18    OSC2014  Tokyo/Fall

Page 5: Minecraft Pi Editionをハックしてみよう

自己紹介

•  あっきぃ です  •  1988年(昭和63年)生まれ  

•  北海道根室市出身(日本最東端の駅の近く)  

•  渋谷で仮想化エンジニアしてます  

•  @Akkieso*  – フォロー非推奨(ツイート量多い)  – 学生は特に非推奨(学業に専念しろ)  – Ejectに絡めて謎メンションされるとキレます

Page 6: Minecraft Pi Editionをハックしてみよう

イカらないで♡  くコ:彡

•  むり♡つらい♡  

私「久しぶりに鉄道模型楽しい」??「Ejectですか?!」

Page 7: Minecraft Pi Editionをハックしてみよう
Page 8: Minecraft Pi Editionをハックしてみよう

  ☝          ՞   _人人人人人_ > (     ) <  ☞    ̄Y^Y^YY^Y^Y ̄

 ՞        ਊ

Page 9: Minecraft Pi Editionをハックしてみよう

クソリプはつらいよ

•  有名税で片付けるの辛すぎィッ!!  •  SNS疲れを起こしてフォロワーを700人くらいブ

ロック・ブロック解除した  – 再フォローはOKですが前述のお約束を守っても

らえると幸い  

•  クソリプについては議論が各所起きているようなのでみんなが幸せになれるコミュニケーション環境になるといいですね  

Page 10: Minecraft Pi Editionをハックしてみよう

愚痴ってしまって  失礼いたしました  

(◞‸◟)

Page 11: Minecraft Pi Editionをハックしてみよう

Ejectコマンドユーザー会とは

•  CD-­‐ROMドライブのトレイ開閉を利用して  •  トレイに色んなことをさせる工作を作り  

•  リモートやタイマー等で実行することで  

•  QoLの向上を試みるユーザーの集いです  

•  主にオープンソースカンファレンスで活動  

•  公式サイトは  Eject  で検索  

•  Google  Groupsへの入会お待ちしています  

•  現在55名強(ML参加人数)  

Page 12: Minecraft Pi Editionをハックしてみよう

トレイに色んなことをさせる工作

•  ハムスターにエサをあげる  •  エアコンの電源を操作する  

•  AC電源を操作する  

•  除夜の鐘をつく  – 去年もやりました  

Page 13: Minecraft Pi Editionをハックしてみよう

本題

Page 14: Minecraft Pi Editionをハックしてみよう

Minecra*  Pi  Edi.onとは

•  Raspberry  Pi向けのマイクラ(直球)  •  PC版の普通のマイクラから機能を削ったサブ

セット版のようなもの  

•  Pythonスクリプトでワールド内の情報を取得したり操作したりできる

Page 15: Minecraft Pi Editionをハックしてみよう

なぜマイクラがハックできるのか

•  Raspberry  Piは子どもたちの教育のために作られているので、教育のためのドキュメントも作られている  

•  楽しみながらプログラミングを学ぶために、Minecra*が用意されている  

Page 16: Minecraft Pi Editionをハックしてみよう

マイクラのドキュメント

•  hZp://www.raspberrypi.org/learning/ge]ng-­‐started-­‐with-­‐minecra*-­‐pi/  

•  インストール(現在はバンドルされている)、実行、Pythonスクリプトを使ったハックについて解説されている

Page 17: Minecraft Pi Editionをハックしてみよう

わたしもつくってみた

Page 18: Minecraft Pi Editionをハックしてみよう

なんこれ

•  CD-­‐ROMドライブ型の  ハウスがある  

•  CD-­‐ROMドライブハウ  スのEjectボタンを押  すと、リアルのCD-­‐ROMドライブがEjectする  

Page 19: Minecraft Pi Editionをハックしてみよう

ソースコード

•  サンプルに  手を入れた  

•  程度

import  os  from  mcpi  import  minecra*  mc  =  minecra*.Minecra*.create()  try:  

 while  True:      #Get  the  block  hit  events      blockHits  =  mc.events.pollBlockHits()      #  if  a  block  has  been  hit      if  blockHits:        #  for  each  block  that  has  been  hit        for  blockHit  in  blockHits:          #  do  something  with  the  block          px  =  blockHit.pos.x          py  =  blockHit.pos.y          pz  =  blockHit.pos.z          if  px  ==  80  and  py  ==  8  and  pz  ==  -­‐29  :            mc.postToChat("UIIIN")            os.system('eject  -­‐T  /dev/sr0')  

except  KeyboardInterrupt:    print("\n\nStopped.\n")    exit()  

Page 20: Minecraft Pi Editionをハックしてみよう

まとめ

•  Raspberry  Piは本体だけじゃなく、教育もセットのプロジェクト  

•  Minecra*楽しい✌('ω'✌  )三✌('ω')✌三(  ✌'ω')✌  

Page 21: Minecraft Pi Editionをハックしてみよう

おわり♡