create every day - 福野泰介の一日一創

4方向に動くキャラを生成するBASICプログラム - よこはまYYラボさん来鯖

2015/11/23 23:55:00
#IchigoJam #yokohama 

オープンデータで縁が深い横浜市、「よこはまYYラボ」さんがご来鯖!
Hana道場、西山公園を通って、鯖江市役所にて市民協働やオープンデータについて情報交換。
横浜でもIchigoJam体験会しましょう!

8x8のドットでつくるシンプルなキャラクターですが、自在に動かせると楽しいです。

例えば人のキャラクターをカーソルで上下左右に動かすプログラムはこんな感じ。

200 'CHAR MOVE 210 X=32/2:Y=24/2:C=249 220 K=INKEY() 230 X=X+(K=RIGHT)-(K=LEFT) 240 Y=Y+(K=DOWN)-(K=UP) 250 CLS:LC X,Y:?CHR$(C); 260 WAIT 10:GOTO 220

自分でキャラクターをつくるには、キャラクターパターンのメモリ書き換えます。
上書きモードに切り替えて0と1で8x8のパターンを描くと便利です。
魚をかいてみました。
(#はIchigoJam BASICでは16進数を表す記号です)

10 'CHAR GENERATOR 20 POKE#700,`00011000 30 POKE#701,`00111101 40 POKE#702,`01000011 50 POKE#703,`10100011 60 POKE#704,`01000101 70 POKE#705,`00110100 80 POKE#706,`00001100 90 POKE#707,`00000000

210行のキャラクターコードを人の249から作成した224(=#700/8)に変更します。

210 X=32/2:Y=24/2:C=224

つくったキャラクターを4方向に向かせてみましょう。
ちょっとややこしいですが、とりあえずそのまま打ち込んで使ってみるといいです。

100 'H-FLIP 110 FOR I=0 TO 7:N=PEEK(#700+I):M=0 120 FOR J=0 TO 7:IF N&(1<<J) M=M+1<<(7-J) 130 NEXT:POKE#708+I,M:NEXT 140 'ROTATE 150 FOR I=0 TO 7:M=0 160 FOR J=0 TO 7:IF PEEK(#708+J)&(1<<(7-I)) M=M+1<<J 170 NEXT:POKE#718+I,M:NEXT 180 'V-FLIP 190 FOR I=0 TO 7:POKE#710+I,PEEK(#71F-I):NEXT

キーを押した方向にキャラクターを向かせましょう。

245 IF K>=LEFT&&K<=DOWN C=224+K-LEFT

こんな感じで操れます!

はるばる横浜からのご訪問、ありがとうございました!
「よこはまYYラボ」の皆さんが!!!。|『さばえ.jp』百さんのブログです
よこはまYYラボ

今週のIchigoJamワークショップ情報
11/24 Hana道場 in 鯖江 17:00-17:50
IchigoJamプログラミングスクール
11/26 東京半蔵門のSAPジャパン本社内
Hana道場 こどもプログラミングスクール in Tokyo | Peatix
11/28 新宿さくらインターネット社内でIchigoJamのワークショップも開催!
KidsVenture

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY 福野泰介 - Taisuke Fukuno / @taisukef / high-res profile image