「Advent Calendar 2023 - Qiita」には、様々なジャンルの記事が毎日更新されるので、新技術と一気に仲良くなるチャンス!
「IchigoJam Advent Calendar 2023」
今年8回目となるIchigoJamのAdvent Calendarもスタートしています!
「Advent Calendar - SHIROのIchigoJam日記」
初回記事は、PCN上田のSHIROさんによるIchigoJamでつくるAdvent Calendarから!
ARのフレームワーク「egxr.js」でトランプゲームを作ってみたくなったので、まずはIchigoJamでプロトタイピング!
IchigoJam絵文字を表示してみます。
FORI=224TO255:?CHR$(I);I;:NEXT
228からスペード、ハート、クローバー、ダイヤとスートが並んでいます。スートをランダムに表示するには、CHR$とRNDを使えばOK!
?CHR$(228+RND(4)) ♥
234の「10」もトランプ用に用意した絵文字です。
1から9は数字で、10は絵文字、11から13は、JQKと表示するプログラムを作ります。
500 @PUTN:IFN<10?N;ELSEIFN=10?CHR$(234);ELSEIFN=11?"J";ELSEIFN=12?"Q";ELSE?"K"; 510 RTN N=11:GSB@PUTN J
本体のプログラムとは遠い行番号、適当に500としました。
トランプのカードを表す、スートと数をひとつの変数で扱えたら便利です。16bitの変数、-32768から32767まで入るので、余裕です。ここは単純にスートを100倍した数を使うことにしましょう。
600 @PUTC:?CHR$(228+C/100);:N=C%100:GSB@PUTN:RTN C=109:GSB@PUTC ♥9
100で割るとスート、100で割った余りが数。
トランプのカード表示プログラムができました!
全種類表示してみましょう!
10 FORI=1TO13:FORJ=0TO3:C=J*100+I:GSB@PUTC:?" ";:NEXT:?:NEXT:END
おまけに、赤色のハートとダイヤは縁取りパターンに変えてみます。
ハートのキャラクターコードは229、パターンのアドレスはその8倍。2進法でパターンを表示しながら、書きやすい16進法でパターンを書き換えました。
打ち込みしやすい10進法にしたものがこちら。
2 POKE1834,146,130,68,40:POKE1849,40,68,130,68,40
レッツ、メイク、トランプゲーム!
最初から全部理解する必要はありません。まずは打ち込んで遊ぶだけでOK。
IchigoJamプリントや、最近出た書籍「3・4年生 プログラミング」「5・6年生 プログラミング」「IchigoJamでできるテキストプログラミングの授業」などで、だんだん慣れていきましょう!
「IchigoJamでできるテキストプログラミングの授業 | プログラミング,テキストプログラミング | | KUMON SHOP」
今年1年のふりかえり、IchigoJam Advent Calendar、ぜひお気軽に参加ください!