さぁ今日は前回からさらに進化したカメを使ったお絵描きアプリを作っていくよ!
亀さんですか、ちょっと可愛い感じそうですね。
可愛いかはちょっと分からないけど、プログラミングの雰囲気を掴める面白い例ではあるよ。
プログラムの中身難しそう…
そうだね。今回もプログラムの内容を理解するというよりかはプログラムの雰囲気を掴めればいいよ。
プログラムも基本写すだけで大丈夫。
ひとまず亀でお絵描きされる様子。
プログラムをちょっと変えるだけで結果が全く異なるってところをみてほしい!
カメで直線を描くところから!
さっそく、カメで絵を書いてみよう。
前回と同様にまずは、アイドル(IDLE)から新規ファイルを作成する。
準備ができたら以下のプログラムを書いてみて。
from turtle import *
shape(“turtle”)
forward(100)
done()
ファイル名は「turtle1.py」としたよ。
ちなみに、「turtle.py」という名前でファイルを保存するとエラーが出る!
Run Moduleでこんな画面になれば成功だ。
できましたー可愛い!
なんか上手くいかないみたい!!
たこそれだと、shape()部分で「turtle」を呼べてない、ダブルクォーテーションを忘れないで。
shape(“turtle”)
あ、ほんとだ!よかった動いた!!
カメで正方形を描く
直線はかけた。
forward(100)というプログラム部分で前に100という数値分進むってわけだ。
正方形を描くならこれをどうすればいいかな?
そう、100進んだら次は左に向いて、また100進む、そしてまた左を向いて100進む。また左に100。
これで正方形が描けるね!
プログラムにするとこんな感じ。
from turtle import *
shape(“turtle”)
for i in range(4):
forward(100)
left(90)
done()
For文の説明はまた今度やるけど、とりあえず4回繰り返すと思ってくれればいいよ。
4回、「前に100、90度左を向く」を繰り返すって意味のプログラムだ。
結果、こんな感じの画面になれば成功だ。
あれ、上手くいかない何このエラー?
pythonあるあるのエラーだね。インデントがおかしいせいだよ。
インデント?
forwardとかの前にあるスペースのことだね。
pythonではこのスペースの大きさが同じ命令の中では共通でないといけない。
つまりこのエラーの場合だと、leftの前のスペースとforwardの前のスペースが同じじゃないといけない。
Forwardの前のスペースを消して、tabキーを押してみて。
あ、上手くいきました!!
インデント(隙間)はfor文の中では共通のtabキーなどにしないといけないというのを覚えておこう。
まぁこの辺のことも後々解説していくつもりだから。
「そんなんだー」くらいでいいよ。
星や花を描く
最後にカラフルな星や花を描くプログラムを体験しよう。
まずはカラフルな星だ。
プログラムをこんな感じにしてみて。
from turtle import *
shape(“turtle”)
col = [“orange”,”limegreen”,”gold”,”plum”,”tomato”]
for i in range( 5):
color(col[i])
forward( 200)
left( 144)
done()
今度は線を5本で構成するから5回繰り返す、それぞれで色をかえる命令と200進む、144度左を向く命令で構成されているプログラムだ。
ちょちょ、急にそんなプログラムを解説されてもわかんないよ。
一応、今は「ふーーん」でいいよ。
だんだんプログラミングを学んでいくと、この解説の意味がわかっていくはずだから。
次に花を描いてみる!
from turtle import *
shape(“turtle”)
col = [“orange”,”limegreen”,”gold”,”plum”,”tomato”]
for i in range( 5):
color(col[i])
circle( 100)
left( 72)
done()
5回繰り返すのは星と一緒で、今度はforwardじゃなくて、円を描ける命令circleを使う。
あとはいつも通り、少しずつ左を向くようにして完成した図がこれだ。
こうやって、命令が少し変わるだけで描ける絵は大きく変わる。
まさにプログラムの醍醐味だね。
次回以降の解説を聞くうちに、今回紹介したプログラムの意味がわかっていくから楽しみにしておいて。
まとめ
今回は、カメを使ったお絵描きアプリをいろいろ試してみたけどどうだったかな?
なんとか、エラーなく実行はできましたが、中身の意味はちんぷんかんぷんでした。
ぼくも、ついていくのがやっとでプログラムを一生懸命書き写すので精一杯だったよ。
今はまだそれでいいよ。
ひとまず、自分の書いたプログラムが動くことを確認するまでが今回だ。
次回からいよいよ今回出てきたfor文とかの意味を解説していくよ。
一つ一つの単語の意味を抑えることで、プログラムを操れるようにもなるし、プログラムの意味がわかっていくんだ!!