ブロックリーゲームズは、Googleが提供している、プログラミングの勉強ができる無償のサイトです。この記事は、そのなかの『動画』、『音楽』、『ポンド・チューター』、『ポンド(池)』の課題の解答例です。『迷路』、『鳥』、『タートル』の解答例は、『Blockly Games ブロックリー ゲームズ 解答例1』をご覧ください。ブロックリーゲームズ紹介の記事が長くなってしまいましたので、解答例を抜き出して2つの記事にまとめました。
2018/5/30更新:ブロックリーゲームズに『音楽』が追加されましたので、解答例を追記しました。
2022/11/29更新:動画の問題が大幅に変更されていましたので修正しました。
ブロックリーゲームズについては、以下の記事をご覧ください。
[su_spacer]
[su_accordion]
[su_spoiler title=”ブロックリーゲームズ 動画 解答例” style=”fancy”]
画像をクリックするとブロックリーゲームズが開きます
[su_highlight background=”#2e85de” color=”#ffffff”] 動画1 解答例(2022/11/28修正) [/su_highlight]
[su_highlight background=”#2e85de” color=”#ffffff”] 動画2 解答例(2022/11/28修正) [/su_highlight]
[su_highlight background=”#2e85de” color=”#ffffff”] 動画3 解答例(2022/11/28修正) [/su_highlight]
[su_highlight background=”#2e85de” color=”#ffffff”] 動画4 解答例(2022/11/28更新) [/su_highlight]
[su_highlight background=”#2e85de” color=”#ffffff”] 動画5 解答例(2022/11/28更新) [/su_highlight]
[su_highlight background=”#2e85de” color=”#ffffff”] 動画6 解答例(2022/11/28更新) [/su_highlight]
[su_highlight background=”#2e85de” color=”#ffffff”] 動画7 解答例(2022/11/29更新) [/su_highlight]
[su_highlight background=”#2e85de” color=”#ffffff”] 動画8 解答例(2022/11/29更新) [/su_highlight]
[su_highlight background=”#2e85de” color=”#ffffff”] 動画9 解答例(2022/11/29) [/su_highlight]
[su_highlight background=”#2e85de” color=”#ffffff”] 動画 10 解答例 [/su_highlight]
10は正解は特にありません。9までに学んだことで、すきな絵をかいてみてください。
[/su_spoiler]
[su_spoiler title=”ブロックリーゲームズ 音楽 解答例” style=”fancy”]
[su_highlight background=”#2e85de” color=”#ffffff”] 音楽 1 解答例 [/su_highlight]

[su_highlight background=”#2e85de” color=”#ffffff”] 音楽 2 解答例 [/su_highlight]
解答例では、第一、二小節を演奏する関数の名前は『Play1』としました。

[su_highlight background=”#2e85de” color=”#ffffff”] 音楽 3 解答例 [/su_highlight]
解答例では、第三、四小節を演奏する関数の名前は『Play2』としました。

[su_highlight background=”#2e85de” color=”#ffffff”] 音楽 4 解答例 [/su_highlight]
解答例では、第五、六小節を演奏する関数の名前は『Play3』としました。また、プログラムエリアが広くなりましたので、画像の左側をこれ以降省略します。

[su_highlight background=”#2e85de” color=”#ffffff”] 音楽 5 解答例 [/su_highlight]
解答例では、第七、八小節を演奏する関数の名前は『Play4』としました。

[su_highlight background=”#2e85de” color=”#ffffff”] 音楽 6 解答例 [/su_highlight]

[su_highlight background=”#2e85de” color=”#ffffff”] 音楽 7 解答例 [/su_highlight]
解答例では、第一小節から第八小節を演奏する関数の名前は『Play5』としました。

[su_highlight background=”#2e85de” color=”#ffffff”] 音楽 8 解答例 [/su_highlight]

[su_highlight background=”#2e85de” color=”#ffffff”] 音楽 9 解答例 [/su_highlight]
この例では、楽器は『トランペット』、『ドラム』、『バンジョー』、『合唱』を選びましたが、どんな楽器でも良いですが全部異なった楽器を選んでください。

[su_highlight background=”#2e85de” color=”#ffffff”] 音楽 10 [/su_highlight]
ここでは、自分のすきな曲を演奏できます。
[/su_spoiler]
[su_spoiler title=”ブロックリーゲームズ ポンド・チューター 解答例” style=”fancy”]
[su_highlight background=”#2e85de” color=”#ffffff”] ポンド・チューター 1 解答例 [/su_highlight]

[su_highlight background=”#2e85de” color=”#ffffff”] ポンド・チューター 2 解答例 [/su_highlight]

[su_highlight background=”#2e85de” color=”#ffffff”] ポンド・チューター 3 解答例 [/su_highlight]

[su_highlight background=”#2e85de” color=”#ffffff”] ポンド・チューター 4 解答例 [/su_highlight]

[su_highlight background=”#2e85de” color=”#ffffff”] ポンド・チューター 5 解答例 [/su_highlight]

[su_highlight background=”#2e85de” color=”#ffffff”] ポンド・チューター 6 解答例 [/su_highlight]

[su_highlight background=”#2e85de” color=”#ffffff”] ポンド・チューター 7 解答例 [/su_highlight]

[su_highlight background=”#2e85de” color=”#ffffff”] ポンド・チューター 8 解答例 [/su_highlight]

[su_highlight background=”#2e85de” color=”#ffffff”] ポンド・チューター 9 解答例 [/su_highlight]

[su_highlight background=”#2e85de” color=”#ffffff”] ポンド・チューター 10 解答例 [/su_highlight]

[/su_spoiler]
[su_spoiler title=”ブロックリーゲームズ ポンド(池) 解答例” style=”fancy”]
[su_highlight background=”#2e85de” color=”#ffffff”] ポンド(池) 解答例 [/su_highlight]
これは最善の解答例ではありませんが、繰り返し実行してみましたがほとんど勝つことができましたので、解答例としてここに紹介します。このアルゴリズムの説明は、近々公開しますが、もっと短時間で敵を倒すアルゴリズムがあると思います。
2017/8/20追記:アルゴリズム説明公開しました。

[/su_spoiler]
[/su_accordion]










ポンドですが、こんなんはどうでしょうか?僕が試した限りでは無敵でしたw
(中2ですw)
var a;
a = 180;
while (true) {
if (150 >= scan(a)) {
swim(a);
cannon(a, scan(a));
cannon(a, scan(a));
cannon(a, scan(a));
}
if (150 < scan(a)) {
a += 4;
}
}
回答例、ありがとうございます。短いコードで徹底的に攻撃ですね。まだ、試していませんが、敵に攻撃された時に逃げるコードと、敵がずっと見つからない時(360°Scanしてもいない)のコードを追加したらどうなるかみたいですね。
僕もポンドの回答例を考えてみました。
ほぼ無敵ですw
(僕も中2)
コードが汚いのは許して…
var angle = 0;
var delta = 0;
var adjustedDelta;
var Health;
while(true){
Health = health();
main(true);
if (Health > health()){
damaged();
}
}
function move(scale, condition){
adjustedDelta = delta * scale + angle;
if(scan(adjustedDelta) != Infinity){
angle = adjustedDelta;
delta = 0;
if(condition){
if(scan(adjustedDelta) >= 40){
drive(adjustedDelta, 100);
}else{
stop();
}
}
if(scan(adjustedDelta) <= 70){
cannon(adjustedDelta, scan(adjustedDelta));
}
}else{
if(condition)
stop();
}
}
function damaged(){
var Random = Math.random();
if(Random 15){
drive(180, 100);
main(false);
}
stop();
}else if(Random < 0.5){
while(getX() < 85){
drive(0, 100);
main(false);
}
stop();
}else if(Random 15){
drive(270, 100);
main(false);
}
stop();
}else{
while(getY() < 85){
drive(90, 100);
main(false);
}
stop();
}
}
function main(condition){
if(delta <= 15){
delta = delta + 2;
}else{
delta = delta + 3;
}
move(1, condition);
move(-1, condition);
if (delta == 180)
delta = 0;
}
回答例、ありがとうございます。実行するとfunction damaged()でエラーします。コードを再確認していただけますか。よろしくお願いいたします。
自分でやったらいいと思うな