てっぱんPython無料講座!カメを使ったお絵描きアプリを作る【#5】

てっぱん
てっぱん

さぁ今日は前回からさらに進化したカメを使ったお絵描きアプリを作っていくよ!

焼きグリコ
焼きグリコ

亀さんですか、ちょっと可愛い感じそうですね。

てっぱん
てっぱん

可愛いかはちょっと分からないけど、プログラミングの雰囲気を掴める面白い例ではあるよ。

ベビたこ
ベビたこ

プログラムの中身難しそう…

てっぱん
てっぱん

そうだね。今回もプログラムの内容を理解するというよりかはプログラムの雰囲気を掴めればいいよ。

プログラムも基本写すだけで大丈夫。

ひとまず亀でお絵描きされる様子。

プログラムをちょっと変えるだけで結果が全く異なるってところをみてほしい!

カメで直線を描くところから!

さっそく、カメで絵を書いてみよう。

前回と同様にまずは、アイドル(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文とかの意味を解説していくよ。

てっぱん
てっぱん

一つ一つの単語の意味を抑えることで、プログラムを操れるようにもなるし、プログラムの意味がわかっていくんだ!!

おすすめのプログラミングマンツーマン塾

てっぱん
てっぱん
マンツーマンだから、みんなの前では聞けないことも聞けちゃう!! 今なら無料体験もあるよ!!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA