コミュ障だから明日が僕らをよんだって返事もろくにしなかった

何かを創る人に憧れたからブログをはじめたんだと思うよ

バーチャルイチゴジャム

バーチャルに生きたい人生だった

はい、おはようございます。世はまさにバーチャル戦国時代と言われていたりします [要出典]。やはり皆さんもバーチャルだったりするんですよね。体の一部だったり何かがバーチャルだったりするんですよね?そうであろう?そうに違いない。



さて、そうしたわけなので今日はバーチャル電子工作をやっていきます。なぜそんなことをやるのかと言えば、この世の全てはバーチャルだからさ……。

IchigoJamいぢる

こどもパソコン IchigoJam - はじめてのプログラミングパソコン(1500円)

本日のバーチャル電子工作はIchigoJamです。バーチャル電子工作は高温のはんだごてでやけどすることもなければ、コンデンサに過電圧かけて破裂させる心配のない大変お子さんにやさしい電子工作となります。しかも費用が一切かからない。おとくぅ。

まあ、そういうのやってもつまんないよね……(冷静)。つまんなくても僕はそういう経済力がないのでバーチャルで我慢します。ちなみに件のIchigoJamはこんなものです。

IchigoJam(イチゴジャム)は低消費電力、低コストのシングルボードコンピュータ・開発プラットフォーム。株式会社jig.jpによって公開され、プログラミング クラブ ネットワークより発売されている。

まあ、マイコンです。BASICで動かせるらしいですよ。詳細が知りたい場合は公式を見よう。



IchigoJam web by WebAssembly
んで、プレイグラウンド見つけたのでここでBASIC動かしていきましょう。一応LED 1命令でLチカ的なやつができるっぽいぞ。今回の遊び場は基盤部分がないのであんまりできることがない……。

まあいいや、なんか作ります。

PLAY {MML} で音楽作れる*1っぽいんだけど、バーチャルだと確認できなかったから腹いせにユークリッドの互除法とか作ってみることにした。

110 PRINT"GCD CALC":PRINT"X is greater than Y":PRINT "X is":INPUT X
120 PRINT "Y is":INPUT Y
130 R=X:IF X<Y THEN PRINT "Invalid. X is greater than Y":END
140 IF Y=0 THEN PRINT "G.C.D. ";X:GOTO 200
150 R=R-Y
160 IF R>=Y THEN GOTO 150
170 X=Y
180 Y=R
190 GOTO 140
200 END

こんな感じです。これで最大公約数がでるはず。

参考
ユークリッドの互除法 - Wikipedia



余談

そういえば公式見てたら、IchigoJam検定と言う謎検定もあるらしいぞ。出題の範囲はこんな感じ。

10級:IchigoJamの利用および基本操作、用語を理解している
9級:変数、単純計算、三角形の計算など、データの範囲を理解している
8級:IF/GOTOなど簡単なコマンドを理解している
7級:論理式の使用、簡単なプログラム(ゲーム)を作成できる
6級:FOR、配列を理解している
5級:GOSUBの利用、高度なプログラム(ゲーム)を作成できる
4級:文字列を理解している
3級:ビット演算、プログラム連携、VRAMを理解している
2級:アルゴリズムを理解している
1級:高度なアルゴリズムを理解している

実質BASIC検定なのではとか訝しんでしまうラインナップですが、実際のところどうなのかはよくわかりません。

*1:MML(Music Macro Languag)が使えるらしい