HONDAジェット

熊本空港にHONDAジェットが来るというので息子と一緒に見に行った。
10時過ぎに到着したら既にHONDAジェットが止まっており、大勢の人々が周りを囲んでいるのが見える。しかしここからでは何をやっているのかはわからない。

HondaJet1

既に到着して大勢で何かやっている。

暫く見ていたが動く気配がないので一旦現場を離れて昼過ぎに戻ってきたが、やはり同じ場所に止まっていた。しかしその内エンジンが始動しRUNWAY07から離陸した。
離陸直後に右旋回しながら上昇していく。カッコイイ。
エンジン音は旅客機と比べるとかなり静かに思えた。
場周経路を回り、滑走路上ではローパスしてくれる。
熊本空港ではセスナがタッチアンドゴーを繰り返すのはよく見かけるが、さすがジェットだと一周するのが早い。あっという間に4周して着陸した。

ビジネスジェットって事は後々熊本で見る機会は少なそうな気がする・・・。
HondaJet2

HondaJet3

HondaJet4

HondaJet5

Maker Faire Tokyo 2015

Maker Faire Tokyo 2015の出展者募集中であるが、今年は出展せずに見るだけにしようと考えている。
初めて参加したのが2013年のYamaguchi Mini Maker Faireで、その後2013,2014年の東京と、今まで出展しかしておらず他のブースをゆっくりと見れなかった。なので今回自分では出展せずにゆっくりと見てこようと思う。

IchigoJamでHIT&BLOW

ブームに乗ってIchigoJamを買ってみた。

「こどもパソコン」というキャッチフレーズのIchigoJam
しかしこどもに渡さずオッサンが楽しんでいるのだ。

キットは下の写真の内容である。

IchigoJam1

IchigoJam キット

 

組み立てるとこんな感じ。電源をモバイルバッテリで供給しポータブルDVDプレーヤに出力したのでモバイルパソコンとなった。

IchigoJam2

IchigoJam 動作風景

しかし小さい画面ではやりにくいのでプログラミングの際はPCとシリアル接続することにした。これならいつものPCでTeraTermから入力できてやりやすい。

と言う訳で、久々のBASICなので懐かしいHIT&BLOWを作ってみた。
昔のマイコンゲームと言えばまずこれだろう。
若者は知らないかもしれないのでルールを書くとだいたい次の通り。

  1. コンピュータが4桁の(各桁の数字が重複しない)数値をランダムに生成する。
    これは現時点では表示されない。
  2. そしてプロンプトが出てきて人間がこれと思う4桁の数値を入力して当てていく。
  3. 数値を入力すると、コンピュータから次のヒントがでる。
    ・桁も数値も一致する事をHITと呼び、この数を表示する。
    ・桁は違うが数値が一致する事をBLOWと呼び、この数も表示する。
  4. たとえばコンピュータが用意した数値が1234だとして人間が1426と入力すると、HIT=1,BLOW=2というヒントが表示される。
  5. 要は入力した値に応じてHITとBLOWが表示され、このヒントを元に正解を推測していく。いかに少ない回数で当てるかを競うゲームなのだ。

なおIchigoJamに入っていたファームウェアバージョンは0.9.7で、このバージョンだとFOR文が使えずエラーとなるのでIFとGOTOでループを作った(さすがに大昔使ったTK-80BSでもFORは使えたが・・・)。 でも最新ファームならFORも可能だそうです。

リスト:

1 REM *** HIT & BLOW ***
5 I=0
10 IF I>3 THEN GOTO 70
20 [I]=RND(10)
29 J=0
30 if J>=I THEN GOTO 60
40 IF [J]=[I] THEN GOTO 20
50 J=J+1: GOTO 30
60 I=I+1: GOTO 10
70 REM print ">>>",[0],[1],[2],[3]
100 INPUT ">>>",A
110 [10]=A/1000
120 [11]=(A%1000)/100
130 [12]=(A%100)/10
140 [13]=A%10
150 REM print [10],[11],[12],[13]
200 H=0:B=0:
209 I=0
210 IF I>3 THEN GOTO 240
220 IF [I]=[I+10] THEN H=H+1
230 I=I+1: GOTO 210
240 IF H=4 THEN GOTO 1000
300 I=0
310 IF I>3 THEN GOTO 370
320 J=10
330 IF J>13 THEN GOTO 360
340 IF [I]=[J] THEN B=B+1
350 J=J+1: GOTO 330
360 I=I+1: GOTO 310
370 B=B-H
380 PRINT "HIT:",H,"BLOW",B
400 GOTO 100
1000 print "ANSWER>",[0],[1],[2],[3]