WonderWitch版ローグ

ワンダースワンのプログラミング環境 WonderWitch 上で動くローグがありました。
実物みてみたいなぁ。


以下のサイトの
http://www.qute.co.jp/products/WonderWitchPlayer/wwplayer.htm


以下の画像がそれ。
http://www.qute.co.jp/products/WonderWitchPlayer/images/rogue1.gif

携帯端末用に細かな修正がされている事がうかがえます。

ローグの攻略法3 改訂版

ローグの攻略の参考になったサイトの紹介です。

d:id:l07steps:20060815#p1 のログで紹介したサイトが別URI で復活していました。


http://www.sky.sannet.ne.jp/at-sushi/rogue.html

内容も若干更新されていますので、以前サイトを見た人ももう一度読み直してみてはいかがでしょうか。

まっちゃ139初参加

まっちゃ139というセキュリティコミュニティ主催の勉強会に初参加。
http://matcha139.hiemalis.org/hiki/


情報セキュリティはプログラマ一人が考えるものでない事を再認識。
有意義な一日でした。


会社でもうまく上の人に啓蒙できる機会があれば言っていきたいなぁ。

アンサイクロペディアで学ぶローグ

アンサイクロペディアでは、
ローグの項目はなくて、イェンダーの魔除けの項目があるという何ともすごい状況です。
http://ja.uncyclopedia.info/wiki/%E3%82%A4%E3%82%A7%E3%83%B3%E3%83%80%E3%83%BC%E3%81%AE%E9%AD%94%E9%99%A4%E3%81%91


と思ったら、関連項目の
http://ja.uncyclopedia.info/wiki/%E3%82%AE%E3%83%A3%E3%83%AB%E3%82%B2%E3%83%BC%E3%81%AE%E6%AD%B4%E5%8F%B2
に衝撃の真実が :-)。

Garnet OS(Palm OS) でローグ

Garnet OS*1 上で動くローグ。
iRogue: Rogue for PalmOS


画面はシンプルにまとまっていて良い感じがします。
バーでメッセージ領域・パラメータ領域を区切るとかっこよく見えますね。

移動方法は、キーボードの他にタッチスクリーンに対応しているようです。

*1:Palm OS から名称変更したらしい

文字コードの自動判別 雑記

読み込むメッセージデータの文字コードをある程度自動判別できるようにしたいので、調べてみました。
文字コードの自動判別について少し調べてみました。


難しいことはしたくなかったので、まずは、 C言語で使用できるライブラリを探しました。


http://www.void.in/wiki/Universalchardet
よさそうなのライブラリなのですが、ライセンスが MPL1.1/GPL2.0/LGPL2.1 のトリプルライセンスとなっています。
これ混ぜていいのか分からない...。


そして、他には見付かりませんでした。


仕方がないので、アルゴリズムを探して実装することにします。
以下に役立ちそうなサイトを記載します。


http://pub.cozmixng.org/~the-rwiki/rw-cgi.rb?cmd=view;name=%A4%BF%A4%E0%A4%E9%3A%3A%C6%FC%CB%DC%B8%EC%CA%B8%BB%FA%A5%B3%A1%BC%A5%C9%A4%CE%BC%AB%C6%B0%C8%BD%C4%EA
文字コードの自動判定に役に立ちそうなサイトのリンクがあります。本来は Ruby のための情報らしいですが、もちろん他のプログラミング言語にも流用可能だと思われます。


http://www.gprj.net/dev/tips/other/kanji.shtml
http://www.gprj.net/modules/mediawiki/index.php?title=%E6%97%A5%E6%9C%AC%E8%AA%9E%E6%96%87%E5%AD%97%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E8%AA%8D%E8%AD%98
上記ふたつのサイトにはアルゴリズムの方針が書かれています。
これはいい。

Unicode 雑記

rogueclone2s の内部処理の Unicode 化を行うため、まず Unicode について調べました。

UnicodeUTF-8, UTF-16, UTF-32 等の違い

Unicode は符号化文字集合の事です。つまり、文字に符号に割り当てる規格です。
UTF-8, UTF-16, UTF-32 等は文字符号化方式の事です。符号化文字集合をコンピュータ上でどう表現するかの規格です。
Unicode に対して UTF-8, UTF-16, UTF-32 等の表現がある感じだと思います。


以下は参考にしたサイトです。
Unicode - Wikipedia
文字集合 - Wikipedia
文字符号化方式 - Wikipedia

気づいた範囲で UTF-8, UTF-16, UTF-32 の比較


内部処理に使用するなら、UTF-32 が簡単そうに見える。

  • 固定長は実装が簡単そう。
  • 文字データを大量に扱うことはない。

Unicode の Code Charts

アルファベットの Unicode のコードチャートは以下のページで公開されています。
C0 Controls and Basic Latin(PDF)

ライブラリの Unicode 対応

  • ncurses は、対応済み。ncursesw をリンクすればいけます。
  • PDCurses は不明。おそらく対応していないと思われます。

rogueclone2s の方針

  • 内部処理は UTF-32を軸にしようと思います。
  • curses を使って描写する部分で、各文字コードに変換します。