その名の通り、ビンゴの時にランダムに数を選んでくれるツールです。
KidsPod;アプリで創りました。

青のボタンでスタート/ストップ、緑のボタンで今までの履歴を見ることができます。
範囲は1〜75です。

こちらから遊べます。
ビンゴカウンター

子供会の行事や、お花見イベントなどで、是非使ってみてください!

地中脱出ゲームもどうぞ!
以前創った「お仕事サンタ」がPCNで発売されました!


お仕事サンタゲーム ¥300

ブログで書いたものを改良して、BGMも付いています。
ぜひ、お買い求めください!

地中脱出ゲームもよろしくお願いします。


※音が小さいので、音量大でお聞きください。

ブラックホールが、いろいろなスプライトを吸い込むPan Cakeプログラムです。
ゲーム性はありませんが、デモ画面などに使えます。

プログラム ver.IchigoJam 1.1.1
10 CLV:CLT:VIDEO 0:?"PC VIDEO 1":?"PC SPRITE START 06":GSB1000:GSB1100:?"PC SPRITE CREATE 02 54":?"PC SPRITE CREATE 03 55":?"PC SPRITE MOVE 02 28 15":?"PC SPRITE MOVE 03 99 99":Q=0
20 IF40>AA=A+1
30 IF40<AA=A-1
40 IF22>BB=B+1
50 IF22<BB=B-1
60 IF40>CC=C+1
70 IF40<CC=C-1
80 IF22>DD=D+1
90 IF22<DD=D-1
95 IFTICK()/30>0GSB5000
100 ?"PC SPRITE MOVE 00 ";HEX$(A,2);" ";HEX$(B,2):?"PC SPRITE MOVE 01 ";HEX$(C,2);" ";HEX$(D,2):WAIT 7
110 IF(A=40)*(B=22)L=RND(7)+65:?"PC MUSIC SCORE 00 01 30 ";CHR$(L):GSB1000
120 IF(C=40)*(D=22)?"PC MUSIC SCORE 01 01 30 ";CHR$(RND(7)+65):GSB1100
130 GOTO20
1000 ?"PC SPRITE CREATE 00 FF":A=RND(80):B=RND(45):?"PC SPRITE CREATE 00 ";HEX$(RND(128),2):?"PC SPRITE MOVE 00 ";HEX$(A,2);" ";HEX$(B,2):RTN
1100 ?"PC SPRITE CREATE 01 FF":C=RND(80):D=RND(45):?"PC SPRITE CREATE 01 ";HEX$(RND(128),2):?"PC SPRITE MOVE 01 ";HEX$(C,2);" ";HEX$(D,2):RTN
5000 IF Q=0 Q=1:?"PC SPRITE MOVE 02 99 99":?"PC SPRITE MOVE 03 28 15":CLT:RTN
5010 Q=0:?"PC SPRITE MOVE 03 99 99":?"PC SPRITE MOVE 02 28 15":CLT:RTN

ゲームアプリ、「地中脱出ゲーム」もよろしく!

明けましておめでとうございます。



Hana道場の3Dプリンターでサイコロをつくってみました。
1の面をMASAHARUのMにしてみました。

さて、MASAHARUの魂のプログラムを始めて今日で1年が経ちました。
独断と偏見で、去年の5大ニュースをまとめてみました。

1位:地中脱出ゲームがスマホアプリ化!
    App Store・Google Playからインストール可能
2位:PCNこどもプロコン2015(メガネ工房)・(化石レーダー) 共に最優秀賞をいただきました。
3位:WRO(World Robot Olympiad)2015 全国大会(小学生エキスパート部門)で5位になりました。
4位:Ichigo Jamで作ったゲームジャンピングゲット稲田政調会長に遊んでもらいました。動画はこちら
5位:電子工作マガジン2015号に僕の作ったゲームが載りました。

去年もいろいろありました。
今年もよろしくお願いします。

Kids Pod;で作ったゲーム地中脱出ゲーム ぜひインストールして、遊んでみてください。



正月にちなんで、凧上げをするゲームを作りました。
上下キーで、凧を上下させます。Wは風の強さ(5段階)、Sはスコアです。
スコアは、凧が一番上に上がっている時だけ増えます。

凧は予備が2つあって、凧が飛ばされる状況は、
・風の強さが5の時に凧が6マス以上上がっている時
・凧か凧糸にドローン(クラブ)が引っかかった時
です。



凧はPOKEを使って描いたドット絵、
凧糸は、かな文字の「・」を使っています。

プログラム ver.IchigoJamBASIC 1.1.1
 ※赤文字は、小文字はAltキーを押しながら、大文字はAltキー+Shiftキーを押しながら、かな文字は、右Altキーかカタカナ・ひらがなキーを押してから入力してください。

10 CLS:CLV:CLT:X=19:Y=19:Z=2:N=0:T=0:H=0:M=29:D=60:POKE #700,#20,#50,#A8,#54,#2C,#1E,#09,#04:LC20,20:?”t”:LC28,0:?" 00”:CLT
20 LCX,Y:?”0”:LC0,0:?" W:";Z;" S:";S;" ":IF C=1 LCD/2,V:?”6 ":D=D-1:IF D=0 LCD/2,V:?" ":C=0
30 K=INKEY()
40 IF (K=30)*(Y>2) BEEP:LCX,Y:?””:X=X-1:Y=Y-1:CLK
50 IF ((K=31))*(Y<19) BEEP:LCX,Y:?" ":X=X+1:Y=Y+1:CLK
54 IF Y!=2 CLT
55 IF (Y=2)*(TICK()/60=1) CLT:BEEP2:S=S+1
60 IF (Y<14)*(Z=5) J=0:GOSUB 95
70 A=A+1:IF A%20=0 B=RND(3)-1:IF (Z>1)*(B=-1) Z=Z+B:ELSE IF (Z<5)*(B=1) Z=Z+B
75 IF A=150 D=60:C=1:A=0:V=RND(15)+2
80 IF (D=(V+13))*(Y<V+1) J=0:GOSUB 95
90 GOTO 20
95 LCX,Y" "
96 LCX-(J-1),Y:?" ":LCX-J,Y:?”0”:J=J+1:IF X-J>-1 WAIT4:BEEP1:GOTO 96:ELSE LCX-J,Y:?" ":J=0
99 X=X+1:Y=Y+1
100 LCX,Y:?" ":X=X+1:Y=Y+1:IF Y<19 GOTO 100:ELSE LCX,Y:?" "
110 LCM,0:?" ":M=M+1
120 IF M=32 LC10,10:?"GAME OVER":END
130 LC20,20:?”t”:RETURN


風力を記号で表した、自動制御のプログラムも作りました。



プログラム

10 CLS:CLV:CLT:X=19:Y=19:Z=2:N=0:T=0:H=0:M=29:D=60:POKE #700,#20,#50,#A8,#54,#2C,#1E,#09,#04:LC20,20:?”t”:LC28,0:?" 00”:CLT
20 LCX,Y:?”0”:LC0,0:?"W:";
21 IF F<Z F=F+1:?"~";:GOTO21:ELSE ?" ":F=0
22 LC10,0:?" S:";S;" ":IF C=1 LCD/2,V:?”6 ":D=D-1:IF D=0 LCD/2,V:?" ":C=0
30 K=INKEY()
40 IF ((Z=1)+(Z=2)+(Z=3))*(C=0)*(Y>2) BEEP:LCX,Y:?””:X=X-1:Y=Y-1:CLK
50 IF ((Z=4)+(Z=5)+(C=1))*(Y<19) BEEP:LCX,Y:?" ":X=X+1:Y=Y+1:CLK
54 IF Y!=2 CLT
55 IF (Y=2)*(TICK()/60=1) CLT:BEEP2:S=S+1
60 IF (Y<14)*(Z=5) J=0:GOSUB 95
70 A=A+1:IF A%20=0 B=RND(3)-1:IF (Z>1)*(B=-1) Z=Z+B:ELSE IF (Z<5)*(B=1) Z=Z+B
75 IF A=150 D=60:C=1:A=0:V=RND(15)+2
80 IF (D=(V+13))*(Y<V+1) J=0:GOSUB 95
90 GOTO 20
95 LCX,Y:?" "
96 LCX-(J-1),Y:?" ":LCX-J,Y:?"0”:J=J+1:IF X-J>-1 WAIT4:BEEP1:GOTO 96:ELSE LCX-J,Y:?" ":J=0
99 X=X+1:Y=Y+1
100 LCX,Y:?" ":X=X+1:Y=Y+1:IF Y<19 GOTO 100:ELSE LCX,Y:?" "
110 LCM,0:?" ":M=M+1
120 IF M=32 LC10,10:?"GAME OVER":END
130 LC20,20:?”t”:RETURN


はやぶさ2が、地球(画面右上)の引力を使って惑星、「Ryugu」(画面左下)に着陸するゲームです。
ここぞ、と思うところでスペースキーを押してタイミングを合わせます。
成功したら着陸、失敗したら宇宙人が表示されます。

プログラム ver.IchigoJamBASIC1.1.1 ※赤文字は、恒例のかな入力・隠し文字入力です。


スロット0

1 CLS:CLV:A=0
2 LC9,9:?"____"
3 LC8,10:?"/    `"
4 LC7,11:?"'      "
5 LC6,12:?"        "
6 LC6,13:?"!        |"
7 LC6,14:?"|        ;"
8 LC6,15:?"        ,"
9 LC7,16:?"¥      ,"
10 LC8,17:?".._ ."
11 LC20,3:?"8"
20 IFA=0LC19,0:?" ":LC20,0:?""
30 IFA=1LC20,0:?" ":LC21,0:?""
40 IFA=2LC21,0:?" ":LC22,1:?""
50 IFA=3LC22,1:?" ":LC23,2:?""
60 IFA=4LC23,2:?" ":LC23,3:?""
70 IFA=5LC23,3:?" ":LC23,4:?""
80 IFA=6LC23,4:?" ":LC22,5:?""
90 IFA=7LC22,5:?" ":LC21,6:?""
100 IFA=8LC21,6:?" ":LC20,6:?""
110 IFA=9LC20,6:?" ":LC19,6:?""
120 IFA=10LC19,6:?" ":LC18,5:?""
130 IFA=11LC18,5:?" ":LC17,4:?""
140 IFA=12LC17,4:?" ":LC17,3:?""
150 IFA=13LC17,3:?" ":LC17,2:?""
160 IFA=14LC17,2:?" ":LC18,1:?""
170 IFA=15LC18,1:?" ":LC19,0:?""
171 IFINKEY()=32LRUN1
180 BEEP:A=A+1:IFA<16GOTO20:ELSEA=0:GOTO20


スロット1

1 IFA=0X=20:Y=0
2 IFA=1X=21:Y=0
3 IFA=2X=22:Y=1
4 IFA=3X=23:Y=2
5 IFA=4X=23:Y=3
6 IFA=5X=23:Y=4
7 IFA=6X=22:Y=5
8 IFA=7X=21:Y=6
9 IFA=8X=20:Y=6
10 IFA=9X=19:Y=6
11 IFA=10X=18:Y=5
12 IFA=11X=17:Y=4
13 IFA=12X=17:Y=3
14 IFA=13X=17:Y=2
15 IFA=14X=18:Y=1
16 IFA=15X=19:Y=0
100 LCX,Y:?”
110 X=X+(A=0)+(A=1)+(A=2)+(A=3)+(A=4)+(A=5)-(A=7)-(A=8)-(A=9)-(A=10)-(A=11)
120 Y=Y+(A=1)+(A=2)+(A=3)+(A=4)+(A=5)+(A=6)+(A=7)-(A=9)-(A=10)-(A=11)-(A=12)-(A=13)-(A=14)-(A=15)
130 IF (X>0)*(X<30)*(Y>0)*(Y<20)*(SCR(X,Y)=0)+(SCR(X,Y)=32) BEEP6:GOTO 100
140 IF A=7 LC8,13:?”セイコウ!”:ELSE LCX,Y:?”d”:LC8,13:?”シッパイ
150 WAIT 180:LRUN1


先日投稿した、「お仕事サンタ」、「パンケーキキャッチ」、「サウンドバウンド」が、電子工作マガジン2015冬号に掲載されました!
秋に比べて、今季はBASICマガジンの投稿が盛りだくさんでした。
ぜひ買ってみてください。


地中脱出ゲーム  KidsPod;バージョン」が、App Store/Google Playで配信を開始しました!
App Storeはこちら
Google Playはこちらから
購入できます。
ぜひ遊んでみてください。


ふと思い立って難しいスライドパズルがしたくなり、
10x10で作ってみました。
上の動画は、自動でランダムに混ぜている状態です。
500回混ぜていますが、難しい人は100回、簡単すぎる人は1000回にしてもいいです。
僕は500回で混ぜて、完成するのに10分ほどかかります。
混ぜるのが止まったら、右の完成図を見ながらカーソルキーで文字や数字を動かします。
皆さんも挑戦してみてください。

プログラム ※赤文字はア〜ユまで2行ずつかな文字で入れてください。

10 CLS:CLV:X=9:Y=9
20 LC0,0:?"0123456789"
21 LC15,0:?"0123456789"
30 LC0,1:?"ABCDEFGHIJ"
31 LC15,1:?"ABCDEFGHIJ"
40 LC0,2:?"KLMNOPQRST"
41 LC15,2:?"KLMNOPQRST"
50 LC0,3:?"UVWXYZabcd"
51 LC15,3:?"UVWXYZabcd"
60 LC0,4:?"efghijklmn"
61 LC15,4:?"efghijklmn"
70 LC0,5:?"opqrstuvwx"
71 LC15,5:?"opqrstuvwx"
80 LC0,6:?"yzアイウエオカキク
81 LC15,6:?"yzアイウエオカキク
90 LC0,7:?”ケコサシスセソタチツ
91 LC15,7:?”ケコサシスセソタチツ
100 LC0,8:?”テトナニヌネノハヒフ
101 LC15,8:?”テトナニヌネノハヒフ
110 LC0,9:?”ヘホマミムメモヤユ
111 LC15,9:?”ヘホマミムメモヤユ
112 A=0
113 B=RND(4)
114 IF (B=0)*(X>0) X=X-1:S=SCR(X,Y):LCX+1,Y:?CHR$(S)
115 IF (B=1)*(X<9) X=X+1:S=SCR(X,Y):LCX-1,Y:?CHR$(S)
116 IF (B=2)*(Y>0) Y=Y-1:S=SCR(X,Y):LCX,Y+1:?CHR$(S)
117 IF (B=3)*(Y<9) Y=Y+1:S=SCR(X,Y):LCX,Y-1:?CHR$(S)
118 A=A+1:LCX,Y:?" ":IF A<500 GOTO 113
120 LCX,Y:?" "
130 K=INKEY():IF K=0 GOTO130
140 X=X-((K=29)*(X>0))+((K=28)*(X<9)):Y=Y-((K=31)*(Y>0))+((K=30)*(Y<9)):S=SCR(X,Y):LCX+((K=29)*(X>-1))-((K=28)*(X<10)),Y+((K=31)*(Y>-1))-((K=30)*(Y<10)):IFS!=32?CHR$(S)
145 LCX,Y:?" "
150 GOTO 130


たまに飛んでくるUFOを上キーでジャンプしてよけ、
下に家があったらスペースキーでプレゼントを落としましょう。

ジャンプは、放物線を使ってリアルに表現しています。
プレゼントが、屋根に落ちたら1ポイント入ります。
プレゼントを何もないところに落とす、または横からUFOに当たるとゲームオーバーになります。
上からつぶすのはセーフです。

サンタは、POKEを5文字分使って作っています。


赤小文字はAlt + アルファベット、数字
赤大文字はAlt + Shift + アルファベット
で入力してください。
隠し文字の分からないところは写真を参考にしてください。

プログラム

1 POKE #700,#C0,#60,#70,#F8,#70,#70,#E6,#F8:POKE #708,#70,#70,#FE,#48,#49,#4A,#FC,#00:POKE #710,#82,#24,#0E,#3F,#64,#A4,#24,#00:POKE #718,#00,#00,#00,#00,#00,#0E,#1F,#3F
2 POKE #720,#3F,#7F,#7E,#3E,#1C,#00,#00,#00
10 CLS:CLV:X=31:Y=11:V=-4:R=0:N=8:L=0:M=0:U=0
30 WAIT 5:IF R=1 LCN,B:?" "
35 SCROLL3:LCX-1,22:?"H"
40 LC7,Y-1:?" 30":LC7,Y:?" 412":LC0,0:?" P:";U:IF R=1 LCN,B:?" ":B=B+1:LCN,B:?"m"
41 IF (SCR(N,B+1)=157)+(SCR(N+1,B+1)=157)+(SCR(N,B+1)=72)+(SCR(N+1,B+1)=72)+(SCR(N+1,B+1)=95) U=U+1:R=0
45 IF B>20 LC0,5:END
50 K=INKEY():IF K=30 LC8,Y-1:?"  ":LC8,Y:?"   ":L=1
60 IF K=32 R=1
65 IF R=0 B=Y
67 IF (SCR(11,Y)=241)+(SCR(10,Y+1)=241)+(SCR(9,Y+1)=241)+(SCR(8,Y+1)=241) END
70 M=M+1:IF M=20 M=0:LCX-3,15:?"_":LCX-4,16:?"T SH":LCX-5,17:?"T   S":LCX-6,18:?"T     S":LCX-5,19:?"I   I":LCX-5,20:?"I   I":LCX-5,21:?"I   I":LCX-5,22:?"MHHHM"
75 IF RND(15)=0 LCX-1,11:?"h"
90 IF L=1 LC8,Y-1:?"  ":LC8,Y:?"   ":Y=Y+V:V=V+1:IF V=5 V=-4:L=0
200 GOTO 30