2019/11/29
プレイヤー位置情報の取得・変更
ブロックの設置と情報の取得
プレイヤーの位置を取得する
1
メソッド名:mc.player.getTilePos()
プレイヤーの位置情報は3次元の
x,y,z座標の数値によって管理されている
その数値を取得するのが上記メソッド
x
y
z
北 東
西 南
プレイヤーの位置情報を取得する
2
pos1.pyを参照
前回教えた方法を基にプログラムを
書いて動かしてみよう
プレイヤーの位置情報を取得する
3
pos1.pyを参照
前回教えた方法を基にプログラムを
書いて動かしてみよう
「Vec3(x座標,y座標,z座標)」と表示されればOK
Vec3ってなに?→3次元のベクトル(高校数学で習います)
という意味(難しいので説明は省略)
プレイヤーの位置情報を取得する
4
pos1.pyを参照
前回教えた方法を基にプログラムを
書いて動かしてみよう
「Vec3(x座標,y座標,z座標)」と表示されればOK
Vec3ってなに?→3次元のベクトル(高校数学で習います)
という意味(難しいので説明は省略)
x,y,z座標をそれぞれ別の変数で取得してみよう
pos2.pyを参照
プレイヤーの位置を変更する
5
メソッド名:mc.player.setTilePos(x,y,z)
プレイヤーの位置を指定したx,y,z座標に
移動させるメソッド
小課題①:プレイヤーを今いる場所から南へ10
西へ3ブロック分移動させてみよう
(ヒントはpos3.pyに書いてあります)
2019/11/29
プレイヤー位置情報の取得・変更
ブロックの設置と情報の取得
ブロックの設置
7
プログラムからブロックを設置する方法
①ひとつだけ置く
②まとめて置く
メソッド名:mc.setblock(x,y,z,
ブロック名もしくはブロックID)
メソッド名:mc.setblocks(x,y,z,x’,y’,z’,
ブロック名もしくはブロックID)
開始位置 終了位置
ブロックの設置
8
プログラムからブロックを設置する方法
①ひとつだけ置く
②まとめて置く
その前に…
メソッド名:mc.setblock(x,y,z,
ブロック名もしくはブロックID)
メソッド名:mc.setblocks(x,y,z,x’,y’,z’,
ブロック名もしくはブロックID)
開始位置 終了位置
新しいモジュールの呼び出し
from mcpi.block import *
というおまじないを追加する必要アリ
ブロック名とブロックIDの一覧
9
ブロックの設置
10
小課題②:プレイヤーの頭上に原木を
ひとつ設置してみよう
(ヒントはset-block1.pyに書いてあります)
小課題③:プレイヤーの目の前に
x(幅):5,z(奥行き)10,y(高さ)3
の石ブロックの塊を置いてみよう
(ヒントはset-block3.pyに書いてあります)
ブロック情報の取得
11
任意の場所になんのブロックがあるのか知る方法
メソッド名:mc.getblock(x,y,z)
(出力はブロックID)
小課題④:プレイヤーの真下にあるブロック
が何なのか調べてみよう
(ヒントはgetblock.pyに書いてあります
※0と表示される場合は間違っています)
課題
12
宿題:プレイヤーのいる場所を基準にして
指定したところにワープできる
+ワープした場所の真下のブロックを
木材に置き換えるプログラムを
作ってみよう
ヒント:プログラムを呼び出すときに引数を
つけて呼び出すことが出来る
Python: コマンドライン引数とは?(超基礎)
引数にワープしたい距離を指定すれば…?
ヒントになりそうなプログラム

Programming school 08

Editor's Notes

  • #2 *日付は自動のため,変更の必要はありません.
  • #8 *日付は自動のため,変更の必要はありません.