2010年04月11日

Javaアプレット版を開発

やっと完成した5つの宝島。しかしiアプリだけではやってくれる人もあまり多くない。
ここは枯れた技術とはいえ誰しもがJavaで遊べる常套手段、Javaアプレットに5つの宝島を移植してしまおう! 
で、このアプレットへの移植なんだけど、実はiアプリのDOJAよりやれることが多いぶん、問題となることは殆どない。ファイルの大きさ制限は存在しないし、グラデーションやら半透明処理やら画像処理の効果はふんだんに使えるしで、かえって快適なくらいだ。

ただしネックが1点だけある。ゲームデータのセーブおよびロードだ。アプレットはセキュリティの関係上、ローカルリソースにデータを保存することができない。つまりセーブデータをどこかに保存するということができないため、ゲームクリアするまでブラウザを上げっぱなしということになる・・・

ってそんなことできるかい!

なので回避手段を考えることにする。

復活の呪文を入れてください

さてセーブ機能のなかった太古の昔のファミコンソフト、このとき時間のかかるゲームはどのように続きをやることにしていたかというと、ドラクエ1、2で有名な復活の呪文だね。ゲームに理解のない当時のご家庭では、「ふぬめのておはわ…」などと書かれた謎の紙を字の練習だと思って捨ててしまう親御さんも多く、数々の悲劇を生んでいたと言われるアレだ。

これと同じことを5つの宝島でもやってやれば言い訳だ。何、複雑なパスワード生成文なんて必要ない。そこら辺にころがっているbyte[]←→String変換アルゴリズムを使って、セーブデータのbyte配列を文字にしてどこかに出力してやればいいのよ

添付ファイルの王道、base64

byte[]配列を文字列化するにあたって一番有名なアルゴリズムは、メールの添付ファイルなんかで使われているbase64だね。

http://ja.wikipedia.org/wiki/Base64

こういう便利なのはJavaの標準機能として持っていて欲しいんだけど、残念ながらJavaにはついてないいようだ・・・Jakarta commonsにあるらしいんだけど、アプレットとかで使うにはコレ署名とかいるんでしょ?面倒だなおい。

しょうがない、ないなら作るパクるの精神で自作のbase64アルゴリズムを実装してやろうじゃないの。Wikipedia見たら実装は簡単そうだし。次回はソレなー。
posted by LoyalTouch at 21:50| Comment(0) | TrackBack(0) | 5つの宝島 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.seesaa.jp/tb/146264319

この記事へのトラックバック