SlideShare a Scribd company logo
2019/12/5
繰り返しを使ったマインクラフト
のプログラム
繰り返し文のおさらい
1
繰り返し文は二種類ある
書き方:
for 変数 in オブジェクト:
実行する処理
→オブジェクトから一つずつ中身を取り出して
変数に代入して実行する
while 条件式:
実行する処理
→条件式を満たすときに以下の処理を繰り返して
実行する
階段をつくろう
2
loop2.pyを開いて階段を作ってみよう
P111より抜粋
pos.x+i
pos.y+i
立方体をつくろう
3
loop3.pyを開いて一段ずつ立方体を
作ってみよう
timeモジュールをimportして最後の行に
sleep(2)と書いて実行すると流れが
わかりやすいかもしれません
P112より抜粋
足場の広い階段を作ろう
4
小課題:↓のような階段を作ろう
(ヒント:loop3.pyのある一か所を変えればできます)
P113より抜粋
ピラミッドを作ろう①
5
まずは繰り返し文を使わずに
5段のピラミッドを作ろう
(pyramid1.pyを参照)
ピラミッドを作ろう②
6
繰り返し文を使って3段の積み上げブロックを作ろう
(pyramid2.pyを参照)
P116より抜粋
ピラミッドを作ろう②
7
各段のブロック数を求めよう
P116より抜粋
ピラミッドを作ろう②
8
各段のブロック数を求めよう
N段目のブロック数=(M-N+1)×2-1(Mは重ねる段の数)
ピラミッドを作ろう②
9
M=
N段目のブロック数N
2
N段目のブロック数=(M-N+1)×2-1(Mは重ねる段の数)
各ブロックの位置関係
P117より抜粋
ピラミッドを作ろう③
10
奥行きのある(普通の)ピラミッドをつくろう
ピラミッドの各段は正方形であることに注目
正方形の面積(必要なブロック数)=(1辺の長さ)2
1辺の長さ = N段目のブロック数
ピラミッドを作ろう③
11
Pyramid3.pyを開いてピラミッドを作ってみよう
11行目に注目
mc.setBlocks(pos.x+i,pos.y+i,pos.z+i,
pos.x+(A-(i+1)), pos.y+i,pos.z+(A-(i+1)))
①
②
①
①
②
②
ピラミッドの断面図
①1ずつ増える ②1ずつ減る
y
x
z
課題
12
①Loop4.pyをwhile文で書いてみよう
②逆さまのピラミッドを作ってみよう

More Related Content

More from Masato Nakajima

Programming school 11
Programming school 11Programming school 11
Programming school 11
Masato Nakajima
 
Programming school 10
Programming school 10Programming school 10
Programming school 10
Masato Nakajima
 
Programming school 08
Programming school 08Programming school 08
Programming school 08
Masato Nakajima
 
Programming school 07
Programming school 07Programming school 07
Programming school 07
Masato Nakajima
 
Programming school 06
Programming school 06Programming school 06
Programming school 06
Masato Nakajima
 
Programming school 05
Programming school 05Programming school 05
Programming school 05
Masato Nakajima
 
Programming school 04
Programming school 04Programming school 04
Programming school 04
Masato Nakajima
 
Programming school 03
Programming school 03Programming school 03
Programming school 03
Masato Nakajima
 
Programming school 02
Programming school 02Programming school 02
Programming school 02
Masato Nakajima
 
Programming school 01
Programming school 01Programming school 01
Programming school 01
Masato Nakajima
 
卒業研究詳細
卒業研究詳細卒業研究詳細
卒業研究詳細
Masato Nakajima
 

More from Masato Nakajima (11)

Programming school 11
Programming school 11Programming school 11
Programming school 11
 
Programming school 10
Programming school 10Programming school 10
Programming school 10
 
Programming school 08
Programming school 08Programming school 08
Programming school 08
 
Programming school 07
Programming school 07Programming school 07
Programming school 07
 
Programming school 06
Programming school 06Programming school 06
Programming school 06
 
Programming school 05
Programming school 05Programming school 05
Programming school 05
 
Programming school 04
Programming school 04Programming school 04
Programming school 04
 
Programming school 03
Programming school 03Programming school 03
Programming school 03
 
Programming school 02
Programming school 02Programming school 02
Programming school 02
 
Programming school 01
Programming school 01Programming school 01
Programming school 01
 
卒業研究詳細
卒業研究詳細卒業研究詳細
卒業研究詳細
 

Programming school 09

Editor's Notes

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