noanoa 日々の日記

micro:bit、Scratch、Minecraft @小学生向けプログラミング教室(三鷹)

プログラミング

Minecraftで Rubyを使ってプログラミングして「ブロック崩し」を作ってみた

block_game

マインクラフトでRubyを使ってprogrammingしたサンプルってまだ少ないので、ブロック崩し(Breakout)を作ってみました。続きを読む

U-22プログラミング・コンテスト2016 最終審査会を見てきました

IMG_7130

U-22プログラミング・コンテスト2016 の最終審査会を見てきました。続きを読む

日本の小中学生のロボットプログラミングの実力は結構すごかった

小学生・中学生対象のロボット競技会(FLL)の世界大会で日本のチームがみごと優勝しました!

日本でも小学校のプログラミング教育必修化の方針が出てから、このところ子供向けプログラミング教育が俄然注目されていますが、学校外での活動ではとっくに盛り上がっていたんですね。

LEGOを使ったロボットを作って(もちろんプログラミングもして)課題に挑戦する小・中学生対象の世界的な競技会 FIRST LEGO League(FLL)。日本でも開催されていて(FIRST JAPAN)、上位入賞チームは世界大会に出場できます。

今年は 5つの地域で開かれた世界大会のうち、オーストラリアで開催された FLL Asia Pacific Open Championship 2016 に出場した日本チーム「Samurai 7」が優勝!
→・侍7が、Asian Pacific Ocean championで優勝! - First Lego League team 侍7
→・Asia Pacific Open Championshipのご報告 - 2016-07-10 - ithinkplus


競技の様子


優勝発表の様子


なんと、2012年のFLL世界大会でも日本チームの「Falcons」が優勝しています!
→・FLL世界大会でFalconsチームが総合優勝 - ロボジョイくらぶ・マイスターブログ
→・世界大会7日目 - 2012-04-29 - ithinkplus


この2チームとも率いた k氏。
知り合いなので色々お話しをうかがったのですが、アメリカなどでは参加チームに対する企業や地域のサポート(金銭的、人的)と、競技成績に対する企業や学校・大学の評価がすごいのだそうです。
具体的には、コーチ派遣や旅費負担だったり、高校・大学進学への推薦や奨学金だったり。

この辺の事情は下記の本にかなり詳しく載ってます。
(高校生対象のFIRST Robotics Competition 大会の話)





それに対して日本だと、国際大会に参加するための旅費など含めて金銭面は基本的に親の負担で、世界大会に優勝しても評価してくれる高校・大学や企業は皆無だそうで . . .
このあたり、なんとかならないのかなぁ?と思います。

今年の優勝チーム「Samurai 7」は内閣府に表敬訪問したそうです。
→・内閣府表敬訪問 - 2016-08-24 - ithinkplus

少しでも変わるきっかけになるといいですね。

「チノクライシス」教えてもらった

さらに、今月の「U-18プログラミングくらぶ(Ruby三鷹教室)」で教えてもらったのが、
Sくんがデバッグの手伝いをしたという、

チノクライシス
 chi-know-crisis
           <img via baton8.com>

活躍してるね。


→・Rubyプログラミングコンテストに小3で入賞した作品「ワクワクworknote」
→・「ひよこれくと」見せてもらった
 

「ひよこれくと」見せてもらった

同じく、今月の「U-18プログラミングくらぶ(Ruby三鷹教室)」で見せてもらったのが、
Nくんの作った
ひよこれくと
 hiyocollect
     <img via play.google.com>

Javaで作ったそうです。
Android向けゲームなんで、自分では試せないのが残念。
(ただいまバージョンアップ準備中だそうです。)


→・Rubyプログラミングコンテストに小3で入賞した作品「ワクワクworknote」
→・「チノクライシス」教えてもらった

Rubyプログラミングコンテストに小3で入賞した作品「ワクワクworknote」

今月の「U-18プログラミングくらぶ(Ruby三鷹教室)」の会場で、
中高生国際Rubyプログラミングコンテスト in Mitaka2015
 で最年少の小学3年生で審査員特別賞をもらった二ノ方くんの作品「ワクワクworknote」
を本人から見せてもらいました。

Rubyを知ってから 1年もしないうちに作品を応募してしまうなんてすごいです。

その上、自分で HTMLを打って「ワクワクworknote」のホームページまで作ってしまったそうで、余計びっくり!(プログラムもダウンロードできます)

リンクしておきます
→・https://worknote.parseapp.com
worknote_web
     <img via worknote.parseapp.com>


追記)
他にも、見せてもらいました。
→・「ひよこれくと」見せてもらった
→・「チノクライシス」教えてもらった
 

RubyMotion Starter(無料版)でFlappy Bird を動かす

flappy

RugyKaigi2015 で、RubyMotion に無料版が出たのと、motion-game というゲームライブラリで Flappy Bird が100行で書けてクロスプラットフォームで動く、というのを知りました。
そこで、実際に試してみたら色々とハマったので、その時のメモです。
続きを読む

Rubyで動かす戦車対戦ゲームをまとめてみた

Ruby で AIプログラムを組んで対戦するタンクゲームには、RRobots(Tk、Gosu)、RTanque(Gosu)、opal-robots(Opal)、 RubyRobots(Opal)、Rubyrobots(dRuby)などがあります。それぞれの特徴を比べてみました。
続きを読む

Minecraft でマウスポインタを画面外に出して、一時停止させない方法

Minecraft PC版を使っていて、画面の外にカーソルを出したい時は、Escキーを押していました。
でも、そうするとMinecraft 内の時間は一時停止(ポーズ)してしまい、「ゲームメニュー」が出てしまします。
普通はそれでもいいのかもしれませんが、プログラミングして Minecraft を楽しもうとすると、ターミナル(コマンドプロンプト)画面で操作しながら Minecraft画面も並行して表示させたくなります。

そこで、Minecraft がポーズせず、「ゲームメニュー」も出さない方法を調べてみました。続きを読む

Ruby で Minecraft の mod を作る RubyCore が出た!

Minecraft の mod を作るには、普通 Java を使いますが、Ruby でもできるようにする RubyCore というものが 2015年8月に公開されていました。

→・RubyCore: Mods for minecraft using Ruby language - minecraftforum続きを読む

Minecraft プログラミング in Ruby

01

Minecraft で Rubyプログラミングを楽しむ情報をまとめてみました。

(2015.10.21 追加記事を書きました;
→・Ruby で Minecraft の mod を作る RubyCore が出た!) 続きを読む

Minecraft PC 版に Mod を入れてプログラミングを楽しむ方法

2.Minecraft PC 版に Mod を入れる
a)Raspberry Jam Mod、mcpiapi mod 
について今回は解説します。
続きを読む

Raspberry Pi の Minecraft Pi 版でプログラミングを楽しむ方法

前回の記事「Minecraft でプログラミングを楽しむ4つの方法」の
1.Raspberry Pi に入っている Minecraft Pi 版を使う
について今回は解説します。
続きを読む

Minecraft でプログラミングを楽しむ4つの方法

Minecraft

Minecraft の世界をプログラミング言語(Python、Ruby、Scratch 等)を使って操作することもできます。プログラムを組むことで、自動的にブロックを積んだり、プレーヤーを動かしたりできるのです。

そうすることで、Minecraft をより深く楽しんだり、プログラミング自体をより楽しむことができます。

それにはいくつかの方法があるので、まとめてみました。

(2015.10.21 追加記事を書きました。これで 5つになりました;
→・Ruby で Minecraft の mod を作る RubyCore が出た!続きを読む

「ブロック崩し」追加課題 1c);衝突判定の自作(色)

DXRuby の衝突判定を自作していきます。

今回は、色で判定します。

→・「ブロック崩し」の追加課題
続きを読む

「ブロック崩し」追加課題4;ブロック崩しを改良・発展させてみよう

block10_class_sprite_rev_04
今回作った「ブロック崩し」を改良・発展させてみましょう。

続きを読む

「ブロック崩し」追加課題3;クラス・オブジェクト指向を使ってみよう

block10_class_oo

今回作った「ブロック崩し」をクラス・オブジェクト指向を使って書き直してみましょう。

続きを読む

「ブロック崩し」追加課題2;なるべく基本命令だけで「ブロック崩し」を作ってみよう

今度は、DXRubyの便利な機能をなるべく使わず、プリミティブな基本機能だけで「ブロック崩し」を作り直してみましょう

(参照;
→・「ブロック崩し」の追加課題
→・「ブロック崩し」追加課題に向けて;コンピュータの世界の下側を見てみよう続きを読む

「ブロック崩し」追加課題に向けて;コンピュータの世界の下側を見てみよう

DXRuby や Ruby 自体は大変便利な命令・機能を持っているので、「ブロック崩し」をわずか60行足らずで作れてしまいました。


しかし、プログラミングの学習としては、便利機能に頼りすぎるのもどうなんだろうか?と思っていたら、こんな言葉を見つけてドキッとしました。

続きを読む

「ブロック崩し」追加課題 1b);衝突判定の自作(円)

DXRuby の衝突判定を自作していきます。

今回は、円の中心からの距離で判定します。

(→・「ブロック崩し」の追加課題
続きを読む

「ブロック崩し」追加課題 1a);衝突判定の自作(四角)

DXRuby の衝突判定を自作していきます。

今回は、四角の四隅の座標で判定します。
続きを読む

「ブロック崩し」追加課題1;衝突判定を自作してみよう

今回作った「ブロック崩し」では、衝突判定に DXRuby の === や check を使いました。
とても便利な機能ですが、自分で作るとしたらどうしたらよいでしょうか? 

判定方法を考えてみましょう。

(→・「ブロック崩し」の追加課題続きを読む

「ブロック崩し」の追加課題

前回作った「ブロック崩し」を発展させる追加課題を考えました。

(2015.7.28 記事を追加しました;
 →・「ブロック崩し」追加課題に向けて;コンピュータの世界の下側を見てみよう
続きを読む

DXRubyで 0から作る「ブロック崩し」

blocks10b
U-18プログラミングくらぶ(Ruby三鷹教室)」(2015.6.21)で行った、DXRubyで「0から作るブロック崩し」の個人的なまとめです。続きを読む

「MI100ロボットでライントレース大会(第2回)」のスライドを公開しました

Rubyで動かす MONOXITの無線ロボットMI100 でライントレース大会(第2回)をしたときに使ったスライドを公開しました。(前回のスライドは →こちら

U-18プログラミングくらぶ(Ruby三鷹教室)」(2015.2.15) での再編集版です。
続きを読む

「MI100ロボットでライントレース大会」のスライドを公開しました

Rubyで動かす MONOXITの無線ロボットMI100 でライントレース大会をしたときに使ったスライドを公開しました。

U-18プログラミングくらぶ(Ruby三鷹教室)」(2015.1.18) での再編集版です。
続きを読む

MI100 でライントレースをする設定(Windows編、Mac編)

(2015.2.18 追記;
バージョンアップに合わせて、記述を改めました。)

Rubyで動かす MONOXITの無線ロボットMI100 でライントレース大会をしてみました。
(「U-18プログラミングくらぶ(Ruby三鷹教室)」(2015.1.18、2.15)

その際の設定が結構大変だったので、まとめておきます。

参考)
→・「MI100ロボットでライントレース大会」のスライドを公開しました
→・「MI100ロボットでライントレース大会(第2回)」のスライドを公開しました )続きを読む

Ruby 2.2 を Homebrew の rbenv で Mac にインストールする手順

Ruby 2.2.0 がリリースされました。

rbenv でインストール時にこれまで付けていた openssl、readline の指定が必要なくなっていたので、自分用にメモを残しておきます。 続きを読む

無線ロボット MI100改 のファームウェアでライントレースをやってみた

IMG_5122

MONOXIT の無線ロボット MI100ファームウェアを書き換えられるようになったので、ファームウェアをプログラミングしてライントレースをやってみました。

今までは PCからプログラムのコマンドを Bluetooth で送受信することで、MI100 を制御してきました。これが、MI100 本体内のプログラムだけで動くなら、無線の送受信にかかるタイムラグがなくなって反応が速くなると考えたからです。続きを読む

無線ロボット MI100 のファームウェアを書き換えてみた

IMG_5095


MONOXIT の無線ロボット MI100 のファームウェアを書き換えて、内蔵LED を点灯させてライントレースができるようになりました。
→・無線ロボット MI100改 でライントレースをやってみた(決定版?)

その時の書き換え手順をメモしておきます。続きを読む

無線ロボット MI100改 でライントレースをやってみた(決定版?)

IMG_5007

MONOXIT の無線ロボット MI100ライントレースをやってみましたが、100均のLEDライトを取り付ける必要がありました。今回は内蔵LEDを点灯することでMI100単独でライントレースさせてみます。続きを読む

Ruby 2.1 を Homebrew + rbenv で OS X Yosemite にインストール

(2014.12.28 追記;
 Ruby 2.2 をインストールする記事を書きました。
 →・Ruby 2.2 を Homebrew の rbenv で Mac にインストールする手順


OS X Yosemite をクリーンインストールしたので、Ruby もインストールし直すことにしました。

Yosemite 標準の Ruby を確認すると;
$ ruby -v
ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin14]
$ irb
irb(main):001:0> "\U+FFE3\U+FFE3\U+FFE3"  # "あいう" と入力したが正常に表示されない 
=> ""

バージョンは新しめですが、相変わらず readline が日本語に対応していません。
それに Ruby の最新バージョンは 2.1.4(2014.10.31 現在)なので、やはり最新版をインストールすることにしました。
続きを読む

無線ロボット MI100改 で(今度こそ)ライントレースをやってみた

IMG_4917

MONOXIT の無線ロボット MI100ちゃんとしたライントレースをやってみようと思い、最小限の改造をしてみました。

(2014.11.25 追記;
 外部にLEDライトを取り付けなくてもライントレースできるようにしました。
→・無線ロボット MI100改 でライントレースをやってみた(決定版?)

続きを読む

無線ロボット MI100 でライントレース(もどき)をやってみた

IMG_4808

MONOXIT の無線ロボット MI100 に光センサーが付いていたので、ライントレーサーをやってみようと思いました。
ただし、 光センサーの位置が MI100 の上に付いていたので、そのままだと床に引いたラインを追いかけるのは難しいので、懐中電灯の光に向かっていくようにしました。(ライトトレーサー?)

(続きの記事を書きました。
 2014.10.28 追記;
→・無線ロボット MI100改 で(今度こそ)ライントレースをやってみた
 2014.11.25 追記;
→・無線ロボット MI100改 でライントレースをやってみた(決定版?)

光センサーの上部を何かで覆って、正面からの光だけを測るようにします。
続きを読む

Rubyで動かす無線ロボット MI100 の命令一覧とその追加

IMG_4813

MONOXIT の無線ロボット MI100 を動かす命令の一覧がなかったので作ってみました。

※注意;
あくまでも自分の調べた範囲でのことなので、公式なものではありません。
 
→・MI100 ファームウェア - GitHub

この辺りの公式の情報を参照してください。

(2015.2.18 追記;
 バージョンアップに合わせて、記述を改めました。)
続きを読む

Rubyで動かす無線ロボット MI100 の設定法(Mac編、Windows編)

IMG_4813

MONOXIT の無線ロボット MI100 を動かそうとして、情報が少なかったのでメモです。

→・子ども Rubyプログラミング講座「ロボット編」 - MONOXIT
→・mi100 ドキュメント - Ruby-Doc.org
この辺りが公式の情報のようです。

そこで、自分でいろいろいじってみて分かったことが 2つあります。
続きを読む

Macで gcc 4.7.1での実行メモ;『12ステップで作る 組込みOS自作入門』

978-4-87783-239-1

12ステップで作る 組込みOS自作入門
(坂井 弘亮著、カットシステム、2010年)

前の記事では、OS X 10.9 Mavericks に gcc-4.7.1 をインストールしました。gcc-4.7.1 を使って書籍を読み進めていく上で必要なプログラムの修正と、注意する点をまとめました。
続きを読む

Macで gcc 4.7.1での環境構築;『12ステップで作る 組込みOS自作入門』

978-4-87783-239-1

12ステップで作る 組込みOS自作入門
(坂井 弘亮著、カットシステム、2010年)

OS X 10.9 Mavericks で gcc-4.7.1 をインストールしたときのメモです。続きを読む

Macで XMODEM転送して起動させる2つの方法;『12ステップで作る 組込みOS自作入門』

978-4-87783-239-1

12ステップで作る 組込みOS自作入門
(坂井 弘亮著、カットシステム、2010年)

4thステップ以降では XMODEMファイル転送機能を使って、OSプログラムをRAM上に展開して起動させます。この手順を Mac(OS X 10.9 Mavericks)で行う2つの方法についてまとめました。
・lrzsz を使う方法
・kz_xmodem を使う方法(←おすすめ)続きを読む

Macで環境構築;『12ステップで作る 組込みOS自作入門』

978-4-87783-239-1

12ステップで作る 組込みOS自作入門
(坂井 弘亮著、カットシステム、2010年)

が面白そうだったので、OS X 10.9 Mavericks で実際に作ってみることにしました。

(2014.7.24 追記;
 gcc-3.4.6 を使った記事に書き直し、gcc-4.7.1 を使う記事は別記事にしました。)

続きを読む

『情報科学入門―Rubyを使って学ぶ』を読むのに必要なソフト一覧

cover

情報科学入門―Rubyを使って学ぶ』 (増原英彦、東京大学情報教育連絡会 著)
 
やっと読み終わりました。
なるべく練習問題なども実際にプログラムを書いて動かすようにしたのですが、 インストールが必要なソフトがいろいろあったのでその一覧を挙げておきます。
(ただし、「第10章 いろいろなプログラミング言語」は除く。)

なお、サポートページに最新情報や配布プログラムなどが載っていますので、こちらも参照して下さい。 続きを読む

GitHub にコードを載せるなら、ライセンスを書こう

GitHub を使いだして気になったのがライセンス。
「面倒だから何も書かなくてもいいかな、たいしたコードでもないし。誰にでも使ってもらっていいし。」と思っていたのですが、どうも逆なようです。

ライセンスが明示されていないのは、どんなライセンスよりも厳しいライセンスだ。

続きを読む

SourceTree と git のコマンドの取り消し操作の対応をまとめてみた

前回の記事の通り、SourceTree を使い始めて、一番困ったのが、操作(コミット)の取り消し方です。もちろん、Web に情報はかなりあるのですが、ターミナルでコマンドを入力する CUI だったり、SourceTree のバージョンが古くてやり方やメニューの名前が変わっていて戸惑いました。続きを読む

SourceTree 初心者が、初心者すぎてハマったポイント

バージョン管理の必要に迫られて、git(GitHub)を使うことにしました。ただ、ターミナルでコマンドを打つCUI だとキツいんで、GUI の SourceTree を使うことにました。続きを読む

プログラミング言語 Sunaba で「ブロック崩し」を作ってみた

『プログラムはこうして作られる―プログラマの頭の中をのぞいてみよう
(平山尚著、秀和システム、2013年発行)



が素晴らしい本でした。続きを読む

Sublime Text 3 での SublimeLinter の設定

Sublime Text 3 (Build 3059) を Mac にインストールしたときのユーザ設定キーバインディング設定の続きです。

○プラグイン
・SublimeCodeIntel;コード補完(auto complete)の候補を自動的に出してくれる
・SublimeLinter;文法チェックをリアルタイムでしてくれる
上記2つを入れました。

インストールには Package Control を使います。(Package Control については省略)
SublimeCodeIntel については、特に設定せずに使えました。

SublimeLinter はさらに設定が必要でした。
続きを読む

Sublime Text 3 のキーバインディング 自分の設定

Sublime Text 3 (Build 3059) を Mac にインストールした時の設定の続きです;


○キーバインディングの設定
・Tab でカッコの外にカーソルを移動させる
・Shift + Tab でも Tab の挿入にする
・Ctrl+Space でオートコンプリートのパネルを閉じる
・コード補完の候補選択を Tab と Shift + Tab で上下に移動させる
・日本語入力で変換候補を Tab で移動できるようにする

どれも、自分には手放せない機能です。
続きを読む

Sublime Text 3 を導入した時の Settings - User のメモ

Mac を OS X Mavericks にしたのを機に、Sublime Text 2 から 3(ベータ版)に移行してみました。

Sublime Text 3 (Build 3059) で、自分がした設定のメモです。


○Preferences > Settings - Default を見て、変更したい設定だけを
Preferences > Settings - User に書き出します。
続きを読む

『情報科学入門―Rubyを使って学ぶ』の isrb、isrb2 を Mac にインストールしてみた

cover


情報科学入門―Rubyを使って学ぶ』 (増原英彦、東京大学情報教育連絡会 著)

で使う isrb (画像表示ライブラリ付の対話的Ruby)をサポートページを参考に Mac にインストールしてみました。
(実行環境;OS X 10.9 Mavericks)続きを読む

StarRuby を Homebrew で Mac にインストールしてみた

Ruby の 2Dゲームライブラリの StarRuby を Mac にインストールしたメモです。

ホームページの「Mac OS X で動かす」 は MacPorts を使っています。Homebrew でインストールする情報が少なかったのですが;
→・たった200行で作れるテトリス Ruby編 - a newcomer!

が大変参考になりました。
続きを読む
プロフィール
薬剤師なのにコンピュータが好き、鍼灸マッサージ師なのにプログラミングが好き。小中高校生向けのプログラミング教材を作るのが現在の日課。micro:bit、Scratch、Minecraft、Rubyなどで作成中。 FIREして2019年に世界一周クルーズしました。














月別アーカイブ
カテゴリ別アーカイブ
記事検索