スポンサーリンク

Smalrubyスモウルビーで初めてのRubyプログラミング

2018年8月13日

スクラッチにも慣れてきました。
そろそろ本格的にプログラミングをはじめてみたいです。
この記事は、そんな方へ向けて書いています。
スクラッチのようなブロックプログラミングで、ときどきRubyが学べる「Smalrubyスモウルビー」を紹介します。

Smalrubyスモウルビーで初めてのRubyプログラミング

Smalrubyスモウルビーで初めてのRuby

NPO法人Rubyプログラミング少年団

Smalrubyスモウルビーは、NPO法人Rubyプログラミング少年団によって開発されました。
同少年団は、「一人でも多くの青少年にプログラミングの喜よろこびを!」 「プログラミングを通じて青少年とネット社会との関わり方を考える組織を地域社会の中に!」 を掲かかげて活動されています。
「小学3年生以上の子どもたちがプログラミングを学ぶための教材の開発、ワークショップの運営、ノウハウの提供を行い、プログラミングを学びたい子どもたちにとって最適な環境を提供する」ことを理念とされています。
島根県松江市を中心に、体験会や道場を開催されていますので、お近くの方はぜひ参加してみてはいかがでしょう。

Smalrubyスモウルビーのプログラミング

Smalrubyは、スクラッチと同じようにブロックを組み合わせてプログラムを作ります。
作ったプログラムは「Ruby」のボタン1つでRubyに変換して見ることができるようになっています。

さぁ、Smalrubyスモウルビーで初めてのRubyプログラミングをはじめよう。

初心者が簡単にRubyプログラミングを覚えられる!Smalrubyの使い方/paiza

ピンポンゲーム/スモウルビーギャラリー

つくるのは、カンタンなピンポンゲーム

キャラクターを動かして、ボールを打ち返すピンポンゲームです。
勝敗がついたら、その時点でゲーム終了とします。
本来、得点をつけるのですが、今回は初めてのため省略しました。

Smalrubyスモウルビーのピンポンゲームで学べる知識

  • 座標
  • 演算
  • 繰り返し(ループ)
  • 条件文(もし〇〇ならば、そうでないなら△△)
  • 変数
  • 不等記号

まずはキャラクターの選択

いつもなら、まずは工程のかくにんなのですが、ピンポンゲームをつくるのは初めてだったので、上記動画やpaizaブログなどを参考に作りはじめました。
NPO法人Rubyプログラミング少年団のサイトからSmalrubyスモウルビーをインストールします。
立ち上げたら、左の「新しいキャラクター」をクリックして、ネコの他にカエルとボールを追加しましょう。

Smalrubyスモウルビーで初めてのRubyプログラミング1

ネコのスクリプトを作ります

キーボードの上矢印キーを押したときは、少しずつ上に動き、下矢印キーを押したときは、少しずつ下に動くようにプログラミングします。
キャラクターの下のファイルマークをクリアすると、ネコのスクリプトが右のプログラミングエリアに出てきます。
上に動くのは、座標でマイナス表示になることに注意しましょう。

Smalrubyスモウルビーで初めてのRubyプログラミング2

ボールのスクリプトは常に動いて、端では跳ね返るように

ボールは常に動いている設定ですので、繰り返し(ループ)の「ずっと」を使います。
「もし端についたら跳ね返る」のブロックも忘れないように。

Smalrubyスモウルビーで初めてのRubyプログラミング3

カエルはボールが上側なら上に、下側なら下に移動

カエルはボールの位置によって変動させます。
なので、条件文(もし〇〇ならば、そうでないなら△△)を使います。
ボールのy座標がカエルのy座標以上ならば、y座標を10ずつ変え、そうでなければy座標を-10ずつ変える、とします。
*下の画像では、カエルの座標がx座標になってますが、y座標が正解です。

Smalrubyスモウルビーで初めてのRubyプログラミング4

ボールがネコやカエルにぶつかったときの動作

ボールがネコやカエルにぶつかったら、横に跳ね返るようにしましょう。
縦方向がy座標ですから、横方向はx座標になります。

Smalrubyスモウルビーで初めてのRubyプログラミング5

ピンポンゲームの勝敗

画面の右の横端は、x座標で「608」となっています。
ですので、相手であるカエルの横を抜けてボールが端にいけば、ネコの勝利となります。
一方、ボールがx座標で「0」以下であれば、ネコの負けということになります。
ゲームの勝敗がつけば、ゲームオーバーですので、「繰り返しから脱出する」を加えます。
*下の画像では、ネコの負けのx座標がおかしいです。正解は、「0以下」です。

Smalrubyスモウルビーで初めてのRubyプログラミング6

Rubyのコードを見てみよう

左上の「Ruby」のボタンを押すと、ブロックプログラミングがRubyで表示されます。
今は、まだ分からなかったとしても心配はいりません。
こんな感じでプログラミングされるんだ、というイメージができればOKです。

バグ(不具合)を修正し完成です!(カスタマイズと改善)

一度、ゲームを試してみます。
不具合が出た場合は、その部分を修正しましょう。
今回は、カエルの条件文内の座標設定、ボールの条件文の座標設定が間違っていました(上記工程で確認済み)。

Smalrubyスモウルビーで初めてのRubyプログラミング7

最初は誰だって初心者です。
やりながら順番に覚えていきましょう。
さぁ、プログラミングをはじめましょう。