diff --git a/app/controllers/sotechsha2_pages_controller.rb b/app/controllers/sotechsha2_pages_controller.rb
new file mode 100644
index 000000000..e494a831c
--- /dev/null
+++ b/app/controllers/sotechsha2_pages_controller.rb
@@ -0,0 +1,7 @@
+class Sotechsha2PagesController < ApplicationController
+ def index; end
+
+ def show
+ render "sotechsha2_pages/#{params[:page]}"
+ end
+end
diff --git a/app/views/shared/_sitemap_sotechsha2.html.haml b/app/views/shared/_sitemap_sotechsha2.html.haml
new file mode 100644
index 000000000..632278c75
--- /dev/null
+++ b/app/views/shared/_sitemap_sotechsha2.html.haml
@@ -0,0 +1,29 @@
+%nav.navbar
+ %ul.nav.navbar-nav
+ %li
+ %span.list-group
+ %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha2/gazou"} スプライト素材のダウンロード
+ %li
+ %span.list-group
+ %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha2/0"} 序章課題
+ %li
+ %span.list-group
+ %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha2/1"} 1章課題
+ %li
+ %span.list-group
+ %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha2/2"} 2章課題
+ %li
+ %span.list-group
+ %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha2/3"} 3章課題
+ %li
+ %span.list-group
+ %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha2/4"} 4章課題
+ %li
+ %span.list-group
+ %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha2/5"} 5章課題
+ %li
+ %span.list-group
+ %a.list-group-item.list-group-item-success.text-center{:href => "/sotechsha2/6"} 6章課題
+
+%hr/
+%br/
diff --git a/app/views/sotechsha2_pages/0.html.erb b/app/views/sotechsha2_pages/0.html.erb
new file mode 100644
index 000000000..811bbea9a
--- /dev/null
+++ b/app/views/sotechsha2_pages/0.html.erb
@@ -0,0 +1,271 @@
+<% provide :title, '序章課題 - CoderDojo Japan' %>
+<% provide :url, 'https://coderdojo.jp/sotechsha2/0' %>
+
+
+
+
+
+
+
序章課題
+
+
リンゴが消えて、別の場所から出てくるようにするには?
+
+
+
+
+ 課題内容(書籍P.32)
+
+
ネコがリンゴにさわったら、リンゴが消えて別の場所から出てくるようにコードを作り直してみよう。ネコがリンゴにさわったときに、リンゴの位置をランダムに設定し直すと、ちがった動きになるよ。
+
+
+
+
ヒント1→ 新しいコードをリンゴに追加すること。ネコのコードを参考に、追加する場所を探してみよう。リンゴが出る場所をランダムにするには、調べるカテゴリーの「〜から〜までの乱数」を使うんだ(☞P.154参照)。
+
+
+
+
ヒント2→ x座標、y座標はそれぞれいくつからいくつまでかな? 背景の「Xy-grid」をよく見て設定してみよう。リンゴの位置を変える前に一度隠して、しばらくしてからもう一度表示するようにすると、もっとよくなるよ。
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/0/00_cover.png'%>
+
+
+
+
+
+
+
キミにとっての初めてのScratch作品になったと思うんだけど、どうだったかな? ここからは作った作品に少し手を加えて動きを変えていってみようと思う。まずはリンゴを隠して、しばらくしてランダムな場所に表示させてみよう。プログラムは少ししか変えないけど、動きはだいぶ違って見えると思うよ。
+
+
+
+
+ タカシが最後に作った「ネコ」のコード
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/0/00-01.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
+
+
+
+ タカシが最後に作った「リンゴ」のコード
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/0/00-02.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
リンゴを隠してみよう
+
+ まずはリンゴを隠してみよう。ネコに触れたらリンゴを隠す部分を作っていくよ。ネコのコードを見て欲しい。
+ 「もしAppleに触れたなら」
+ というプログラムを用意したね。これと同じようなものを、リンゴのコードにも用意するよ。ネコに触れたかどうかを調べたいので同じように
+ 「もしスプライト1(ネコ)に触れたなら」
+ を用意してみよう。それぞれどこのカテゴリーにあったかな?
+
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/0/00-03.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
+ みつかったかな?
+ 「もし〜なら」
+ は制御カテゴリー、
+ 「スプライト1に触れた」
+ は調べるカテゴリーだったね。これを組み合わると
+ 「もしスプライト1に触れたなら」
+ ができるよ。
+
+
+ では、この中にリンゴを隠すプログラムを用意しよう。
+ 「隠す」
+ というブロックが見た目カテゴリーにある。それを
+ 「もしスプライト1に触れたなら」
+ の中に入れてみよう。
+
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/0/00-04.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
+ できあがったプログラムは
+ 「10歩動かす」
+ の前に入れてみよう。これでネコに触れるとリンゴが隠れるよ。
+
+
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/0/00-05.png', style: 'padding-top:-50px;'%>
+
+
+
+
再びリンゴを表示させよう
+
+ さて、これで隠すことができるようになったけど、このままだと一度ネコがリンゴに触れてしまうと、リンゴが出てこなくなっちゃうね。そこで、再びリンゴを表示させるようにしてみよう。リンゴを表示するには
+ 「見た目」
+ カテゴリーの
+ 「表示する」
+ を使うよ。これを
+ 「隠す」
+ の後に入れて、緑の旗をクリックしてみよう。
+
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/0/00-06.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
+ リンゴが隠れなくなったね。これは一瞬隠れてるんだけど、すぐに表示されてしまうから隠れてないように見えてるからなんだ。そこでちょっと一工夫。
+ 「隠す」
+ と
+ 「表示する」
+ の間に制御カテゴリーにある
+ 「1秒待つ」
+ を入れてみよう。
+
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/0/00-07.png', style: 'padding-top:-50px;'%>
+
+
+
+
これでリンゴが隠れて1秒後に表示されるようになったよ。
+
+
+
+
+
+
+
ランダムな場所に移動させよう
+
+ いよいよ最後の仕上げ、ランダムな場所に表示してみよう。隠した後にリンゴの場所を変えて違うところに表示するよ。スプライトの場所を変えるには、どのブロックを使ったらよかったかな?
+ 「x座標を〜y座標を〜にする」
+ を使えばよかったね。まずは、これを
+ 「隠す」
+ と
+ 「表示する」
+ の間に入れてみよう。
+
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/0/00-08.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
+ このままだと毎回同じ場所に出てくるので、場所をランダムにしてみよう。ランダムにするには、演算カテゴリーの
+ 「〜から〜までの乱数」
+ というブロックを使うよ。乱数というのがランダムな数値のことだよ。
+
+
+ 「〜から〜までの乱数」
+ を2つ用意しよう。1つはx座標、もう1つはy座標部分に入れてみよう。さて、ランダムな数値はいくつからいくつまでにすればいいかな? 今背景は「Xy-grid」になっていると思う。もし違う背景だったら「Xy-grid」にしてみよう。
+
+
+ 「Xy-grid」の上下左右に数字が書いてあるね。左のxは-240、右のxは240、上のyは180、下のyは-180。この数字を使えばよさそうだね。ではxは
+ 「-240から240までの乱数」
+ 、yは
+ 「-180から180までの乱数」
+ としてみよう。
+
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/0/00-09.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
+ これで、緑の旗をクリックしてみると……ネコに触れるたびにリンゴがランダムな場所に表示されるようになった!実は動きカテゴリの
+ 「どこかの場所へ行く」
+ でも、ランダムな場所に移動させることができるよ。
+
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/0/00-10.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
プログラムをちょっと追加しただけで動きが変わったね。緑の旗がクリックされたときのリンゴの場所をランダムにしてみたりもできるよ。チャレンジしてみよう!
+
+
+
+
+
更新日: 2019年05月22日
+
+
+ <%= render partial: 'shared/sitemap_sotechsha2'%>
+
+
+
+
+
+
diff --git a/app/views/sotechsha2_pages/1.html.erb b/app/views/sotechsha2_pages/1.html.erb
new file mode 100644
index 000000000..ab6e1daf1
--- /dev/null
+++ b/app/views/sotechsha2_pages/1.html.erb
@@ -0,0 +1,429 @@
+<% provide :title, '1章課題 - CoderDojo Japan' %>
+<% provide :url, 'https://coderdojo.jp/sotechsha2/1' %>
+
+
+
+
+
+
+
1章課題
+
+
両手で両目を隠すようにプログラムするには?
+
+
+
+
+ 課題内容(書籍P.60)
+
+
前ページのコラムで紹介したメッセージを使って、両手で両目を隠すようにプログラムしてみよう。
+
スプライトを複製する必要があるよ。
+
+ <%= lazy_image_tag '/img/sotechsha2/1/01_cover.png'%>
+
+
+
+
+
+
+
+
+
+ 複製したスプライトのコード
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/1/01-a01.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
模範解答
+
+ はじめに、コラムにある通り「目」「手1」「手2」のコードを完成させよう(→P.57、58参照)。
+
+
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/1/01-a03.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
もし、「手2」がまだ体のうしろにかくれてしまっているなら、顔の前に出そう(→P.41参照)。
+
+ スプライト「手2」を右クリックして「複製」をクリックすると複製できるよ。
+
+
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/1/01-a04---.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
両手の向きを左右対称にしたいので、まず、複製したスプライト「手3」のスプライト情報から「回転の種類」を「左右のみ」にするよ。
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/1/01-a05---.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
+
+
+ 「動き
+ 」カテゴリの
+ 「90度に向ける」
+ を-90度にしてクリックしよう。-90度にするとスプライトが左に向くよ。
+
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/1/01-a06---.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
「手2」、「手3」をマウスでドラッグ&ドロップして位置を調整しよう。これで両手で両目をかくすようになったよ。
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/1/image17.png', style: 'padding-top:-50px;'%>
+
+
+
+
+ 手のスプライトの名前は「手1」
+ 「手2」「手3」のままでもいいけど、いつ、どこで使う手なのかがちょっとわかりにくいので、名前を変えよう。
+
+
今回は左目をかくす「手2」を「めかくし左」、右目をかくす「手3」を「めかくし右」に変えるよ。
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/1/01-a08_1.gif', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
手のスプライトにさらに効果を入れてみよう
+
+ ところで、「めかくし左」、「めかくし右」
+ のスプライトは、コスチュームが2つあるよね。
+
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/1/01-a08.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
+ ここで2つのスプライトの
+ 「~を受け取ったとき」
+ のコードを次のように変えると、両目をかくすときに顔をなでるようになるよ。
+
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/1/01-a09.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
ちょっとした動きを付けたしただけだけど、「クリックすると、見た目が変わる」ことがわかりやすくなったよね。このような効果を上手に入れていくことは、操作のわかりやすさや全体の親しみやすさ・楽しさを演出する上で重要なことなんだよ。
+
+
+
+
+
+
+
+
課題2:アイコンをクリックしたら着せかえができるようにするには?
+
+
+
+
+ 課題内容(書籍P.60)
+
+
これまでは着せかえをしたいスプライトを直接クリックすると、コスチュームが変わるようにしていたね。今度は服、まゆ、目、鼻それぞれに着せかえ用のアイコンを用意して、そのアイコンをクリックしたらコスチュームが変わるようにしてみよう。ここではメッセージを使うんだよ。
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/1/01_cover02.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
+
+
+ 目のアイコンのコード
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/1/01-a11.png', style: 'padding-top:-50px;'%>
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/1/01-a12.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
+
+
+ まゆのアイコンのコード
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/1/01-a13.png', style: 'padding-top:-50px;'%>
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/1/01-a14.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
+
+
+ 鼻のアイコンのコード
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/1/01-a15.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
+
+
+ 鼻のコード
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/1/01-a16.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
+
+
+ 服のアイコンのコード
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/1/01-a17.png', style: 'padding-top:-50px;'%>
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/1/01-a18.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
模範解答
+
まずはアイコンのスプライトをステージに読みこもう(→書籍P.35参照)。
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/1/01-a19.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
スプライト「アイコン-目」のコードを作ろう。
+
目をいれかえるには、「アイコン-目」をクリックしたときに「目1」にメッセージを送るようにコードを書くんだ。
+
+
+
+
+ 送るメッセージはどんな名前でもいいけど、分かりやすい名前をつけたほうがいいよ
+ 。
+
+
+
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/1/01-a20.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
目のコードも少しだけ変えるよ。
+
アイコンがクリックされたときにコードが実行されるように変えるんだ。
+
+ 今回は
+ 「目いれかえ」
+ というメッセージを受け取ったときに目が変わるようにするよ。
+
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/1/01-a21.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
「アイコン-目」をクリックしたら目が入れかわるようになったかな?
+
+ うまくできたら、服、まゆ、鼻も同じように変えられるようにしよう。
+
+
+
+
+
+
+
もし、アイコンをクリックしたときに目や鼻がいっぺんにいれかわったら、作ったメッセージを見直そう。受け取るメッセージが同じコードは、メッセージが送られたときに同時に実行されてしまうんだ。
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/1/01-a22.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
メッセージは、送る側と受け取る側とで、必ず名前をそろえる必要があることを覚えておこう。
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/1/01-a23.png', style: 'padding-top:-50px;'%>
+
+
+
+
更新日: 2019年05月22日
+
+
+ <%= render partial: 'shared/sitemap_sotechsha2'%>
+
+
+
+
+
+
diff --git a/app/views/sotechsha2_pages/2.html.erb b/app/views/sotechsha2_pages/2.html.erb
new file mode 100644
index 000000000..7982758ce
--- /dev/null
+++ b/app/views/sotechsha2_pages/2.html.erb
@@ -0,0 +1,211 @@
+<% provide :title, '2章課題 - CoderDojo Japan' %>
+<% provide :url, 'https://coderdojo.jp/sotechsha2/2' %>
+
+
+
+
+
+
+
2章課題
+
+
五角形や六角形を描いてみよう
+
+
+
+
+ 課題内容(書籍P.87
+ )
+
+
タカシくんが作らなかった、五角形や六角形を描くプログラムを作ってみよう。
+
五角形は、方向を5回変えたときに360度回っていればいいんだから、360÷5を計算して、72度回転すればいいことがわかるね。だからコードはこうなるよ。
+
+ <%= lazy_image_tag '/img/sotechsha2/2/image17.png', style: 'padding-top:-50px;'%>
+
+
+ <%= lazy_image_tag '/img/sotechsha2/2/image16.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
+ 六角形は、実はタカシくんが途中まで描いていたね。気がついたかな? 69ページで三角形を描くのに失敗していたのが、ちょうど六角形の半分になっていることを確認してみよう。もう半分を描けばいいのだから、こうなるよ。
+
+
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/2/image18.png', style: 'padding-top:-50px;'%>
+
+
+ <%= lazy_image_tag '/img/sotechsha2/2/image22.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
+
+
第4章を読みおえている人へ
+
五角形を描いたときに回転した72度は360÷5だったし、六角形を描いたときに回転した60度というのは360÷6だった。どっちもわり算のブロックでおきかえることができるね。そうしたときのコードを見てみよう。
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/2/image20.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
上のような形になるけれども、○で囲った2つにはいつも同じ数字がはいるね。こんなふうに同じ数字を繰り返して使うときも、変数を使うといいんだ。
+
そうするとこんなふうになる。
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/2/image21.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
まだ、動かす歩数は調整しないといけないけど、これでずいぶん楽になったよね!
+
+
+
+
+
+
+
+
+ 課題2:360度にならないように回転するとどうなるだろう?
+
+
+
+
+
+
+ 課題内容(書籍P.88)
+
+
回転の合計が360度になるように移動すると、正三角形や正方形を描くことができた。
+
では、360度ぴったりにならないような回転をするとどうなるんだろうか?
+
+ たとえば、
+ 「100歩動かす」
+ や
+ 「100度回す」
+ を繰り返したとき、何回繰り返したら元の場所にもどってくるだろうか? 元の場所にもどってきたとき、どんな図形が描かれているか確かめてみよう!
+
+
+
+
+
いつかは成功するかもしれないけれど、何回繰り返せばちょうどいいのかわからない場合、どうすればいいかな?
+
いくつかやりかたがあるよ。
+
+
+
+
手で数える
+
+ こういうコードを配置して、自分で
+ 「100歩動かす」
+ と
+ 「100度回す」
+ をクリックしてみてようすをみてみよう。何回繰り返したらいいかは自分で数えることになるね。
+
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/2/image14.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
繰り返すを繰り返し試す
+
本で説明したような、こんなコードを作っておいて、繰り返す回数を少しずつふやしていって試してみることもできるね。
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/2/image13.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
+ 答えは18回だ。
+ 18回繰り返すと、元の場所にもどってくるよ。
+
+
こういう図形が描かれたね。
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/2/charpter2_18.png', style: 'padding-top:-50px;'%>
+
+
+ <%= lazy_image_tag '/img/sotechsha2/2/image15.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
ほかにも、いろんな角度で試してみて、いろんな図形を描いてみよう。回転する角度は、1の位が5か0になるような数字にするといいよ。
+
+
+
+
第4章を読みおえている人へ
+
+ 元の方向(右向き)にもどったかどうかを、
+ 「もし〜なら」
+ のブロックでチェックすることができるよ。
+
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/2/image19.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
繰り返しの回数を決めなくても、こういうコードを書くといいんだ。
+
元の方向にもどったときには、いつも元の場所にもどってくるんだろうか? これもいろんな角度で試してみてね。
+
+
+
+
+
更新日: 2019年05月23日
+
+
+ <%= render partial: 'shared/sitemap_sotechsha2'%>
+
+
+
+
+
+
diff --git a/app/views/sotechsha2_pages/3.html.erb b/app/views/sotechsha2_pages/3.html.erb
new file mode 100644
index 000000000..9b50f1afe
--- /dev/null
+++ b/app/views/sotechsha2_pages/3.html.erb
@@ -0,0 +1,247 @@
+<% provide :title, '3章課題 - CoderDojo Japan' %>
+<% provide :url, 'https://coderdojo.jp/sotechsha2/3' %>
+
+
+
+
+
+
+
3章課題
+
+
アンサンブルにチャレンジしよう!
+
+
+
+
+ 課題内容(書籍P.104)
+
+
いろんな音を同時に出せるということは、スクラッチの世界のなかで、ほかの人やコンピュータと合奏することもできるってことだね。ちょっとすごいと思わない?
+
スクラッチは音楽データを再生することもできるんだ。だから、コンピュータには自分の好きな音楽を演奏してもらって、それに合わせてキーボードやマウスを操作して、楽器やドラムの音を出してみよう。
+
+ 音楽データは、「音」タブから追加して、
+ 「音」
+ カテゴリーの
+ 「~の音を鳴らす」
+ や
+ 「終わるまで~の音を鳴らす」
+ を使って再生することができるよ。「音ライブラリー」のなかにいろんな曲があるから使ってみよう。
+
+
+ <%= lazy_image_tag '/img/sotechsha2/3/03_cover.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
+ 新しく追加したスプライト
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/3/03-a02.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
+ Speakerのコード
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/3/03-a03.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
+
+ Drums Tablaのコード
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/3/03-a04.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
+ Ripleyのコード
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/3/03-a05.png', style: 'padding-top:-50px;'%>
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/3/03-a06.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
模範解答
+
鍵盤のプログラムはそのまま使えば良いから、他の楽器やキャラクターを増やすと良いね。
+
+
+
+
+
緑の旗を押した時にメロディーが自動で流れるようにしよう
+
まずは自動で流したい曲やメロディーを決めて、それをくり返し流せるようにしよう。スプライトの「音」タブに入っている音データを使うとカンタンだよ。
+
今回は「Speaker」に入っているものを使ってみよう。
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/3/03-a07.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
+ 曲やメロディーをくりかえし流し続けるには、コードを
+ 「ずっと」
+ で囲むのを忘れないでね!
+
+
+ もし自作するなら、たとえば
+ 「音楽」
+ カテゴリーのブロックを使ってこんな風にコードを書くことができるよ。実行するとどんな音が流れるかな。
+
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/3/03-a08.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
みんなでいっしょに演奏しよう
+
他の友達もいっしょに演奏できたら、もっとにぎやかで楽しそうだよね。鍵盤に使っているキー(A、S、D、W、E…など)以外でのキーやマウスで操作できるようにコードを書いていこう。
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/3/03-a05.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
+ でも、さいしょから用意されている以外の音データを使いたいときは、ライブラリーから選んだり、自分で録音したり、フリー素材をアップロードして使ったりすることもできるよ。
+
+
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/3/03-a09.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
音データはスクラッチ上で編集することもできるんだ。いろいろためしてみてね。
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/3/03-a10.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
+
+
+ 「~の音を鳴らす」
+ で指定する音データは、数字を指定して選ぶこともできるんだ。指定できる数字は、左上に表示されている1以上の数だよ。
+
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/3/03-a11.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
例えば、6章で出てくる乱数(→書籍P.154参照)を使ってこんなことができるんだ。何が起こるか、実際に作ってためしてみよう。
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/3/03-a12.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
背景を変えて完成
+
最後に、みんなでワイワイにぎやかに合奏している感じを出すために、背景を変えよう。
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/3/03-a13.png', style: 'padding-top:-50px;'%>
+
+
+
+
更新日: 2019年05月21日
+
+
+ <%= render partial: 'shared/sitemap_sotechsha2'%>
+
+
+
+
+
+
diff --git a/app/views/sotechsha2_pages/4.html.erb b/app/views/sotechsha2_pages/4.html.erb
new file mode 100644
index 000000000..fb8eb1863
--- /dev/null
+++ b/app/views/sotechsha2_pages/4.html.erb
@@ -0,0 +1,167 @@
+<% provide :title, '4章課題 - CoderDojo Japan' %>
+<% provide :url, 'https://coderdojo.jp/sotechsha2/4' %>
+
+
+
+
+
+
+
4章課題
+
+
最後の問題だけ得点を2倍にするには?
+
+
+
+
+ 課題内容(書籍P.126)
+
+
最後の問題だけ得点を2倍にしてみよう!
+
+ 「もし〜なら 〜でなければ」
+ のブロックを使って、最後の問題のときだけ得点を2倍にするコードを作ればできるはずだよ。最後の問題かどうかを確認するにはリストの長さを調べる
+ 「〜の長さ」
+ と何かを比べるとわかるよ。
+
+
+
+
+
+ ヒント→ 「もし〜なら 〜でなければ」を使って、最後の問題・それ以外の問題のコードを分けて作ってみよう。問題リストの長さと何かを比べると最後の問題か判断できるよ。
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/4/04_cover.png'%>
+
+
+
+
+
+
+
+ 最後の問題だけ得点を倍にするには何が必要だと思うかい? 必要なのは「最後の問題か判断すること」と「2倍の得点をあげること」の2つだね。まずは「最後の問題か判断すること」から始めてみよう。
+
+
+
+
+
+
+
+
+
+
+
+
+
+ タカシが最後に作った「出題キャラクター」のコード
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/4/04-01.png', style: 'padding-top:-50px;'%>
+
+
+
+
最後の問題か判断しよう
+
+ 条件によってプログラムを変える時は、
+ 「もし〜なら」
+ を使えばよかったね。もちろんこれでもできるんだけど、今回は
+ 「もし〜なら、でなければ」
+ を使おう。これを使って「最後の問題の場合」「最後の問題でない場合」の2つのプログラムを用意すればいいね。では、早速やってみよう。
+
+
+ 今の問題番号は
+ 「問題番号」
+ という変数の中にあったよね。これを使おう。今回は3つ問題を用意しているので最後の問題番号は「3」だね。ではプログラムはどう書けばいいかな?
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/4/04-02.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
もちろんこれでもOK! でも、これだと問題を増やした時にプログラムも変える必要がありそうだね。実はもっといいやり方がある。最後の問題番号は、問題リストに用意した問題の数と同じになるんだ。ということは、
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/4/04-03.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
こう書くと問題番号が「3」、つまり最後の問題の場合とそれ以外の場合でプログラムを分けることができるんだ。こう書くと、問題を増やして最後の問題番号が「5」や「10」になってもプログラムを書き換える必要がないね。
+
+ あとはこのプログラムをどこかに入れてあげればいいけど、どこだと思う? そう。得点をあげているところ、つまり正解したときのプログラム部分に入れてあげればいいね。実際に入れてみるとこんな感じになるよ。
+
+
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/4/04-04.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
2倍の得点をあげよう
+
+ 最後の問題の場合とそれ以外の場合でプログラムを分けることができるようになったね。あとは、この中にそれぞれ得点をあげるプログラムを用意すればOKだ。「最後の問題ではない場合」のプログラムはすでに用意してある、
+ 「得点を10ずつ変える」
+ だね。これを
+ 「でなければ」
+ の中に入れてみよう。
+
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/4/04-05.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
+ こんな感じだね。完成までもうちょっとだ。あとは
+ 「もし問題番号が問題の長さなら」
+ の中に2倍の得点をあげるプログラムを用意するだけだね。2倍の得点になるよう、
+ 「得点を20ずつ変える」
+ を中に入れてあげよう。これで完成だ!
+
+
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/4/04-06.png', style: 'padding-top:-50px;'%>
+
+
+
+
更新日: 2019年05月22日
+
+
+ <%= render partial: 'shared/sitemap_sotechsha2'%>
+
+
+
+
+
+
diff --git a/app/views/sotechsha2_pages/5.html.erb b/app/views/sotechsha2_pages/5.html.erb
new file mode 100644
index 000000000..0aa21bc61
--- /dev/null
+++ b/app/views/sotechsha2_pages/5.html.erb
@@ -0,0 +1,314 @@
+<% provide :title, '5章課題 - CoderDojo Japan' %>
+<% provide :url, 'https://coderdojo.jp/sotechsha2/5' %>
+
+
+
+
+
+
+
5章課題
+
+
忍者をジャンプさせよう
+
+
+
+
+ 課題内容(書籍P.144)
+
+
自由に走れるようになった忍者にジャンプをさせてみよう。
+
+ 「y座標を〜ずつ変える
+ 」のブロックを使うと、忍者を縦方向にも動かすことができることは知ってるよね。忍者をジャンプさせるには「y座標」を増やせばいい。ジャンプしたあとは着地するよね? 着地のときにはジャンプと反対に「y座標」を減らせばいいんだ。
+
+
+
+
+
ヒント→「〜回繰り返す」を使って、少しずつ動くようにするとジャンプの感じがでる。
+
たとえば、ボールを上に向かって投げたときに、最初は速いけどだんだんゆっくりになっていくよね。これと同じように、スプライトでジャンプしたときに同じ数ずつ「y座標」を増やすのではなくて、「y座標」を増やす量をだんだん少なくすると、より自然なジャンプになるよ。
+
+ <%= lazy_image_tag '/img/sotechsha2/5/05_cover.png'%>
+
+
+
+
+
+
+
+ 参考:タカシが最終的に作った忍者のコード
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/5/131--------------2.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
ジャンプというのは、上に向かって飛ぶことだからスプライトを上に動かさなければならないというのはわかるよね。
+
+
+
+
+ ここまででは
+ 「〜
+ 歩動かす」
+ を使ってきたけれど、これはスプライトの向いている方向に動かすためのブロックだったので、
+ 「〜歩動かす」
+ を使ってジャンプさせるためには忍者を上に向けないといけないんだ。
+
+
+
+
+
ジャンプのコードを作ろう
+
+ でも、上を向いてジャンプするとおかしいので、ここでは向きを変えなくてもスプライトを動かすことができる
+ 「y座標〜ずつ変える」
+ を使うんだ。これを使ってジャンプするコードを作ってみよう。
+
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/5/01.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
+
+
+ 「y座標を10ずつ変える」
+ を10回繰り返すということは、
+ 「y座標を100ずつ変える」
+ と同じだけジャンプすることになるんだけど、
+ 「y座標を100ずつ変える」
+ だと一瞬で空中に移動しているように見えるので、
+ 「y座標を10ずつ変える」
+ を10回繰り返しているんだ。
+
+
+
+
+
着地のコードを作ろう
+
+ ジャンプしたら次は着地しなければならない。ここはもう分かるね、今度はさっきと反対に下に向かってy座標を変えてあげればいい。画面の上に向かって動かすときは
+ 「y座標を10ずつ変える」
+ の数字を0より大きく、下に向かって動かすときは0より小さくすればよかったね。
+
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/5/02.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
動かしてみよう
+
これで、着地もできた。ジャンプと着地のコードをつないで、キーを押したときに動くようにすればできあがり。スペースキーを押したときにジャンプするようにしてみよう。
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/5/03.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
これで、ジャンプのコードは完成。自分で作ったコードにこのコードを足して、試しに動かしてみよう。スペースキーを押すとジャンプするようになる。左右の矢印キーを押しながらスペースキーを押すと走りながらジャンプするよ。
+
+
+
+
もっと自然なジャンプに挑戦してみよう
+
これで、ジャンプの動きはできたんだけど、もうちょっと工夫するともっと自然な動きになるんだ。
+
+ 上のコードは、
+ 「y座標を10ずつ変える」
+ を10回繰り返している。つまり、ずっと同じスピードで上がってるんだけど、本当のジャンプは少しずつ上がるスピードが遅くなっているんだ。
+
+
ボールを空に向かって投げたことがあるかな?空に向かって投げたボールは、最初は速いけど、だんだん遅くなって最後には空中で一度止まる。そして落ちてくるよね。
+
これと同じ動きになるようにコードを変えてみよう。
+
+ ジャンプのスピードがだんだん遅くなるということは、
+ 「y座標を〜ずつ変える」
+ の数字が、最初は大きいけど、だんだん小さくなるようにしなければならない。数字が変わるコードを作るときは、第4章で説明した変数が便利だったね。変数
+ 「ジャンプ」
+ を作って、 ジャンプのスピードを変えられるようにしよう。
+
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/5/04.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
ジャンプのスピードを決めるには、難しい計算式を使わなければならないんだけど、ここでは難しい計算式を使わずにもっと簡単な方法でやってみよう。
+
そうだね、ジャンプしてすぐは「10」ずつ変えて、次は「9」「8」「7」と減らしていってジャンプするスピードが「0」になるまで繰り返して、少しずつ減らしていくといいだろう。
+
+ 変数「ジャンプ」の数字を「10」にしておいて、
+ 「y座標を〜ずつ変える」
+ の数字を変数「ジャンプ」に変えてみよう。
+
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/5/05.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
+ これで、
+ 「y座標を〜ずつ変える」
+ の数字を変数に変えることができた。次に、これを少しずつ減らすようにしてみよう。
+ 「y座標を〜ずつ変える」
+ のあとに変数「
+ ジャンプ」
+ の数字を1ずつ減らすんだったね。1減らすときには
+ 「ジャンプを〜ずつ変える」
+ の数字に0より小さい「-1」を入れるといいんだよ。
+
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/5/06.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
これで、ジャンプのスピードが少しずつ遅くなるコードができた。
+
+ もう少し工夫しておこう。ジャンプは、空中で止まるまで繰り返すんだったよね。つまりジャンプのスピードが0になるまでジャンプし続けるということなので、コードもそうなるように
+ 「10回繰り返す」
+ の代わりに
+ 「ジャンプ=0まで繰り返す」
+ に変えてみよう。
+
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/5/07.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
これで、空中で止まるまでジャンプするコードができたね。
+
着地の方はジャンプと反対に、最初はゆっくり、少しずつ早くなるようにスピードを変化させながらジャンプの時と同じ回数繰り返せばいいので、コードはこのようになるよ。
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/5/08.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
ここであれ?って思ったニンジャは多いんじゃないかな。そこに気がついてくれたら嬉しいな。このコードで注意しないといけないところが2つある。
+
+ ひとつめは、
+ 「ジャンプを-1ずつ変える」
+ のところだ。少しずつ早くなるようにスピードを変えるのなら数字は大きくならないといけないのに、ここではジャンプの時と同じように数字を減らしている。
+
+
思い出してみよう、下に動かす時はy座標を小さくするんだったね。つまり、着地のスピードが速くなるということはy座標を変える数字を小さくすればいいんだ。
+
+ ふたつめは、
+ 「ジャンプ=-11まで繰り返す」
+ のところ。10で始まったんだからジャンプのときと同じ回数繰り返すためには
+ 「ジャンプ=-10まで繰り返す」
+ と考えた忍者も多いと思う。
+
+
ジャンプのときは、10から始まって0になったらジャンプをやめているので、実際に動いている回数は10回。逆に着地のときは、0から始まって-10まで繰り返すと9回分しか動かないので、-11までにして10回動くようにしないといけないんだ。
+
こうしておかないと、忍者が着地で元の位置まで戻らないんだ。
+
+ もう一度、ジャンプと着地のコードを
+ 「スペースキーが押されたとき」
+ につないで動かしてみよう。
+
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/5/09.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
+ どうかな、さっきよりもずっと自然なジャンプになったかな。ただ、ジャンプするスピードを減らしたぶん、ジャンプの高さが低くなってしまっているので、もっと高くジャンプさせたい場合は、
+ 「ジャンプを10にする」
+ と
+ 「ジャンプ=-11まで繰り返す」
+ の数字を変えるといいよ。
+
+
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/5/10.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
うまくできたかな? ゲームのキャラクターはもっといろんな動きをするよね。忍者なので空中で回転するような動きがあってもいいし、自分で考えた新しい動き方を忍者にさせてあげてね。
+
+
+
+
+
更新日: 2019年05月22日
+
+
+ <%= render partial: 'shared/sitemap_sotechsha2'%>
+
+
+
+
+
+
diff --git a/app/views/sotechsha2_pages/6.html.erb b/app/views/sotechsha2_pages/6.html.erb
new file mode 100644
index 000000000..f675e86c7
--- /dev/null
+++ b/app/views/sotechsha2_pages/6.html.erb
@@ -0,0 +1,110 @@
+<% provide :title, '6章課題 - CoderDojo Japan' %>
+<% provide :url, 'https://coderdojo.jp/sotechsha2/5' %>
+
+
+
+
+
+
+
6章課題
+
+
手裏剣が敵に当たったときに、消えるようにしてみよう
+
+
+
+
+ 課題内容(書籍P.164)
+
+
いまのままだと手裏剣が敵にぶつかっても貫通してしまうよね。手裏剣が敵にぶつかったときに、手裏剣と敵が一緒に消えるようにしてみよう!
+
かなり難しいから、腕を磨きたいニンジャはぜひ挑戦してみてね。
+
+
+
+
ヒント→「メッセージを送って待つ」を使うことと、メッセージを受け取ったスプライトはどんな条件で消えればいいのかを考えてみること。
+
がんばって考えてみてね!
+
+ <%= lazy_image_tag '/img/sotechsha2/6/06_cover.png'%>
+
+
+
+
+
+
+
「しゅりけん」からメッセージを送る方法や、「てき」からメッセージを送る方法があるんだけど、みんなはもう「てき」に「しゅりけん」が触れたときのコードを作ってあるわよね。そのコードを利用して、「てき」からメッセージを送ったら、「しゅりけん」側でそのメッセージを受け取るようにしてみましょう。
+
+
+
+
+
+
+
+
+
+
+
+ タカシが最終的に作った「てき」のコード
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/6/chapter6_1.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
敵のコードにメッセージを追加
+
+ 「てき」のコードに、
+ 「あたったを送って待つ」
+ というメッセージを作って、
+ 「もし『しゅりけんに触れた』なら」
+ の中に追加しましょう。メーッセージを送ることで、
+ 「あたったを受け取ったとき」
+ のブロックを使うとコードを実行できるようなるよ。
+
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/6/chapter6_2.png', style: 'padding-top:-50px;'%>
+
+
+
+
+
+
+
手裏剣に新しくコードを追加しよう
+
+ 「しゅりけん」のコードに
+ 「あたったを受け取ったとき」
+ ブロックを追加しましょう。「てき」と同じように、
+ 「もし〜なら」
+ を使って、手裏剣が当たったときに
+ 「隠す」
+ のブロックで消えるようにすれば完成。簡単でしょ。
+
+
+
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/6/chapter6_3.png', style: 'padding-top:-50px;'%>
+
+
+
+
更新日: 2019年05月22日
+
+
+ <%= render partial: 'shared/sitemap_sotechsha2'%>
+
+
+
+
+
+
diff --git a/app/views/sotechsha2_pages/gazou.html.erb b/app/views/sotechsha2_pages/gazou.html.erb
new file mode 100644
index 000000000..f9a642bf1
--- /dev/null
+++ b/app/views/sotechsha2_pages/gazou.html.erb
@@ -0,0 +1,122 @@
+<% provide :title, 'スプライト素材のダウンロード - CoderDojo Japan' %>
+<% provide :url, 'https://coderdojo.jp/sotechsha2/gazou' %>
+
+
+
+
+
+
+
スプライト素材のダウンロード
+
+
書籍内でタカシくんが使っているものと同じスプライト素材をダウンロードしていただけます。
+
+
+
+
+ <%= lazy_image_tag '/img/sotechsha2/SnapCrab_NoName_2019-4-26_16-22-18_No-00.png', class: 'img-responsive'%>
+
+
+
+
+
+
+
+ 素材はすべて
+
+ <%= link_to '「Scratch3_Dojo.zip」', '/downloads/Scratch3_Dojo.zip', download: '' %>
+
+ というzipファイルにまとめられています。解凍すると、書籍の章番号に対応するフォルダがあり、各フォルダにスプライト素材や背景素材があります。
+
+
+ それぞれのフォルダの内容は以下のとおりです。
+
+
+
+
+
+
+ 「Chapter1」(1章)
+
+
まゆ、手1、手2、着せかえ正面、忍者肌、鼻、目1のスプライト。「課題の素材」フォルダ内には、アイコンーまゆ、鼻、服、目のスプライトが入っています。
+
+
+
+
+ 「Chapter2_4」(2・4章)
+
+
ニンジャのスプライト
+
+
+
+
+ 「Chapter3」(3章)
+
+
+ 黒鍵、白鍵のスプライト
+
+
+
+
+
+
+
+
+ 「Chapter5」(5章)
+
+
ニンジャ、背景のスプライト
+
+
+
+
+ 「Chapter6」(6章)
+
+
しゅりけん、てき、プレイヤーのスプライト
+
+
+
+
+ このスプライト素材は
+ 「Creative Commons 表示 - 非営利 4.0 国際 (CC BY-NC 4.0)」
+ にもとづき公開しています。ライセンス条件に従って、Scratch上で自由に共有・リミックスをお楽しみください。
+
+
以下のリンクよりダウンロードしてご利用ください。
+
+
+
+
+
+ <%= link_to 'ダウンロード素材', '/downloads/Scratch3_Dojo.zip', download: '' %>
+
+
+
+
+
+
+
+
+
FAQ - よくある質問
+
+
+
+
ファイルが文字化けするときは?
+
Macの標準ブラウザ「Safari」でzipファイルをダウンロードすると自動解凍されますが、その際にファイル名が文字化けする場合があります。
+
文字化けした場合は、お手数ですが「Chrome」や「Firefox」などのブラウザからダウンロードをお試しください。
+
+
+
+
ダウンロードした後は?
+
ダウンロードしたファイルは、スクラッチ上で読み込ませる必要があります。詳しい手順は書籍の38ページに記載されているので、そちらをご参照ください。
+
+
+
+
+
更新日: 2019年06月11日
+
+
+ <%= render partial: 'shared/sitemap_sotechsha2'%>
+
+
+
+
+
+
diff --git a/app/views/sotechsha2_pages/index.html.erb b/app/views/sotechsha2_pages/index.html.erb
new file mode 100644
index 000000000..e0e3198ec
--- /dev/null
+++ b/app/views/sotechsha2_pages/index.html.erb
@@ -0,0 +1,176 @@
+<% provide :title, '第2版 Scratch でつくる! たのしむ! プログラミング道場 - CoderDojo Japan' %>
+<% provide :url, 'https://coderdojo.jp/sotechsha2' %>
+
+
+
+

+
+
+
+
+
+
+
+
本ページでは、書籍で利用する素材や、課題の答えを掲載しています。
+
+ 本書に関するお問い合わせは
+ コチラ
+ から 📮
+
+
+
+
+
+
+
+
+
+
+
+ スプライト素材のダウンロード
+
+
+
書籍内でタカシくんが使っているものと同じスプライト素材をダウンロードしていただけます。
+
+
+
+
+
もっと見る
+
+
+ 序章課題
+
+
+
リンゴが消えて、別の場所から出てくるようにするには?
+
+
+
+
+ 課題内容(書籍P.32)
+
+
ネコがリンゴにさわったら、リンゴが消えて別の場所から出てくるようにコードを作り直してみよう。ネコがリンゴにさわったときに、リンゴの位置をランダムに設定し直すと、ちがった動きになるよ。
+
+
+
+
ヒント1→ 新しいコードをリンゴに追加すること。ネコのコードを参考に、追加する場所を探してみよう。リンゴが出る場所をランダムに...
+
もっと見る
+
+
+ 1章課題
+
+
+
両手で両目を隠すようにプログラムするには?
+
+
+
+
+ 課題内容(書籍P.60)
+
+
前ページのコラムで紹介したメッセージを使って、両手で両目を隠すようにプログラムしてみよう。
+
スプライトを複製する必要があるよ。
+
+
もっと見る
+
+
+ 2章課題
+
+
+
五角形や六角形を描いてみよう
+
+
+
+
+ 課題内容(書籍P.87
+ )
+
+
タカシくんが作らなかった、五角形や六角形を描くプログラムを作ってみよう。
+
五角形は、方向を5回変えたときに360度回っていればいいんだから、360÷5を計算して、72度回転すればいいことがわかるね。だからコードはこうなるよ。
+
+
もっと見る
+
+
+ 3章課題
+
+
+
アンサンブルにチャレンジしよう!
+
+
+
+
+ 課題内容(書籍P.104)
+
+
いろんな音を同時に出せるということは、スクラッチの世界のなかで、ほかの人やコンピュータと合奏することもできるってことだね。ちょっとすごいと思わない?
+
スクラッチは音楽データを再生することもできるんだ。だから、コンピュータには自分の好きな音楽を演奏してもらって、それに合わせてキーボードやマウスを操作して、楽器やドラムの音を出してみよう。
+
...
+
もっと見る
+
+
+ 4章課題
+
+
+
最後の問題だけ得点を2倍にするには?
+
+
+
+
+ 課題内容(書籍P.126)
+
+
最後の問題だけ得点を2倍にしてみよう!
+
+ 「もし〜なら 〜でなければ」
+ のブロックを使って、最後の問題のときだけ得点を2倍にするコードを作ればできるはずだよ。最後の問題かどうかを確認するにはリストの長さを調べる
+ 「〜の長さ」
+ と何かを比べるとわかるよ。
+
+
+
+
+
ヒント→ 「もし〜なら 〜でなければ」...
+
もっと見る
+
+
+ 5章課題
+
+
+
忍者をジャンプさせよう
+
+
+
+
+ 課題内容(書籍P.144)
+
+
自由に走れるようになった忍者にジャンプをさせてみよう。
+
+ 「y座標を〜ずつ変える
+ 」のブロックを使うと、忍者を縦方向にも動かすことができることは知ってるよね。忍者をジャンプさせるには「y座標」を増やせばいい。ジャンプしたあとは着地するよね? 着地のときにはジャンプと反対に「y座標」を減らせばいいんだ。
+
+
+
+
+
ヒント→「〜...
+
もっと見る
+
+
+ 6章課題
+
+
+
手裏剣が敵に当たったときに、消えるようにしてみよう
+
+
+
+
+ 課題内容(書籍P.164)
+
+
いまのままだと手裏剣が敵にぶつかっても貫通してしまうよね。手裏剣が敵にぶつかったときに、手裏剣と敵が一緒に消えるようにしてみよう!
+
かなり難しいから、腕を磨きたいニンジャはぜひ挑戦してみてね。
+
+
+
+
ヒント→「メッセージを送って待つ」を使うことと、メッセージを受け取ったスプライトはどんな条件で消えればい...
+
もっと見る
+
+
+ <%= render partial: 'shared/social_buttons_raw'%>
+ <%= render partial: 'shared/sitemap_sotechsha2'%>
+
+
diff --git a/app/views/sotechsha_pages/gazou.html.erb b/app/views/sotechsha_pages/gazou.html.erb
index 23af3765d..01cdce56a 100644
--- a/app/views/sotechsha_pages/gazou.html.erb
+++ b/app/views/sotechsha_pages/gazou.html.erb
@@ -3,7 +3,7 @@
-
+
スプライト素材のダウンロード
diff --git a/config/routes.rb b/config/routes.rb
index d67c5e066..131511b6b 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -90,6 +90,9 @@
get "/sotechsha" => "sotechsha_pages#index"
get "/sotechsha/:page" => "sotechsha_pages#show"
+ get "/sotechsha2" => "sotechsha2_pages#index"
+ get "/sotechsha2/:page" => "sotechsha2_pages#show"
+
# Default Scrivito routes. Adapt them to change the routing of CMS objects.
# See the documentation of 'scrivito_route' for a detailed description.
scrivito_route '/', using: 'homepage'
diff --git a/public/downloads/Scratch3_Dojo.zip b/public/downloads/Scratch3_Dojo.zip
new file mode 100644
index 000000000..b35c0659d
Binary files /dev/null and b/public/downloads/Scratch3_Dojo.zip differ
diff --git a/public/img/sotechsha2/0/00-01.png b/public/img/sotechsha2/0/00-01.png
new file mode 100644
index 000000000..3220a0039
Binary files /dev/null and b/public/img/sotechsha2/0/00-01.png differ
diff --git a/public/img/sotechsha2/0/00-02.png b/public/img/sotechsha2/0/00-02.png
new file mode 100644
index 000000000..91e16ae17
Binary files /dev/null and b/public/img/sotechsha2/0/00-02.png differ
diff --git a/public/img/sotechsha2/0/00-03.png b/public/img/sotechsha2/0/00-03.png
new file mode 100644
index 000000000..4afe5b023
Binary files /dev/null and b/public/img/sotechsha2/0/00-03.png differ
diff --git a/public/img/sotechsha2/0/00-04.png b/public/img/sotechsha2/0/00-04.png
new file mode 100644
index 000000000..e17cd4fb6
Binary files /dev/null and b/public/img/sotechsha2/0/00-04.png differ
diff --git a/public/img/sotechsha2/0/00-05.png b/public/img/sotechsha2/0/00-05.png
new file mode 100644
index 000000000..7077f86d7
Binary files /dev/null and b/public/img/sotechsha2/0/00-05.png differ
diff --git a/public/img/sotechsha2/0/00-06.png b/public/img/sotechsha2/0/00-06.png
new file mode 100644
index 000000000..dd51c77d3
Binary files /dev/null and b/public/img/sotechsha2/0/00-06.png differ
diff --git a/public/img/sotechsha2/0/00-07.png b/public/img/sotechsha2/0/00-07.png
new file mode 100644
index 000000000..7ef7d2280
Binary files /dev/null and b/public/img/sotechsha2/0/00-07.png differ
diff --git a/public/img/sotechsha2/0/00-08.png b/public/img/sotechsha2/0/00-08.png
new file mode 100644
index 000000000..2c26a96eb
Binary files /dev/null and b/public/img/sotechsha2/0/00-08.png differ
diff --git a/public/img/sotechsha2/0/00-09.png b/public/img/sotechsha2/0/00-09.png
new file mode 100644
index 000000000..8fb5eb2cb
Binary files /dev/null and b/public/img/sotechsha2/0/00-09.png differ
diff --git a/public/img/sotechsha2/0/00-10.png b/public/img/sotechsha2/0/00-10.png
new file mode 100644
index 000000000..4b186a1c3
Binary files /dev/null and b/public/img/sotechsha2/0/00-10.png differ
diff --git a/public/img/sotechsha2/0/00_cover.png b/public/img/sotechsha2/0/00_cover.png
new file mode 100644
index 000000000..e787e498e
Binary files /dev/null and b/public/img/sotechsha2/0/00_cover.png differ
diff --git a/public/img/sotechsha2/1/01-a01.png b/public/img/sotechsha2/1/01-a01.png
new file mode 100644
index 000000000..9405d9605
Binary files /dev/null and b/public/img/sotechsha2/1/01-a01.png differ
diff --git a/public/img/sotechsha2/1/01-a03.png b/public/img/sotechsha2/1/01-a03.png
new file mode 100644
index 000000000..b9576e053
Binary files /dev/null and b/public/img/sotechsha2/1/01-a03.png differ
diff --git a/public/img/sotechsha2/1/01-a04---.png b/public/img/sotechsha2/1/01-a04---.png
new file mode 100644
index 000000000..71267723d
Binary files /dev/null and b/public/img/sotechsha2/1/01-a04---.png differ
diff --git a/public/img/sotechsha2/1/01-a05---.png b/public/img/sotechsha2/1/01-a05---.png
new file mode 100644
index 000000000..d8f86cc0f
Binary files /dev/null and b/public/img/sotechsha2/1/01-a05---.png differ
diff --git a/public/img/sotechsha2/1/01-a06---.png b/public/img/sotechsha2/1/01-a06---.png
new file mode 100644
index 000000000..78ec74b5b
Binary files /dev/null and b/public/img/sotechsha2/1/01-a06---.png differ
diff --git a/public/img/sotechsha2/1/01-a08.png b/public/img/sotechsha2/1/01-a08.png
new file mode 100644
index 000000000..25481210b
Binary files /dev/null and b/public/img/sotechsha2/1/01-a08.png differ
diff --git a/public/img/sotechsha2/1/01-a08_1.gif b/public/img/sotechsha2/1/01-a08_1.gif
new file mode 100644
index 000000000..c0d71eaab
Binary files /dev/null and b/public/img/sotechsha2/1/01-a08_1.gif differ
diff --git a/public/img/sotechsha2/1/01-a09.png b/public/img/sotechsha2/1/01-a09.png
new file mode 100644
index 000000000..5daca28f7
Binary files /dev/null and b/public/img/sotechsha2/1/01-a09.png differ
diff --git a/public/img/sotechsha2/1/01-a11.png b/public/img/sotechsha2/1/01-a11.png
new file mode 100644
index 000000000..318637f8b
Binary files /dev/null and b/public/img/sotechsha2/1/01-a11.png differ
diff --git a/public/img/sotechsha2/1/01-a12.png b/public/img/sotechsha2/1/01-a12.png
new file mode 100644
index 000000000..b2a5eb20a
Binary files /dev/null and b/public/img/sotechsha2/1/01-a12.png differ
diff --git a/public/img/sotechsha2/1/01-a13.png b/public/img/sotechsha2/1/01-a13.png
new file mode 100644
index 000000000..4473435c5
Binary files /dev/null and b/public/img/sotechsha2/1/01-a13.png differ
diff --git a/public/img/sotechsha2/1/01-a14.png b/public/img/sotechsha2/1/01-a14.png
new file mode 100644
index 000000000..613cc1dbf
Binary files /dev/null and b/public/img/sotechsha2/1/01-a14.png differ
diff --git a/public/img/sotechsha2/1/01-a15.png b/public/img/sotechsha2/1/01-a15.png
new file mode 100644
index 000000000..f04518a71
Binary files /dev/null and b/public/img/sotechsha2/1/01-a15.png differ
diff --git a/public/img/sotechsha2/1/01-a16.png b/public/img/sotechsha2/1/01-a16.png
new file mode 100644
index 000000000..ddc1371a3
Binary files /dev/null and b/public/img/sotechsha2/1/01-a16.png differ
diff --git a/public/img/sotechsha2/1/01-a17.png b/public/img/sotechsha2/1/01-a17.png
new file mode 100644
index 000000000..88228b1b8
Binary files /dev/null and b/public/img/sotechsha2/1/01-a17.png differ
diff --git a/public/img/sotechsha2/1/01-a18.png b/public/img/sotechsha2/1/01-a18.png
new file mode 100644
index 000000000..ebc720cf2
Binary files /dev/null and b/public/img/sotechsha2/1/01-a18.png differ
diff --git a/public/img/sotechsha2/1/01-a19.png b/public/img/sotechsha2/1/01-a19.png
new file mode 100644
index 000000000..82e27f699
Binary files /dev/null and b/public/img/sotechsha2/1/01-a19.png differ
diff --git a/public/img/sotechsha2/1/01-a20.png b/public/img/sotechsha2/1/01-a20.png
new file mode 100644
index 000000000..f556d73d6
Binary files /dev/null and b/public/img/sotechsha2/1/01-a20.png differ
diff --git a/public/img/sotechsha2/1/01-a21.png b/public/img/sotechsha2/1/01-a21.png
new file mode 100644
index 000000000..e41a1c11b
Binary files /dev/null and b/public/img/sotechsha2/1/01-a21.png differ
diff --git a/public/img/sotechsha2/1/01-a22.png b/public/img/sotechsha2/1/01-a22.png
new file mode 100644
index 000000000..4a4942382
Binary files /dev/null and b/public/img/sotechsha2/1/01-a22.png differ
diff --git a/public/img/sotechsha2/1/01-a23.png b/public/img/sotechsha2/1/01-a23.png
new file mode 100644
index 000000000..140b5c3bb
Binary files /dev/null and b/public/img/sotechsha2/1/01-a23.png differ
diff --git a/public/img/sotechsha2/1/01_cover.png b/public/img/sotechsha2/1/01_cover.png
new file mode 100644
index 000000000..ceb317e70
Binary files /dev/null and b/public/img/sotechsha2/1/01_cover.png differ
diff --git a/public/img/sotechsha2/1/01_cover02.png b/public/img/sotechsha2/1/01_cover02.png
new file mode 100644
index 000000000..23631307c
Binary files /dev/null and b/public/img/sotechsha2/1/01_cover02.png differ
diff --git a/public/img/sotechsha2/1/image17.png b/public/img/sotechsha2/1/image17.png
new file mode 100644
index 000000000..11d53d388
Binary files /dev/null and b/public/img/sotechsha2/1/image17.png differ
diff --git a/public/img/sotechsha2/2/charpter2_18.png b/public/img/sotechsha2/2/charpter2_18.png
new file mode 100644
index 000000000..5d0e265b2
Binary files /dev/null and b/public/img/sotechsha2/2/charpter2_18.png differ
diff --git a/public/img/sotechsha2/2/image13.png b/public/img/sotechsha2/2/image13.png
new file mode 100644
index 000000000..27f40899a
Binary files /dev/null and b/public/img/sotechsha2/2/image13.png differ
diff --git a/public/img/sotechsha2/2/image14.png b/public/img/sotechsha2/2/image14.png
new file mode 100644
index 000000000..41bead2ff
Binary files /dev/null and b/public/img/sotechsha2/2/image14.png differ
diff --git a/public/img/sotechsha2/2/image15.png b/public/img/sotechsha2/2/image15.png
new file mode 100644
index 000000000..7b681487b
Binary files /dev/null and b/public/img/sotechsha2/2/image15.png differ
diff --git a/public/img/sotechsha2/2/image16.png b/public/img/sotechsha2/2/image16.png
new file mode 100644
index 000000000..84c33a05b
Binary files /dev/null and b/public/img/sotechsha2/2/image16.png differ
diff --git a/public/img/sotechsha2/2/image17.png b/public/img/sotechsha2/2/image17.png
new file mode 100644
index 000000000..dd61d62ec
Binary files /dev/null and b/public/img/sotechsha2/2/image17.png differ
diff --git a/public/img/sotechsha2/2/image18.png b/public/img/sotechsha2/2/image18.png
new file mode 100644
index 000000000..4ef4078af
Binary files /dev/null and b/public/img/sotechsha2/2/image18.png differ
diff --git a/public/img/sotechsha2/2/image19.png b/public/img/sotechsha2/2/image19.png
new file mode 100644
index 000000000..635d1f050
Binary files /dev/null and b/public/img/sotechsha2/2/image19.png differ
diff --git a/public/img/sotechsha2/2/image20.png b/public/img/sotechsha2/2/image20.png
new file mode 100644
index 000000000..ab25fd1d1
Binary files /dev/null and b/public/img/sotechsha2/2/image20.png differ
diff --git a/public/img/sotechsha2/2/image21.png b/public/img/sotechsha2/2/image21.png
new file mode 100644
index 000000000..c512e6b3e
Binary files /dev/null and b/public/img/sotechsha2/2/image21.png differ
diff --git a/public/img/sotechsha2/2/image22.png b/public/img/sotechsha2/2/image22.png
new file mode 100644
index 000000000..725333efa
Binary files /dev/null and b/public/img/sotechsha2/2/image22.png differ
diff --git a/public/img/sotechsha2/3/03-a02.png b/public/img/sotechsha2/3/03-a02.png
new file mode 100644
index 000000000..9fe5be9c4
Binary files /dev/null and b/public/img/sotechsha2/3/03-a02.png differ
diff --git a/public/img/sotechsha2/3/03-a03.png b/public/img/sotechsha2/3/03-a03.png
new file mode 100644
index 000000000..099f6d718
Binary files /dev/null and b/public/img/sotechsha2/3/03-a03.png differ
diff --git a/public/img/sotechsha2/3/03-a04.png b/public/img/sotechsha2/3/03-a04.png
new file mode 100644
index 000000000..b69d41226
Binary files /dev/null and b/public/img/sotechsha2/3/03-a04.png differ
diff --git a/public/img/sotechsha2/3/03-a05-1.png b/public/img/sotechsha2/3/03-a05-1.png
new file mode 100644
index 000000000..090a22f9c
Binary files /dev/null and b/public/img/sotechsha2/3/03-a05-1.png differ
diff --git a/public/img/sotechsha2/3/03-a05.png b/public/img/sotechsha2/3/03-a05.png
new file mode 100644
index 000000000..090a22f9c
Binary files /dev/null and b/public/img/sotechsha2/3/03-a05.png differ
diff --git a/public/img/sotechsha2/3/03-a06.png b/public/img/sotechsha2/3/03-a06.png
new file mode 100644
index 000000000..6cef848aa
Binary files /dev/null and b/public/img/sotechsha2/3/03-a06.png differ
diff --git a/public/img/sotechsha2/3/03-a07.png b/public/img/sotechsha2/3/03-a07.png
new file mode 100644
index 000000000..099f6d718
Binary files /dev/null and b/public/img/sotechsha2/3/03-a07.png differ
diff --git a/public/img/sotechsha2/3/03-a08.png b/public/img/sotechsha2/3/03-a08.png
new file mode 100644
index 000000000..ab1e2aa8f
Binary files /dev/null and b/public/img/sotechsha2/3/03-a08.png differ
diff --git a/public/img/sotechsha2/3/03-a09.png b/public/img/sotechsha2/3/03-a09.png
new file mode 100644
index 000000000..9c9a806ab
Binary files /dev/null and b/public/img/sotechsha2/3/03-a09.png differ
diff --git a/public/img/sotechsha2/3/03-a10.png b/public/img/sotechsha2/3/03-a10.png
new file mode 100644
index 000000000..799801702
Binary files /dev/null and b/public/img/sotechsha2/3/03-a10.png differ
diff --git a/public/img/sotechsha2/3/03-a11.png b/public/img/sotechsha2/3/03-a11.png
new file mode 100644
index 000000000..53018588f
Binary files /dev/null and b/public/img/sotechsha2/3/03-a11.png differ
diff --git a/public/img/sotechsha2/3/03-a12.png b/public/img/sotechsha2/3/03-a12.png
new file mode 100644
index 000000000..62d82fbde
Binary files /dev/null and b/public/img/sotechsha2/3/03-a12.png differ
diff --git a/public/img/sotechsha2/3/03-a13.png b/public/img/sotechsha2/3/03-a13.png
new file mode 100644
index 000000000..168491e85
Binary files /dev/null and b/public/img/sotechsha2/3/03-a13.png differ
diff --git a/public/img/sotechsha2/3/03_cover.png b/public/img/sotechsha2/3/03_cover.png
new file mode 100644
index 000000000..970ecb443
Binary files /dev/null and b/public/img/sotechsha2/3/03_cover.png differ
diff --git a/public/img/sotechsha2/4/04-01.png b/public/img/sotechsha2/4/04-01.png
new file mode 100644
index 000000000..c7407c88f
Binary files /dev/null and b/public/img/sotechsha2/4/04-01.png differ
diff --git a/public/img/sotechsha2/4/04-02.png b/public/img/sotechsha2/4/04-02.png
new file mode 100644
index 000000000..41d4b2ac3
Binary files /dev/null and b/public/img/sotechsha2/4/04-02.png differ
diff --git a/public/img/sotechsha2/4/04-03.png b/public/img/sotechsha2/4/04-03.png
new file mode 100644
index 000000000..7790711c6
Binary files /dev/null and b/public/img/sotechsha2/4/04-03.png differ
diff --git a/public/img/sotechsha2/4/04-04.png b/public/img/sotechsha2/4/04-04.png
new file mode 100644
index 000000000..cedba223a
Binary files /dev/null and b/public/img/sotechsha2/4/04-04.png differ
diff --git a/public/img/sotechsha2/4/04-05.png b/public/img/sotechsha2/4/04-05.png
new file mode 100644
index 000000000..3d0b70bad
Binary files /dev/null and b/public/img/sotechsha2/4/04-05.png differ
diff --git a/public/img/sotechsha2/4/04-06.png b/public/img/sotechsha2/4/04-06.png
new file mode 100644
index 000000000..f4d784303
Binary files /dev/null and b/public/img/sotechsha2/4/04-06.png differ
diff --git a/public/img/sotechsha2/4/04_cover.png b/public/img/sotechsha2/4/04_cover.png
new file mode 100644
index 000000000..71273bcb3
Binary files /dev/null and b/public/img/sotechsha2/4/04_cover.png differ
diff --git a/public/img/sotechsha2/5/01.png b/public/img/sotechsha2/5/01.png
new file mode 100644
index 000000000..0a2e752be
Binary files /dev/null and b/public/img/sotechsha2/5/01.png differ
diff --git a/public/img/sotechsha2/5/02.png b/public/img/sotechsha2/5/02.png
new file mode 100644
index 000000000..1385d694c
Binary files /dev/null and b/public/img/sotechsha2/5/02.png differ
diff --git a/public/img/sotechsha2/5/03.png b/public/img/sotechsha2/5/03.png
new file mode 100644
index 000000000..71a975582
Binary files /dev/null and b/public/img/sotechsha2/5/03.png differ
diff --git a/public/img/sotechsha2/5/04.png b/public/img/sotechsha2/5/04.png
new file mode 100644
index 000000000..b93f89008
Binary files /dev/null and b/public/img/sotechsha2/5/04.png differ
diff --git a/public/img/sotechsha2/5/05.png b/public/img/sotechsha2/5/05.png
new file mode 100644
index 000000000..6cb53ba2b
Binary files /dev/null and b/public/img/sotechsha2/5/05.png differ
diff --git a/public/img/sotechsha2/5/05_cover.png b/public/img/sotechsha2/5/05_cover.png
new file mode 100644
index 000000000..b6d1e45e8
Binary files /dev/null and b/public/img/sotechsha2/5/05_cover.png differ
diff --git a/public/img/sotechsha2/5/06.png b/public/img/sotechsha2/5/06.png
new file mode 100644
index 000000000..eac455328
Binary files /dev/null and b/public/img/sotechsha2/5/06.png differ
diff --git a/public/img/sotechsha2/5/07.png b/public/img/sotechsha2/5/07.png
new file mode 100644
index 000000000..1dac5831e
Binary files /dev/null and b/public/img/sotechsha2/5/07.png differ
diff --git a/public/img/sotechsha2/5/08.png b/public/img/sotechsha2/5/08.png
new file mode 100644
index 000000000..0f9c04a53
Binary files /dev/null and b/public/img/sotechsha2/5/08.png differ
diff --git a/public/img/sotechsha2/5/09.png b/public/img/sotechsha2/5/09.png
new file mode 100644
index 000000000..d3bd0fb50
Binary files /dev/null and b/public/img/sotechsha2/5/09.png differ
diff --git a/public/img/sotechsha2/5/10.png b/public/img/sotechsha2/5/10.png
new file mode 100644
index 000000000..79563152a
Binary files /dev/null and b/public/img/sotechsha2/5/10.png differ
diff --git a/public/img/sotechsha2/5/131--------------2.png b/public/img/sotechsha2/5/131--------------2.png
new file mode 100644
index 000000000..3c324ce6f
Binary files /dev/null and b/public/img/sotechsha2/5/131--------------2.png differ
diff --git a/public/img/sotechsha2/6/06_cover.png b/public/img/sotechsha2/6/06_cover.png
new file mode 100644
index 000000000..076ac5296
Binary files /dev/null and b/public/img/sotechsha2/6/06_cover.png differ
diff --git a/public/img/sotechsha2/6/chapter6_1.png b/public/img/sotechsha2/6/chapter6_1.png
new file mode 100644
index 000000000..e57dbfc97
Binary files /dev/null and b/public/img/sotechsha2/6/chapter6_1.png differ
diff --git a/public/img/sotechsha2/6/chapter6_2.png b/public/img/sotechsha2/6/chapter6_2.png
new file mode 100644
index 000000000..fbd77dac6
Binary files /dev/null and b/public/img/sotechsha2/6/chapter6_2.png differ
diff --git a/public/img/sotechsha2/6/chapter6_3.png b/public/img/sotechsha2/6/chapter6_3.png
new file mode 100644
index 000000000..d2f4b26d0
Binary files /dev/null and b/public/img/sotechsha2/6/chapter6_3.png differ
diff --git a/public/img/sotechsha2/SnapCrab_NoName_2019-4-26_16-22-18_No-00.png b/public/img/sotechsha2/SnapCrab_NoName_2019-4-26_16-22-18_No-00.png
new file mode 100644
index 000000000..e30d1145b
Binary files /dev/null and b/public/img/sotechsha2/SnapCrab_NoName_2019-4-26_16-22-18_No-00.png differ