trrの手引き 1. trrの歴史 trrが歴史に初めて姿を表したのは1986年のことである。それは沖電気工業 で当時遊んでいた守山貢氏が、自らのタイプ速度を上げるための練習用ツール として、Dec2060用にPascalで作成したものであった。守山氏はその翌年C版 のtrrを作成し、それが次第に普及していくことになる。ちなみにtrrという名 称(愛称トゥルル)は守山氏が取り敢えず"trainer"から"aine"を省略して名 付けたのであるが、本当の名前を考える前にそれが各地に普及してしまったそ うである。 trrの歴史に新たな展開が訪れるのはtrrがICOT(新世代コンピュータ開 発機構)に移植されてからである。ICOTのリーダーの一人でありしかもピ アノの名手でもある富士通の近山隆氏が初めてtrrをやってみたところ一発で 500点以上をマークし(600点を越えていたという証言者もいる)、そのような 高得点を想定していなかったtrrのプログラムのバグを引き出したという逸話 はあまりにも有名である。その後trrはICOTの中でNSIS(日本電気技 術情報システム開発)の稲村雄氏によりEmacs-Lispに翻訳され、稲村公開版 trr として定着していった()。 その後ICOTの萩原氏(現ソニー)などの手によりハイスコアを競い合う形 式が確立し、Emacs版trrへの人気は絶大なものとなり、第5世代コンピュータ プロジェクトの成果の一つと言われる程となった。 ここで公開されるtrrプログラムは守山氏のC版trrの愛好者であった沖電気 工業の加藤研児(筆者)がICOTで進化したtrrに改めて感銘し改宗すると 共に、立ち上げの高速化、テキスト選択、各種実行情報の集計と表示、メッセー ジ表示などの各種の修正及び機能追加を1992年に行ったものである。 2. trrのインストール方法 以下の順序でインストールする。 1) 各人の ‾/.cshrc に環境変数 TRRDIR (このファイルのディレクトリ) を設定して下さい。 例: setenv TRRDIR /usr/local/trr また、各人の ‾/.emacsに次の文を追加して下さい。 (autoload 'trr (concat (getenv "TRRDIR") "/trr") nil t) この後一度 emacs を抜けて source ‾/.cshrc [Return] を実行し、もう一度 emacs を立ち上げて下さい。 2) 1)で定義したディレクトリに次のファイル及びディレクトリがあるか 確認して下さい。 file -- README, TEXT, trr.el, trr-message.el, update directory -- record, text 3) update のモードを 6755 に設定して下さい。 chmod 6755 update[Return] また、record ディレクトリを書き込み可能に設定して下さい。 chmod 777 record[Return] 4) text ディレクトリに適当な英文テキストを用意し、TEXTファイルに 「タイトル コメント ファイル名 識別子」の順でテキストの情報を 登録して下さい。なおTEXTファイルには空行を入れないこと。 TEXTファイルの例: ----------------ここから----------------------------------- 蒼の封印 簡単 soko.text AO 悪女 普通 maririn.text TO ぼくの地球を守って 難しい arisu.text KK ----------------ここまで----------------------------------- 英文テキストは改ページ等の制御文字を含まないこと。全体で一段落に 収められているものが望ましい。ちなみに同時に配布されているテキスト 著作権等を考慮し、日本国憲法の原文としました。ちょっと難しいので、 簡単なテキストは各自用意して下さい。 以上1)-4)の準備をすれば M-x trr でtrrが実行できるはずなんだが... 3. その他 1) 『Invalid read syntax; なんたらかたら』と表示されて動かなかった方へ 何らかの原因で autoload ができません(何故だろう?)。‾/.emacs から (autoload 'trr (concat (getenv "TRRDIR") "/trr") nil t) を削除し、代わりに次の命令を追加して下さい。 (defun trr () (interactive) (let ((tfile (concat (getenv "TRRDIR") "/trr.el"))) (find-file tfile) (switch-to-buffer (get-file-buffer (expand-file-name tfile))) (eval-current-buffer) (kill-buffer (get-file-buffer (expand-file-name tfile))) (setq tfile (concat (getenv "TRRDIR") "/trr-message.el")) (find-file tfile) (switch-to-buffer (get-file-buffer (expand-file-name tfile))) (eval-current-buffer) (kill-buffer (get-file-buffer (expand-file-name tfile)))) (trr)) そうすれば取り敢えず M-x trr が動くはず... 2) trr の実行中には以下のコマンドを利用できます。 C-c trrの終了 C-l 画面のリフレッシュ 3) 過去の実行記録を消去して最初からやりなおしたい場合 record ディレクトリにあるあなたの実行記録ファイルを消去するとともに、 ハイスコアファイル(SCORES-...)からあなたのハイスコアを記した行を 削除することも忘れないで下さい。なお、"-easy"という名前のファイルは 初心者用のもので、"-typist"という名前のファイルは上級者用のものです。 4) 過去の成績をバッファに残したい場合 「過去の成績」という項目を選んだ後、C-gを入れて下さい。trrが実行途中 で死んでしまうので、次のようにバッファが消されずに残ります。 ちなみにこれは筆者(加藤)の『日本国憲法』での成績です。 最高記録:403点, 総実行回数:59回, 総実行時間:41分 step 実行 実行 平均 平均 平均 突破日 突破 回数 時間 入力速度 ミス率 得点 得点 --------------------------------------------------------------- 34: 1回 0分 401字/分 1.2% 349点 92/Nov/23 349 35: 6回 4分 370字/分 1.7% 304点 92/Nov/23 366 36: 5回 3分 386字/分 1.7% 320点 92/Nov/23 361 37: 20回 15分 390字/分 1.4% 332点 92/Nov/23 380 38: 7回 4分 387字/分 1.1% 343点 92/Nov/23 390 39: 4回 2分 383字/分 0.4% 366点 92/Nov/23 395 40: 2回 1分 415字/分 1.1% 369点 92/Nov/23 403 41: 14回 7分 397字/分 1.1% 353点 ふぁいと! 354 5) 高得点をねらいたい人へ テキストを3行で実行すると一番高得点が狙えます。ただし150文字以上 打たないと得点として認められませんので、ウィンドウの幅をあまり小さく すると怒られることになります。