rogueclone2s

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

読み込むメッセージデータの文字コードをある程度自動判別できるようにしたいので、調べてみました。 文字コードの自動判別について少し調べてみました。 難しいことはしたくなかったので、まずは、 C言語で使用できるライブラリを探しました。 http://www.v…

Unicode 雑記

rogueclone2s の内部処理の Unicode 化を行うため、まず Unicode について調べました。 Unicode と UTF-8, UTF-16, UTF-32 等の違い Unicode は符号化文字集合の事です。つまり、文字に符号に割り当てる規格です。 UTF-8, UTF-16, UTF-32 等は文字符号化方式…

予約済み識別子

C 言語の仕様で、あまり知られていないながら注意点があります。 「予約済み識別子」を自分で作成したプログラムの変数名・マクロ名に使用してはいけないことです。 「予約済み識別子」とは、識別子の一文字目が下線 '_'で、続く二文字目が、下線 '_' かアル…

C のスタイルを K&R から ISO へ変換するためには

rogueclone2s では、 K&R のスタイルから ISO のスタイルへ変換しました。その時やったことを記述します。 関数に対応するプロトタイプ宣言を記述 これを書くと、宣言と違う記述のミスで警告を発してくれます。 変数の宣言を記述 記述しないと暗黙の宣言とし…

移植性を考える

rogueclone2s は、移植性を考え、なるべく ISO C に準拠しようと思っています。そこで今日は、移植性を考える時、参考になるサイトを紹介します。 移植性のあるCプログラミング C99 だけでなく移植性の高い C 言語のコードを書くための様々な Tips が掲載さ…

ヘッダファイルとソースファイルの関係

データ分離版ローグ・クローンIIのソースの構成は以下の様になっています。 -rw-r--r-- 1 user users 11k 9月 13日 1992年 rogue.h -rw-r--r-- 1 user users 17k 9月 14日 1992年 curses.c -rw-r--r-- 1 user users 7.4k 9月 14日 1992年 hit.c -rw-r--r-- 1…

ローグと C の規格

初めてデータ分離版ローグ・クローンIIのソースを見た時は驚きました。 K&R で書かれているのです。 それもそのはず、ソースに付属している README.1st のドキュメントを見ると最後に 1989.9.26 と書かれています。 README.1st はデータ分離版の前身の「ロー…

rogueclone2s をダウンロードしよう

こんなブログ始めたのに、 rogueclone2s の公開場所を記していませんでした。 以下が、その公開場所です。よろしければ、どうぞ。ぎじゅつ者の目 プログラムの部屋

rogueclone2s のコーディング規約

rogueclone2s は、 Web で公開されているコーディング規約に沿って記述しています。 コーディング規約を適用する恩恵は様々あると思いますが、僕が現在期待している効果は、 ・ソースコードが見やすくなる 事です。 僕にとって見やすくなるのはもちろん、僕…

rogueclone2s で実現したこと/実現したいこと

データ分離版ローグ・クローンIIと比べ rogueclone2s で実現したこと/実現したいことをまとめてみたいと思います。 実現したこと ・ ncurese の使用 メンテナンスの動機で書いた黒背景を見たい!という当初の目標から、内蔵 curses を捨て ncurses を使用し…

コンパイルエラーを直す その 2

前回のエントリーからの続きです。 さっそく残りのエラーを修正していきましょう。 前回残ったエラーはこちらです。 machdep.c: 関数 `md_control_keyboard' 内: machdep.c:364: error: `VSWTCH' undeclared (first use in this function) machdep.c:364: er…

コンパイルエラーを直す その 1

前回のエントリーで書いた通り、データ分離版ローグ・クローンIIはコンパイルエラーで、そのままではコンパイルできません。 このコンパイルエラーを直して、ゲームを遊べようにした作業を 今日を含め 2回に分けて書きます。 さっそく、エラーの内容を見てい…

コンパイルエラーの対処法とコツ

今日は、データ分離版ローグ・クローンIIから話題が若干ずれて、C言語のコンパイルエラーの対処法について書きます。 現在、データ分離版ローグ・クローンIIのオリジナルソース(ああ、ややこしい)*1は、 Linux でコンパイルする場合に手を加えないとエラー…