Plamo Linux についての話題を掲載したり、自作プログラムを公開しているサイト。
このページは、ここでしか公開されていないようなプログラム等を掲載します。
rogueclone2s は、データ分離版ローグ・クローンII の独自メンテナンスバージョンです。
autoconf/automake 化・ncurses 化とコンパイルエラーの修正・FreeBSD対応・マニュアル整備をしています。
Release 6 ではついに Windows に対応しました。
Rogue は、テキストキャラクタで表現されたシンプルな RPG です。しかし、シンプルゆえに攻略には高い戦略性と運が必要になっています。ゲームの目的は、運命の洞窟にあるイェンダーの魔除けを見つけて地上に持って帰ることです。しかし、運命の洞窟には様々な怪物が潜み、トラップがはりめぐらされています。戦略を駆使し、時には運にも頼りイェンダーの魔除けを持って地上へ帰還しましょう。
Linux, FreeBSD, Windows
端末上で % rogue [メッセージファイル] を実行します。
2006年6月8日に Release 6 を公開。
rogueclone2s Release 6 ソースファイル(137KB, 2006年6月2日作成)(MD5SUM)
rogueclone2s Release 6 Windows 版実行ファイル(83KB, 2006年6月2日作成)
Plamo Linux 用のパッケージはPlamo Linux の部屋 rogueで公開中です。
Windows 用は、このページにて公開中です。
僕は未だにクリアできませんが、僕が rogue をする際に参考にしているサイトを紹介します。
pdumpfs-clean for Windows は、バックアップツール pdumpfs のバックアップをローテーションするツールの Windows 版です。
読書記録ChangeLogのpdumpfs-clean エントリを参考に作成しました。
使い方はオリジナルの pdumpfs-clean と同様です。コマンドラインでバックアップ先のディレクトリを指定します。パスに空白が含まれている時はダブルクォーテーションマークで囲いましょう。
pdumpfs-clean 1.3 for Windows Release 1(273KB, 2004年4月9日作成)
quasistick.as は、 HSP の命令文の一つ stick 命令をエミュレートしたモジュールです。ソースとして公開されているので、 stick 命令の代わりとして取得するキーを好みのキーにして使用する事ができるでしょう。学生時代に HSP で RPG を作成しようとした時の成果物です。
Common ディレクトリにこのモジュールを保存し、スクリプトの始めに #include "quasistick.as"と記入すれば quasistick 命令を使用することができます。
quasistick.as Version 1.1(2.2KB, 2004年11月13日作成)
cat.rb は、ファイル連結スクリプトです。 UNIX 系の OS に標準的に搭載されている cat プログラムを Ruby スクリプトで再現しました。Windows で他のファイル連結プログラムを使用した時、巨大なファイルを連結しようとするとメモリのエラーが起こって連結できなかったのでこのスクリプトを作成しました。このスクリプトは構造が単純で処理のほとんどを Ruby や シェルにまかせているので、巨大なファイルもエラーが出る事なく結合できます。
cat プログラムと同じ使い方です。指定したファイルを標準出力に出力します。
以下のファイルは、bzip2 で cat.rb を圧縮しています。
cat.rb Version 1.0(0.2KB, 2003年12月30日作成)
jcount.rb は、空白文字・タブ文字・制御文字以外の文字をカウントするスクリプトです。UNIX 系の OS では似たような機能を持つプログラムに wc というものがありますが、wc はマルチバイト処理を正しく行ってくれません。そこで作成したのがこのスクリプトです。日本語1文字も1文字としてカウントしてくれます。ただし、 wc のように単語数を調べたりはできません。ただ、文字数をカウントするだけのスクリプトです。
書式:jcount.rb (ファイル名)?
jcount.rb は標準入力またはファイルから文字を読み込み、空白・タブ・制御文字以外の文字をカウントし標準出力に出力します。以下の例を参考にしてください。
(例)%cat test.txt
abcdeあいうえお
%jcount.rb test.txt
10
%jcount.rb
標準入力からも input できます。
17
このスクリプトはテストを十分に行っていません。(特に制御文字のテストはしていません。)必要に追われて大体の数値が分かればいいという気持ちで作ったスクリプトなので正確性は期待しないでください。
jcount.rb の作成の動機となったのは卒業論文の作成です。論文の合否は内容もさることながら一万字以上という量も基準となっていました。しかし、論文の作成には latex を使っていたので論文の文字数がまったく分かりませんでした。まず latex で書かれたファイルの文字数を数えてくれる適当なプログラムを探しましたが見つかりませんでした。そこで急きょやっつけ仕事で作ったのが、 jcount.rb の原型となった ruby スクリプトです。 jcount.rb の原型のスクリプトは detex と合わせて使うとうまく latex で書いた論文の文字数をおおまかに数える事ができました。なかなか便利だったので、公開できる形に修正したのが jcount.rb です。
以下でダウンロードできるファイルは、 jcount.rb を bzip2 で圧縮しただけのものです。マニュアルはありませんのでご了承ください。
jcount.rb Version 1.0(0.3KB, 2003年9月30日作成)
「効率よく学ぶCプログラミング」(著者:宇土顕彦 発行者:コロナ社)の演習問題の解答例を掲載しています。
今までのソースファイルをすべてまとめたファイルをここで公開します。なお、このパッケージにない、演習1.13、演習6.3、演習12.2のソースファイルについて今後掲載する予定はありません。演習1.13、演習6.3についてはプログラム作成の必要がないと判断したためであり、演習12.2については、自分が分からなかったからです。:-)
「効率よく学ぶCプログラミング」の全解答集(14KB, 2003年07月04日作成)
大学の記号処理の講義の時に使用した仮想コンピュータ MVM とその上で動くプログラムを生成するコンパイラ Minimun C を掲載しています。なお、 MVM/Minimun C は私が作ったプログラムではありませんので、自習以外の目的での使用はご遠慮願います。
まず、記号処理の目的は、記号処理の講義の冊子より
ごく簡単な手続き型プログラミング言語を例として、コンパイラ構築の基本的事項について解説し、 C を用いて実際にコンパイラを構築する。この講義のねらいは、1.コンパイラの内部構造を知ること、2.ある程度大きなソフトウェアの構築を実際に体験すること、3.種々のプログラミング技法に触れることの3つである。
使い方は、ホームディレクトリに MCC ディレクトリをおいて、MCC ディレクトリの中で make コマンドを実行するだけです。
記号処理 MVM / Minimum C セット(13KB)
大学のプログラムの講義の時に使用したライブラリ GLSC を掲載しています。なお、 GLSC は私が作ったプログラムではありませんので、自習以外の目的での使用はご遠慮願います。
このライブラリ GLSC は、X Window 上で、簡単なグラフィックを表示するためのものです。GLSC ver.3.3 解説書より
GLSCとは、Graphic Library for Scientific Compoting の略で、科学技術計算の結果をディスプレイ上に表示したり、プリンタに出力したりするための簡単なグラフィックライブラリです。このライブラリは、C言語と FORTRAN から呼び出して使うことができます。
GLSC ver3.5 のソースファイルとGLSC ver3.3 のマニュアルを掲載します。
大学の計算科学の講義の時に使用したライブラリ EAGLE を掲載しています。なお、 EAGLE は私が作ったプログラムではありませんので、自習以外の目的での使用はご遠慮願います。
このライブラリ EAGLE は、X Window 上で、簡単なグラフィックを表示するためのものです。EAGLE利用の手引きより
EAGLE は
- 学生が容易につかえること
- 学生が理解しやすい設計にすること
- 学生が容易に改良でき、より完成度の高いライブラリを構築する際の手助けになりうること
を主眼において作成されています。このため、EAGLE の使用方法の載ったマニュアルは、学生に配布された紙のものしかなく、大学の関係者以外は事実上使えません。勉強用の簡単なライブラリなので、そこらへんは割り切って使いましょう。
EAGLE のライブラリのソースファイル群とそのサンプルをおきます。学校のワークステーションが、 Linux になり、Makefile の書き換えは必要なくなりました。そのまま、 make すれば OK. です。ついでに、課題 10 までの全ての私の解答を掲載しておきます。間違いが多々ありますが、怒らないでね。
上記のファイルの使い方を説明します。
上記の 「 EAGLE のソースファイル群と全例題」を展開すると、csc, csc_samples, eagle, eagle_samples の4つのディレクトリが作成されます。この4つのディレクトリの内、csc, eagle の2つのディレクトリに入って make コマンドを実行してください。 EAGLE に必要なライブラリが作成されます。この2つのディレクトリは、必ずホームディレクトリに置いて下さい。ホームディレクトリに置かないとサンプルプログラムが make できなくなります。(make 書き換えればホームディレクトリに csc, eagle のディレクトリを置かなくても済むようになるが、一つ一つ書き換えるのはめんどくさいので、やめました。)なお、csc_samples, eagle_samples の2つのディレクトリには、それぞれのサンプルプログラムが入っています。
そして、「私の課題全解答」を展開すると、 Kadai というディレクトリが作成されます。さらにその中に kadai11 から kadai103 のディレクトリが作成されていて、それぞれのディレクトリに課題のファイルが makefile と一緒に入っています。コンパイルは make -f "makefilename" となります。
[メイン]