見出し画像

IchigoJamで文字をXORしてみた

今週も残り数時間……
アレを書きたいけど、寝倒したり、急ぎでない開発をしたり、AtCoderの問題が解けずに悩んだり、といった頭が悪いゆえの愚行をしまくった結果、今週も作業できなかった……
頭が悪くていいネタを考えられないから、今週も IchigoJam 用の適当なプログラムを書いとくか……
面白そうなネタを思いついたけど、少ない残り時間で実装しきれる自信が無い……
もっとすぐ実装できる雑なネタを……

※IchigoJamはjig.jpの登録商標です。

今回やること

2個の文字 (キャラクターパターン) をXORして表示する。

実装

プログラム

10 ' モジ XOR
20 CLS:A=0:B=0
30 K=INKEY():IF!KWAIT1:GOTO30
40 K=K&#FF:IFBTN()B=KELSEA=K
50 FOR Y=0 TO 7
60 C=PEEK(8*A+Y):D=PEEK(8*B+Y)
70 FOR X=0 TO 7
80 LOCATE 2+X,8+Y
90 ?CHR$(C>>(7-X)&1*#8F);
100 LOCATE 22+X,8+Y
110 ?CHR$(D>>(7-X)&1*#8F);
120 LOCATE 12+X,8+Y
130 ?CHR$(C^D>>(7-X)&1*#8F);
140 NEXT:NEXT
150 LOCATE 0,16:GOTO30

このプログラムは、CC0 1.0 でライセンスする。

画像
余裕で1画面に収まる

操作方法

  • 本体のボタンを離した状態でキー/UART入力:左側の文字を設定する

  • 本体のボタンを押した状態でキー/UART入力:右側の文字を設定する

実行例

左側の文字と右側の文字をXORした結果が、真ん中に表示される。

似た文字をXORする例

似た文字をXORすると、それらの違う部分がはっきりわかる。

画像
0 (ゼロ) と O (オー) のXORをした
画像
D と B のXORをした
画像
8 と S のXORをした

関係ない文字をXORする例

関係ない文字をXORすると、よくわからない図形が出てくる。

画像
A と F のXORをした
画像
K と W のXORをした
画像
& と S のXORをした

結論

IchigoJam で文字をXORしてみたら、文字の共通点や相違点がわかりやすくなったり、よくわからない図形になったりした。


いいなと思ったら応援しよう!

コメント

ログイン または 会員登録 するとコメントできます。
あなたも書ける! note、はじめよう
IchigoJamで文字をXORしてみた|みけCAT
word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word

mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1