文●加藤兄Tweet一覧Pocket焼かない食パンの半分にバター、残り半分にイチゴジャムを塗って、半分に折って食べるのがうまいよね。Generator)機能について書くつもりだったのですが、その前にどうしても避けては通れない、キャラクターパターンと16進数とPOKE文の話を先に書いておきたいと思います。1.0のキャラクター一覧になります。以前と比べるとずいぶんにぎやかになりました。1キャラを4分割したような“疑似グラフィック”、ハートやスペードなどのトランプのマーク、おにぎりや戦闘機、宝箱?のようなゲームに使えそうなキャラもあります。画面写真だと隣のキャラとくっついたりしてわかりにくいところもあるので、描き起こしてみたのが下の図です。クリックで拡大します。最後の2行のキャラがおもしろいですね。おにぎり、ネコ、音符、戦闘機、UFO、階段、ドアなどがあります。見るとダブっているキャラもありますね。理由はよくわからないのですが。下の写真は、以前にも掲載したバージョン0.9.7のときのキャラクター一覧です。まんなかあたりと最後のほうのキャラがごっそりと抜けていますね。バージョン1.0のほうは横方向に詰めて表示させています。これはIchigoJamに表示できる文字数が変更になってしまったためです。0.9.7では、1画面36文字×27行(288×216ドット)だったのが、1.0では32文字×24行(256×192ドット)になりました。表示できる文字数が減ってしまったのですが、実は“昔のパソコンによくあった文字数”になったとも言えます。1モードでは同じく32文字×24行でしたので、当時作ったゲームが移植しやすいかもしれません。そんなわけで、0.9.7のように横に余裕をもって表示させると1行に収まらなくなってしまうので、1.0のほうには詰め詰めに表示させているというワケです。上の1.0のキャラクター一覧を表示させたプログラムが以下になります。xx,yy”という命令を使っています(210行)。あ、その上の190行は、左端の“0~9A~F”を表示しているだけですので無視しても結構です。一般にキャラクターコード(ASCIIコードとも言います)の0~31番は制御文字と言われて、画面にキャラクターを表示する以外の目的で使われます。CHR$を使うと表示が乱れる可能性があります。POKEはメモリーに直接数値を書き込む命令ですが、こちらを使うと制御文字ではなく、上の写真のように設定されたキャラクターをすべて表示できるのです。なんでそうなっているかというと、まぁ、IchigoJamはそういう仕様なんだというしかありません。番地はデータを書き込むメモリーの場所のことで、IchigoJamでは#900番地~#BFF番地までが画面表示用のメモリー(いわゆるVRAM)に割り当てられています。この番地内に0~255のデータを書き込めば、自動的に対応する位置にキャラクターが描かれることになります。前に“#”が書かれるとIchigoJamでは16進数として扱われます。#0Fは10進数だと15、逆に10進数で74は16進数で#4Aという具合。VRAMの#900~#BFFは、10進数では2304~3071になりますね。習慣的にメモリーの番地は16進数で書くことになっていますので、以降もそれにそれにならいます。1画面が32文字×24行のとき、座標(x,y)の位置は、次の式で番地に変換できます。上のプログラムの210行では、IとJをFOR~NEXTで回しながら、次々と番地に指定しています。(0,0)から(15,15)まで1つずつ移動しながら、データも1つずつ増やしながら書き込んでいます。ところで、先に挙げた、キャラクター一覧を見ると、おにぎりのキャラの番号は、#EB(10進数だと235)であることがわかります。#EBと同じ意味になります。IchigoJamでは、256個あるキャラクターのうち、#E0~FFまでの32個のキャラクターのデザインを自由に変更できます。すみません、この続きはまた次回。引き続き、当サイトではみなさんの作ったIchigoJamプログラムの投稿を受け付けていますので、よろしくお願いいたします。ネットワークIchigoJamはアスキーストアでも売っています。directive]一覧TweetPocketmixiチェックプログラムあわせて読みたいIchigoJamの世界進出は始まっていた。基板すらかわいくデコるとは。+LAN役を終えた航空機体の外壁を切り出し再利用して作成されるドイツ製キーホルダー「アビエーションタグ」ビジネス出張や海外旅行から普段使いまで。