kobe.py 勉強会 minecraft piスライド

64
Minecraft for Python 夜夜夜夜 Kobe.py 夜 夜夜夜夜

Upload: masafumi-terazono

Post on 09-Feb-2017

226 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Kobe.py 勉強会 minecraft piスライド

Minecraft for Python夜子まま

Kobe.py 第2回勉強会

Page 2: Kobe.py 勉強会 minecraft piスライド

自己紹介• 名前: 寺園聖文 てらぞの まさふみ• ハンドルネーム: 夜子まま• 職業:  Android エンジニア、またはプログラミング講師• マイクラ歴: 半年• SNS : Twitter @yokmama と Facebook やってます

Page 3: Kobe.py 勉強会 minecraft piスライド

話す内容Python で作ったプログラムを Minecraft の世界に出力して遊ぼう!っていう話をします

Page 4: Kobe.py 勉強会 minecraft piスライド

さて Minecraft を知ってますか?

Page 5: Kobe.py 勉強会 minecraft piスライド

それは、多種多様な生き物が生活する箱庭ゲーム

Page 6: Kobe.py 勉強会 minecraft piスライド

今回は

Page 7: Kobe.py 勉強会 minecraft piスライド

この Minecraft の

Page 8: Kobe.py 勉強会 minecraft piスライド

世界に

Page 9: Kobe.py 勉強会 minecraft piスライド

Python から

Page 10: Kobe.py 勉強会 minecraft piスライド

干渉して me ようと思っています

Page 11: Kobe.py 勉強会 minecraft piスライド

Python

Hello World

これがPython

こうなる

Page 12: Kobe.py 勉強会 minecraft piスライド

Python

sorted234567

これがPython

こうなる

Page 13: Kobe.py 勉強会 minecraft piスライド

というわけでやってみましょう

Page 14: Kobe.py 勉強会 minecraft piスライド

Python SDK のインストール

Page 15: Kobe.py 勉強会 minecraft piスライド

https://www.python.org/

Page 16: Kobe.py 勉強会 minecraft piスライド

今回は 2.7 で動作検証しました

Page 17: Kobe.py 勉強会 minecraft piスライド

Python 開発ツールのインストール

Page 18: Kobe.py 勉強会 minecraft piスライド

https://www.jetbrains.com/idea/

Page 19: Kobe.py 勉強会 minecraft piスライド

Community Edition は無料です

Page 20: Kobe.py 勉強会 minecraft piスライド

Python プラグインをインストール

ここからPreference を選択

Page 21: Kobe.py 勉強会 minecraft piスライド

Plugins で Python を検索すると見つからないはず、なので Browse でさらに検索をする

Page 22: Kobe.py 勉強会 minecraft piスライド

Python のプラグインがみつかるはず、さっそくインストールしよう

Page 23: Kobe.py 勉強会 minecraft piスライド

インストールしたら再起動を促されるはずだ。IntelliJ を再起動しよう

Page 24: Kobe.py 勉強会 minecraft piスライド

Python のプロジェクトを作成

Page 25: Kobe.py 勉強会 minecraft piスライド
Page 26: Kobe.py 勉強会 minecraft piスライド

Python を選択ここが None になっているならNew をクリックして、VirtualEnv を生成して、Python2.7 を追加しよう

Page 27: Kobe.py 勉強会 minecraft piスライド

プロジェクトの名前は任意だけど、思いつかなければ python-mcpi としておいて。

Page 28: Kobe.py 勉強会 minecraft piスライド

Python のプロジェクトができました

Page 29: Kobe.py 勉強会 minecraft piスライド

mcpi ライブラリを追加

Page 30: Kobe.py 勉強会 minecraft piスライド

http://blog.whaleygeek.co.uk/minecraft-pi-with-python/

これを Download

Page 31: Kobe.py 勉強会 minecraft piスライド

展開したフォルダの中の api/python/mcpi をフォルダごとプロジェクトに追加

Page 32: Kobe.py 勉強会 minecraft piスライド

この作業はここまでつぎは、 Minecraft を設定しよう

Page 33: Kobe.py 勉強会 minecraft piスライド

Python 対応 Minecraft のインストール

Page 34: Kobe.py 勉強会 minecraft piスライド

You Minecraft のアカウントもってるかい?

Page 35: Kobe.py 勉強会 minecraft piスライド

こっからは持ってる奴だけの話だぜ

Page 36: Kobe.py 勉強会 minecraft piスライド

Minecraft Forge のインストール

Page 37: Kobe.py 勉強会 minecraft piスライド

http://files.minecraftforge.net/

Page 38: Kobe.py 勉強会 minecraft piスライド

今回は 1.7.10 でのみ、動作確認をしています。1.7.10 の Recommended バージョンをダウンロードしよう

Page 39: Kobe.py 勉強会 minecraft piスライド

まちがって AdWare をインスト―スしないように、右上の Skip で広告を飛ばそう。

Page 40: Kobe.py 勉強会 minecraft piスライド

クライアントをインストールしてください。install client です

Page 41: Kobe.py 勉強会 minecraft piスライド

Minecraft を起動し、左下のNew Profile をクリック

Page 42: Kobe.py 勉強会 minecraft piスライド

図のように編集分かりやすい名前に

Desktop 以外の分かりやすい場所に

さっきインストールした 1.7.10 を選択

Page 43: Kobe.py 勉強会 minecraft piスライド

一回シングルプレイで起動してすぐに終了しましょう

Page 44: Kobe.py 勉強会 minecraft piスライド

さっき設定したフォルダを開いてください。

Page 45: Kobe.py 勉強会 minecraft piスライド

この作業はここまでつぎは、このフォルダにいれる Mod ファイルをダウンロードしよう

Page 46: Kobe.py 勉強会 minecraft piスライド

mcpi 用 Mod のインストール

Page 47: Kobe.py 勉強会 minecraft piスライド

http://minecraft.curseforge.com/projects/mcpiapi/files/2223658

Page 48: Kobe.py 勉強会 minecraft piスライド

ダウンロードした jar ファイルをMinecraft の Profile で設定したフォルダの下にあるmods というフォルダに移動する

Page 49: Kobe.py 勉強会 minecraft piスライド

これで準備完了、最後にもう一度、次の条件が満たされているかもう確認してみよう

• PythonSDK が入っている• Python のプロジェクトに mcpi の Python ライブラリを追加している• Minecraft をもっている• Minecraft に MinecraftForge の 1.7.10 をインストールしている• MinecraftForge1.7.10 のプロフィルのフォルダの下の Mods に MCPI の Mods をいれている

Page 50: Kobe.py 勉強会 minecraft piスライド

準備ができているなら、早速 Minecraft をシングルプレイで起動しよう。ワールドはフラットワールドにしておくといいぞ

Page 51: Kobe.py 勉強会 minecraft piスライド

さぁこっからだ

Page 52: Kobe.py 勉強会 minecraft piスライド

Python で Hello World

Page 53: Kobe.py 勉強会 minecraft piスライド

プロジェクト名の所で右クリック

Python Packageを選択

名前は何でもいいけど思いつかなかったら demo をどうぞ

プログラムを作成していれるパッケージを作成

Page 54: Kobe.py 勉強会 minecraft piスライド

demo のところで右クリックし Python File を選択Python のプログラムを作成

ファイル名は HelloWorld

Page 55: Kobe.py 勉強会 minecraft piスライド

プログラムを実装

あとで説明するのでサラッと進めます

Page 56: Kobe.py 勉強会 minecraft piスライド

プログラムを実行実行したいプログラムを選択し右クリックでメニューからRun “HelloWorld”

を選択

Page 57: Kobe.py 勉強会 minecraft piスライド

プログラムを実行すると、 Minecraft の画面にHelloWorld が表示されます。

Page 58: Kobe.py 勉強会 minecraft piスライド

プログラムを解説

Page 59: Kobe.py 勉強会 minecraft piスライド

import mcpi.minecraft as minecraft

if __name__ == "__main__":

mc = minecraft.Minecraft.create()

mc.postToChat("Hello World”)

minecraft ファイルを読み込む

Python から Minecraft に命令をするためのMinecraft クラスを生成Chat に  Hello World を表示するように指示

Page 60: Kobe.py 勉強会 minecraft piスライド

mcpi(Minecraft Pi) ライブラリ

Page 61: Kobe.py 勉強会 minecraft piスライド

Minecraft

mcpi サーバー

mcpi とはPython

mcpi クライアントライブラリmcpi プロトコル4711 ポートを使っているTCP 接続

Page 62: Kobe.py 勉強会 minecraft piスライド

http://www.stuffaboutcode.com/p/minecraft-api-reference.html

基本的なライブラリの解説は下記のサイトで参照できる。また先ほどダウンロードしたファイルの中に DOC も入っているので参照すると良いです。

Page 63: Kobe.py 勉強会 minecraft piスライド

プレイヤーの現在位置を知りたい#get players position as floatsplayerPos = mc.player.getPos()

#sets a block at an x, y, z co-ordinate to a particular typemc.setBlock(0,0,0,block.DIRT.id)#sets a block to a particular type and 'subtype'mc.setblock(0,0,0,block.WOOD.id, 1)

好きなブロックを置きたい

#get block event hits that have occured since the last time the function was runblockEvents = mc.events.pollBlockHits()for blockEvent in blockEvents: print blockEvent

プレイヤーがブロックを叩いたときに何かをしたい

例えばこんなことが出来るぞ

Page 64: Kobe.py 勉強会 minecraft piスライド

Lets Python!