TI-Nspire CX CAS 版 Neko (Kitty) 公開、iPad 上で動作する Lua スクリプト言語開発 Codea、とびだせ どうぶつの森

以前、紹介したように Texas Instruments Nspire CX CAS Graphing Calculator (以下略 TI-Nspire CX CAS) を購入しました。
TI-Nspire CX CAS では、Lua スクリプト言語でプログラムを組むことができます。

それで、Amazon.com から Kindle

Beginning Lua Programming (Programmer to Programmer)

Beginning Lua Programming (Programmer to Programmer)

を購入し、読んでいる途中なのですが、実際に TI-Nspire CX CAS で Lua スクリプト言語プログラミングに挑戦してみました。
初めての Lua スクリプト言語プログラミングなので、稚拙です。

プログラムの題材は、私が、いろいろなプラットフォームに移植している Neko

Neko (ソフトウェア) - Wikipedia
http://ja.wikipedia.org/wiki/Neko_(%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2)

です。

名前は、Kitty (子猫) にしてみました。良かったら下記 URL からダウンロードしてください。

Kitty Version 1.0.0
猫 (Neko) Version 1.0.0
http://kyoshiaki.sakura.ne.jp/osx/Sample/Kitty.zip

プログラムの実行は、TI-Nspire CAS Student Software の Content Explorer で Computer から Kitty.tns ファイルをダブルクリックして開き、Tab 1.2 を選択すると実行画面が表示されます。Content Explorer を使って TI-Nspire CX CAS 本体 (Connected Handhelds) に Kitty.tns ファイルをドラッグ・ドロップすれば、コピーできます。

TI-Nspire CAS Student Software で Tab 1.2 を開き、メニュー ‘Insert/Script Editor/Edit Script’ を選択すると Script Editor が起動し、ソースを確認することができます。

また、iPad 上で Lua スクリプト言語でプログラムを組むことができる Codea を購入してみました。

App Store
Codea
https://itunes.apple.com/jp/app/codea/id439571171?mt=8
カテゴリ:仕事効率化
\850

折角、覚えた Lua スクリプト言語を活かして見たいですね!

また、年甲斐もなく

とびだせ どうぶつの森
http://www.nintendo.co.jp/3ds/egdj/index.html

を買ってみました。どうぶつの森が、どのようなゲームなのかあまり理解していなかったので、Wiki

とびだせ どうぶつの森@まとめwiki - トップページ
http://www49.atwiki.jp/doubutsunomori3ds/
とびだせ どうぶつの森 攻略まとめWiki
http://ebiyokan.straw-berry.net/butsumori_3ds/
Animal Crossing City, the Animal Crossing wiki - Wild World, City Folk, codes, and more
http://animalcrossing.wikia.com/wiki/Animal_Crossing_Wiki

で確認しながら、進めました。(英語の勉強に、英語版 Wiki も利用しています。)

任天堂公式ページ

とびだせ どうぶつの森
http://www.nintendo.co.jp/3ds/egdj/index.html
とびだせ どうぶつの森:配信プレゼント
http://www.nintendo.co.jp/3ds/egdj/item/present.html
とびだせ どうぶつの森:マイデザイン
http://www.nintendo.co.jp/3ds/egdj/item/design.html
とびだせ どうぶつの森ニンテンドーhttp://www.nintendo.co.jp/3ds/egdj/item/village.html

の配信プレゼント、マイデザイン、ニンテンドー村を訪れるのをお忘れなく。

私が作成したホビット村のスクリーンショットです。(スクリーンショットを撮るには、L+R ボタン同時押しです。スクリーンショットのファイルは、SDカードに保存されるので、パソコンからアクセスするか、3DS 内蔵ブラウザを利用します。)

また、スクリーンショット画像をニンテンドー3DSから取り出すのに、いちいち SD カードを使うのは、面倒です。そこで、ニンテンドー3DS のブラウザ経由で、Mac に保存するプログラムを PHP で組んでみました。

OSX 10.8 Mountain Lion で Web 共有と PHP5 を有効にしているので、~/サイト (~/Sites) フォルダに PHP プログラムを置き、ニンテンドー3DS のブラウザでアクセスし、画像を Mac にアップロードできます。単純なプログラムです。スクリーンショットを付けておきます。要望があれば、公開するかもしれません。

ニンテンドー3DS内蔵ブラウザで、Mac にアクセスした状態。

Safari
http://localhost/~あなたのアカウント/AnimalCrossing/3DS.php
ニンテンドー3DS内蔵ブラウザ
http://プライベートアドレス(例: 192.168.1.2)/~あなたのアカウント/AnimalCrossing/3DS.php
Finder
/Users/あなたのアカウント/Sites/AnimalCrossing/data

アップルスペシャルイベント、Kindle 予約開始、Podcast の更新履歴をメモに追加するアップルスクリプト

Appleは、10月23日午前10時 (日本時間10月24日午前2時)、サンノゼのカルフォルニアシアターで、スペシャルイベント「We’ve got a little more to show you.」を開催しました。

Apple スペシャルイベントのストリーミングは

アップル - イベント - Apple Special Event 2012年10月
http://www.apple.com/jp/apple-events/october-2012/

で見れます。Podcast

Apple Keynotes
http://itunes.apple.com/jp/podcast/apple-keynotes/id275834665
Apple Keynotes (HD)
http://itunes.apple.com/jp/podcast/apple-keynotes-hd/id470664050
Apple Keynotes (1080p)
http://itunes.apple.com/jp/podcast/apple-keynotes-1080p/id509310064

で公開されています。

発表されたおおまかな内容は、

iPad mini

1024 x 768ピクセルの7.9インチ液晶ディスプレイ
A5プロセッサ
FaceTime HD
500万画素 iSight カメラ
Lightning コネクタ
iPad mini with Wi-Fiは、日本を含めた各国で10月26日から予約受付が開始され、11月2日午前8時から販売が開始されます。iPad mini with Wi-Fi + Cellularモデルは11月下旬から販売が開始されます。

iPad (4th generation)

A6X プロセッサを搭載
Lightning コネクタ
iPad (4th generation) with Wi-Fiは、10月26日から予約受付が開始され、11月2日午前8時から販売が開始されます。iPad (4th generation) with Wi-Fi + Cellularは11月下旬から販売が開始されます。なお、ソフトバンクモバイル、KDDI で販売されます。

iMac (Late 2012)

最も薄い部分が5mm
光学ドライブ廃止
USB 3ポート x4
Thunderbolt ポート x2
GigaEthernet
SDXCカードスロット
また、iMac (27-inch, Late 2012)は、SSDとHDによるハイブリッドドライブ「Fusion Drive」を搭載しています。

MacBook Pro (13-inch Retina Late 2012)

2560x1600ピクセル数のRetinaディスプレイを搭載
GPUIntel HD Graphics 4000のみ

Mac mini (Late 2012)

USB3.0 ポートを搭載
C.T.O.で、Core i7/2.6GHz 変更可能
メモリ最大16GB RAMまで増設
1TB Fusion Driveを選択可能

○ iBooks 3.0

iCloudで現在表示しているページを同期可能
新たに韓国語や日本語をサポートし、日本語では縦書き表示に対応しています。

です。

また、2012年10月24日から Amazon.co.jp で、Kindle の予約販売も始まりました。Kindle Store は、11月25日にオープンしました。早速、Kindle Fire HD 16GB を予約しました。

ところで、毎日 iTunes でダウンロードした PodcastiPod touch で聞いています。購読している Podcast が多いので、iTunes

✓次のルールに一致:
ジャンル      が      Podcast    を含む
✓上限 50 項目      選択方法  最後に追加した項目
✓ライブアップデート

上図のような、スマートプレイリスト ‘Last Podcast‘ を作成し、Podcast を聞きたくなったら、このプレイリストで更新された Podcast を確認していました。

ところが、iOS 6 にアップデートすると iPod touch 上の ‘ミュージック’ アプリで、上のスマートリスト ‘Last Podcast‘ の中身が空になってしまいました。

また、PodcastPodcast という名前のアプリで聞くようになってしまい、ミュージックで Podcast が表示されません。(ただし、同期するように設定したプレイリストの Podcast は、Podcast という名前のアプリ内の購読している Podcast にそれぞれ振り分けられます。)

何とか、プレイリスト ‘Last Podcast‘ の中身を確認できないかと考え、アップルスクリプトで iTunes のプレイリスト ‘Last Podcast‘ の名前、追加日、アーティストをそれぞれ OS X Mountain Lion のメモに新規追加するプログラムを作ってみました。

追加されたメモは iCloud 上にあるので、無線のある環境なら iPod touch で、どこからでもアクセスすることができます。

折角、作ったので公開してみることにしました。良かったら、使ってみてください。

Podcast の更新履歴をメモに追加するアップルスクリプト( Podcast.zip )
http://kyoshiaki.sakura.ne.jp/osx/Sample/Podcast.zip

私自身、アップルスクリプトについては詳しくないので、稚拙なプログラムです。時間があったら、拙作 YKBookmarks [ http://kyoshiaki.sakura.ne.jp/osx/tiger.html#ykbo2 ] のように NSAppleScript、NSAppleEventDescriptor を使って Cocoa アプリケーションとして作り直してみたいですね。

AppleScript にも、興味が湧いたので

Learn AppleScript

Learn AppleScript

Learn AppleScrip (Kindle版) (asin:1430222387) を購入してみました。

libqrencode を使用したサンプル QR コード作成ツール QRURL と静的ライブラリ libqrencode.a を公開。

OS X Mountain Lion が 7月25日(米国時間)に発売されました。最初のダウンロードは混むので、一日置いてから Mac App Store でダウンロードしました。何の問題もなく OS X Lion から OS X Mountain Lion アップデートできました。後、念のためクリーンインストールしようか、悩んでいます。

また、北米版プチコンmkII : Petit Computer が 2012年7月19日に発売されました。

Nintendo.com – Petit Computer – Game Info
http://www.nintendo.com/games/detail/_YpH-64pY4G4_tAy1wrKVecHp4pmWSzw
Top Page - Petit Computer
http://www.petitcomputer.com/
スマイルブーム.com
http://smileboom.com/blog/

上のブログによると QR コードも共通仕様なので、プチコンmkII 版のプログラムは、北米版 Petit Computer で遊べるみたいです。(一部、TALK 文などが対応していません。) 私の公開しているプログラムも英語の解説を付けたいのですが、英語が苦手なので無理ですね。ホームページのアクセス解析によると海外のアクセス数が増加しています。また、拙作プチコンmkII 版マインスイーパのリンクを紹介した海外サイトもあります。

話は変わって、以前から QR コードの作成プログラムに興味がありました。

ニンテンドーDSi ウェア ‘プチコンmkII’ は、ホームページ上で SDカードに保存したファイルを QR コード変換ツールを使って QR コードに変換します。

QR コード変換ツールを

PTCUtilities v0.7.3: ROBOMIC(ブログ)
http://micono.cocolog-nifty.com/blog/2012/05/ptcutilities--5.html
PTCUtilites
http://micutil.com/ptcutilities/top.html

上記 URL で公開した人がいます。

Mac 版と Windows 版が作成されていたので、どんなツールで作成されていたのか興味がありました。

実行ファイル PTCUtilities をマウスで右クリック、パッケージの内容を表示を選ぶと

PTCUtilitiesMac/PTCUtilities.app/Contents/MacOS/rbframework.dylib
PTCUtilitiesMac/PTCUtilities.app/Contents/Frameworks/MBS Real Studio Cocoa Plugin.rbx_16.dylib

と表示されます。rb の接頭語から、私が Mac OS 9 時代に使用していた REALbasic を思い出しました。Wikipedia で検索してみると

REALbasic - Wikipedia
http://ja.wikipedia.org/wiki/REALbasic
REALbasicの現状

今は REAL Studio という名称になって発売されているようです。

QR コード作成ツールを作ってみたいと思い、QR コードのライブラリを Google で検索してみました。

libqrencode
http://fukuchi.org/works/qrencode/index.html.ja

上記 URL で公開されている C のライブラリが良さそうです。開発環境をなるべくデフォルトの状態にしたいので、ライブラリのビルドは、Parallels DesktopOS X Lion 上でおこないました。

上記 URL から、ファイル qrencode-3.3.1.tar.gz をダウンロードし、ダブルクリックすると qrencode-3.3.1 という名前のフォルダが作成されます。ターミナルでそのフォルダに移動し、./configure を実行すると pkg-config のバージョンが古いというエラーが出ます。

それで Homebrew を使って

brew install pkg-config

最新の pkg-config をインストールしました。

./configure
make

で問題なくビルドに成功しました。しかし、静的ライブラリ libqrencode.a を作ってくれません。また、ビルドして作成される実行ファイル qrencode は、png ライブラリを使用しています。しかし、libqrencode ライブラリ自体は、どのライブラリにも依存していませんでした。

それで Xcode で無理やり、静的ライブラリを作成することにしました。png ライブラリを使用している qrenc.c 以外の拡張子が C のファイルと config.h 含むヘッダファイルをプロジェクトに追加し、C のファイルのヘッダ読み込み

#if HAVE_CONFIG_H
# include "config.h"
#endif

の箇所から

#if HAVE_CONFIG_H
#endif

を削除し、ビルドしてみました。警告が表示されますが、ビルドに成功しました。

簡単な QR コード作成ツール QRURL と静的ライブラリ libqrencode.a を一緒に公開します。

QRURL
libqrencode.a
http://kyoshiaki.sakura.ne.jp/osx/Sample/qrcode.zip

ここで、振り出しに戻るのですが、

リンク集 - プチコンまとめWiki
http://wiki.hosiken.jp/petc/?Link
PTC2QR

上記 URL で Ruby のソース付きQR コード変換ツール PTC2QR が公開されています。

ocra-1.2.0 Documentation
http://ocra.rubyforge.org/

初めて知ったのですが、Ruby のソースファイルから Windows 実行ファイルを作るプログラム (ocra 上記 URL 参照) があるんですね!

PTC2QR のソースを Ruby から Objective-C に書き換えてみました。何とか動作するものができました。著作権上、公開は無理なので、スクリーンショットだけ載せておきます。