はじめてのtoioプログラミングに挑戦してみた。

#はじめてのtoioプログラミングに挑戦してみた。

”[スイッチサイエンス「toio」取り扱い開始記念～「toio」ではじめよう、おうちでロボット開発キャンペーン～](https://toio.io/news/2020/20200423-1.html)”が開催されたので応募してみました！

せっかくの取り組みなので、素直に感想を書きながらメモしていこうと思います！ （追記：そう思って書き始めたのですが、想像以上だったので、最終的にオブラートに包んだ感想になりました。）

#でっかい封筒が届いた！

応募してはみたものの、何も音沙汰がなかったのですが突然大きめの封筒が届きました！（ポストに入らなかったから、郵便局のおじさんがとどけてくれました！）

なかみは、[『開発者向けマット（仮称）』](https://note.toio.io/n/n15ace43c69e6)と、キャンペーンの案内でした！わーい。

#感想：開発者向けマット（仮称）は、なんか微妙かも

とりあえず、[『開発者向けマット（仮称）』](https://note.toio.io/n/n15ace43c69e6)ですが第一印象はなんか微妙・・・。まず、大きすぎる。A4も用意してほしかったなー。

あと、簡易カードの配置がとにかく嫌すぎる。なぜ数字と英語を混ぜて縦に印刷しているのか。９ずつの区切りは何なのか。などなど。不思議でしょうがない・・・。「あいうえお」が印刷されていないのも微妙だなー。おんなじ紙をいっぱい入れるんじゃなくて、いろいろなフォーマットをいれてほしかったです。

もしかして、切り取って自由に配置？ こんなたくさんきれいに切れないよー

あと、印刷に関する情報がなさすぎる。この紙の上に字や絵をかいてもいいのか？よくないのか？
書く場合はどうすればいいのか？など。

>また、素材があくまで紙なので、絵や文字を書いたり、A3サイズ対応のプリンターで印刷することもできるかもしれません（ヒント：ペンも含め黒インクを使用しないでください／プリンターの黒インク節約モードを活用してみてください／染料インクよりも顔料インクの方がオススメです・・・）。今回配布されるのはサンプル版であり保証外ではありますが、ぜひ開発者の皆様には色々な使い方にチャレンジしていただければ嬉しく思います。
>[『開発者向けマット（仮称）』](https://note.toio.io/n/n15ace43c69e6)より引用

ヒントじゃなくて答え書いてよ！ **toioを使った体験とか作品の内容は研究したいけど、toio自体や紙の研究はしたくないんだけど**。なんだかなー。ていうか、A3プリンタなんて普通持ってないでしょー。

#気を取り直して、ビジュアルプログラミング！

気を取り直して、プログラムすることにします。jsとかも用意されてるみたいだけど、用意がめんどくさいし子供が遊べないので、Scratchのビジュアルプログラミングに挑戦してみます！

[ビジュアルプログラミングとは](https://toio.io/programming/visual-programming.html)

このページにわかりやすく説明が書いてある。Scratch Linkで接続するみたい。

<img width="1440" alt="スクリーンショット 2020-05-01 9.09.22.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/ed69cd7d-c985-a9fb-ace2-88c3bcd4ac36.png">

画面はこんな感じ。最初からキューブのスプライトが配置されている状態になってる。コスチュームで車以外にも変更できた。

ここで衝撃の事実。**キューブは１個しか使えない**まじか・・・。なので、複製とかはしないほうがいいと思う。背景に各種マットの画像とか用意してあったら良かったのに・・・非常に残念。

#感想：Scratchでのプログラミングは、機能が少なすぎる

なにこれ。これたぶん、「パソコンからキューブを動かす」か、「キューブをコントローラーにする」っていうプログラムの**２種類しか作れない**んじゃないかな。すごくいっぱいブロックあるのに、出来ることが少なすぎ・・・。

ヘルプにこんな文言が

>Q:toio コア キューブの加速度センサーやボタンを利用できないのはなぜか?
>A:Scratch Link の仕様に基づいています。今後についてはさまざまな可能性を検討してまいります。
>[よくあるご質問](https://support.toio.io/app/answers/detail/a_id/14999/related/1)より引用

え、そうなの？ ***Scratch Link のせい*** なの！？ じゃあしょうがないかー。

あと、おもったのが、マットの座標の差分を自動計算してくれるブロックがないのがすごいめんどくさい。
マットを切って使う時に「ここが０」って決められる仕組みがほしい・・・。
これがないから、A３の紙をA4に切り抜く時に***真ん中をくり抜く必要がある***っていうの嫌すぎると思った。

あと、マットの範囲を指定できないのもめんどい。***マットからはみ出ないようにしてほしい***。あと、おもったよりもtoioの挙動がおかしい。ちょっと横に回転するとかはまあ、しょうがない気もするけど、**50%くらいの確率で走り出す前にバックする**のはやめてほしいと思った。

あと、思い出したけど、micro:bitもScratch Linkで使えなかったっけ？ 加速度センサーとかボタン押されたときとか分かった気がするけど・・・。あんまり詳しくないからわかんないけど。本当にしょうがないのかな・・・。（注：仕様を調べたわけではないので、このコメントは鵜呑みにしないでください。）

#とりあえず、時計を作った

とりあえず、時計を作ってみました。

![できた！](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/5a46d053-7482-e39a-9731-7f3a937f4823.jpeg)

現在時刻に合わせて、キューブがちょっとずつ前に進みます！

キューブの走る部分は、開発者マットを切って作りました。適当に切ったのでY座標の移動になってしまった・・・。まあしょうがない。

キューブの移動は、最初は座標にしようと思ったのですが・・・

<img width="343" alt="スクリーンショット 2020-05-01 10.46.33.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/f53f74f6-d97a-f520-4bcf-c226d7ddb724.png">

↑このブロック使うと、なぜかまっすぐの移動なのに回転しようとするため諦めました。**アルゴリズムおかしくない？**キューブは細い道苦手みたい。

<img width="287" alt="スクリーンショット 2020-05-01 11.13.39.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/337fc336-0349-aad8-a567-f81c4654d35b.png">

↑しょうがないので、前に動かすブロックにしたんだけど・・・「歩」が単位なの？ 意味不明。なんとなく一歩1座標っぽいので、今回はそんな感じで計算しました。座標と同じ単位にしてほしかった・・・。

と、いうわけで最終的に出来上がったのがこちらです。

<img width="575" alt="スクリーンショット 2020-05-01 11.41.57.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/0092a69f-5576-bb44-e24a-179fe484c120.png">

子どもたちでも仕事の休憩時間が分かるようにしてみました！
ずーっとパソコン立ち上げとく必要あるけど、かわいいです！
ていうか、充電持つのかな。

![おひる](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/40994/6d96931b-2416-cc37-78f2-8779849c5b9b.jpeg)

まとめると、toio楽しいけど、出来ることが少ないのでもっと頑張って欲しいと思いました。

おしまい。