2010年1月20日水曜日

スクラッチ1日1歩 - 004

時々質問を受ける命令で「もし端に着いたら、跳ね返る」の使い方がよくわからないというものがあります。この命令を例えば次のようにして使うと


結果としてスプライトは次のように「跳ね返ります」。


確かに跳ね返ってはいますが、スプライトも逆さまになってしまっています。「跳ね返っては欲しいけど、逆立ちはしないで欲しいな」という場合にはどうすればよいでしょうか?そのヒントは画面中央上部の小さな3つのボタンにあります。



スプライト(スクラッチキャット)の左側に縦に3つ並んだボタンを選択することで跳ね返った時のアクションを指定することができます。例えば、一番上の「回転する」を選ぶと上の例のようにスプライトは回転してひっくり返って跳ね返ります。真ん中の「左右に反転するだけ」を選ぶとスプライトは水平方向に反対向きになって跳ね返ります。「回転しない」を選択すると、端に着いてもスプライトは全く変化することなく跳ね返ります。


下は「左右に反転するだけ」を選択して、同じスクリプトを動かしたところです。


「回転しない」を選択するとスプライトはどのように跳ね返るでしょうか?試してみてください!


2010年1月10日日曜日

今年もスクラッチを楽しみましょう!


今年もよろしくお願いします

新しい年になりました。今年も引き続きご一緒にスクラッチを楽しんでいきましょう。

年末年始はネットでスクラッチがどんなふうに使われ始めているかいろいろ調べてみました。私の予想を超えて、学校や地域のボランティア活動でスクラッチが使われはじめているようです。今年はさらにスクラッチの輪が広がっていくのではないかと思います。このブログも昨年より頻繁に更新できるようがんばっていきたいと思います。

さて、今年は国内、海外のスクラッチ関連のイベントについてもここで紹介していきたいと思います。

まずは昨年発表となった Scratch Day 2010 の日程についてです。

5月22日(土)

世界中のスクラッチャーが集うイベントとして昨年から始まったこのイベント、今年はさらに盛り上がるように私も貢献したいと思っています。このブログを見てくれた方で Scratch Day (5/22)に何かイベントを企画する方、企画したい方、是非ご連絡ください。

http://day.scratch.mit.edu/
(昨年の公式サイト、今年の公式サイトももうすぐ公開になるようです)

http://www.kpc.cdc.jp/scratch/?p=104
(こどもプログラミングサークル スクラッチのサイト。去年の Scratch Day in Tokyo について紹介しています)


続いて Scratch@MIT の予定です。

8月11日(水)〜14日(土)

Scratch@MITは ScratchについてのカンファレンスとワークショップでMITで開催されます。11日(水)はプレカンファレンスとワークショップで、カンファレンスは12日(木)からの3日間開催となるようです。

早速「今年は来るんでしょ?」とレズニック先生からのお誘いもあったので何とか予定をやりくりして初参加したいと思っています。

詳しくは

http://scratch.mit.edu/forums/viewtopic.php?id=27361

をご覧ください。

それでは今年も1歩づつスクラッチを楽しんでいきましょう!

2009年10月25日日曜日

スクラッチ1日1歩 - 003

スプライトを好きな角度に向けるには「〜度に向ける」の命令ブロックを使います。スクラッチキャットの場合は、スクラッチを起動直後は右を向いていますが、これは真上を0度とすると時計回りで90度を向いていることになります。


では、「〜度に向ける」の数字を変えていくとどうなるのか?いろいろな数字を入れてためしてみてください。


「スタンプ」命令ブロックを使うと向きを変えるたびにスクラッチキャットの姿を記録するスクリプトを作ることができます。


上図のスクリプトを実行すると下図のようにスクラッチキャットがぐるぐる回っている様子を描きます。スクリプトの「〜度に向ける」、「〜歩動かす」の数をいろいろに変えてどんなふうになるか確かめてみましょう。



EOT

2009年10月23日金曜日

スクラッチチームとのミィーティング

先日、MITメディアラボにてスクラッチ開発チームとの会合を持ちました。日本でのスクラッチの普及状況や使われ方などについて私の知る限りのことを説明し、開発チームで現在検討中のことなどを聞く機会としてたいへん有益でした。

レズニック教授には現在進行中のプロジェクトについていろいろと相談にのっていただきましたが、これも現在執筆中のスクラッチ書籍第2弾の報告にたいへん喜んでいただきました。この第2冊目はスクラッチ+WeDoを楽しむためのいろいろなアイデアを紹介したものです。WeDoはロボットを作るキットとしてだけではなく他にもたくさんの楽しみ方があります。特にスクラッチとの組み合わせによって可能性が何倍にも広がります。スクラッチにとってもWeDoは画面の外に創造性を拡張する素晴らしいツールとなります。この書籍についてはまたこのブログでも紹介します。



下の写真は建設が進むMIT大川センターです。今年中には建設が完了し、来年にはオープニングイベントが開催されるようです。スクラッチグループはこの建物に引っ越しとなります。キャンパスの向こうにはチャールズリバーの流れが見えています。

スクラッチ1日1歩 - 002

「動き」の命令ブロックグループには、「〜度回す」というブロックがあります。これは文字通りスプライトを時計方向や反時計方向に回転させるためのものです。数字で回したい角度を指定するだけで簡単にスプライトを回すことができます。ためしてみましょう。


下図のサンプルスクリプトは「50歩動いて、30度時計回方向に回転する」を12回繰り返すものです。スプライトがくるっと1回転する様子を見ることができます。



スプライトが回転した跡を見てみましょう。「ペン」グループから「ペンを下ろす」を選んで加えます。実行すると円を描く様子が見えてさらに面白くなります。


もう少し手を加えてみましょう。

1)1度描いた円はそのままだと消えないので、2回目に描く時は前のが残ってしまって描く様子がわかりません。毎回新しく描くようにするには、ペンで描いたものを「消す」ブロックを加えます。

2)上図のスクリプトだと円の下部が多少欠けたようになってしまうので円全体をもう少し上の位置にあげます。これは円の描き出しの位置を上方向に少しかえればよいので、スクリプト実行開始のときのy座標を少しだけ上にします。


こんなふうに描けたでしょうか?


円とはいうもののすこしガクガクしています。もう少し滑らかにならないものでしょうか?そのためには少しずつ進んで、少しずつ回るようにすればよいのです。下図のスクリプトでは前のスクリプトの半分だけ進んで、半分だけ回っています。角度が半分になったので円にするためには12回の倍、24回だけ繰り返します。


少し滑らかになりました。


さらに滑らかにしてみましょう。今度は「5歩動いて、3度回る」を120回繰り返します。どうなるでしょうか?


こんなに滑らかになりました。さらに滑らかにすることができるでしょうか?試してみてください。

EOT


2009年10月22日木曜日

スクラッチ1日1歩 - 001

スクラッチを学ぶ、遊ぶ、使う人の輪が広がってきました。一方でこんな悩みを持つ人の声も聞くようになってきました。

− ゲームを作ってみたけど、同じようなものばかりになってしまう
− 簡単なものはすぐできたけど、なかなかその先に行けない
− 変数やリストの使い方がよくわからない

こんな人たちのために、スクリプトを基礎から学ぶためのミニ講座を開講します。簡単な例からはじめて次第にいろいろなスクリプトづくりにトライしていきます。

スクラッチをはじめて学ぶ人にも参考になるようゼロからはじめますのでゆっくり、じっくりおつきあいください。質問あったらどんどんお寄せください。

この講座ではスクラッチ1.4を使用します。まだ1.3(またはそれ以前のバージョン)をお使いの方はスクラッチオフィシャルサイト ( http://scratch.mit.edu/ ) でダウンロードしてバージョンアップしましょう。


まずはスクリプトづくりのための部品、命令ブロックの使い方をもう1度復習していきましょう。最初にとりあげるのは、講座のタイトル「スクラッチ1日1歩」にふさわしいものです





x座標、y座標というのはスプライトが動き回るステージ(アクションエリア)の場所を示すために使われるものです。x座標:0、y座標:0ならステージ中央の位置となります。ステージの大きさは下図のように横方向(x座標方向)には480、縦方向(y座標方向)には360の大きさがあります。




EOT(今日はここでおしまいの意味)

2009年4月9日木曜日

エラトステネスのふるい

エラトスネテスのふるいはご存知ですか?自然数の中から素数を見つけ出すシンプルだけれども確実な方法です。詳しい説明は数学関連の書籍を見ていただくとしてスクラッチを使ってエラトステネスのふるいを作ることができます。下の画像はサンプルスクリプトを実行した結果で、1から100までの自然数から1を含む26個の素数をふるいにかけた結果です。

このスクリプトを作るには変数とリストをうまく使う必要があります。皆さんもチャレンジしてみませんか?