[RogueLike@lab3]

@ Let's begin NetHack! #2


%

スマートに移動しよう!

NetHack では, ダンジョン内の移動におけるちょっとしたミスや ちょっとしたロスが命とりになることがあります。というわけで, スマートな移動法を覚えましょう。

今回のテーマは,

「基本は Shift, 慣れたら Control」

です。

Step 1: ナナメ移動を覚える

まず基本はこれですね。ナナメ移動。

y  k  u               y: 左上
 \ | /                u: 右上
h- @ -l               b: 左下
 / | \                n: 右下
b  j  n

y/u/b/n は, キーボードでは H から見てそれぞれの進行方向に 位置していますので, その辺の発想から慣れていきましょう。 タイピングの基本とは (b が) 異なりますが, 全て右手人差指で押したほうが分かりやすいかもしれません。

ただし, ナナメ移動がいつも可能であるとは限りません。 マップを見てナナメ移動できそうに見えるところでも, 実際はできない ところがあります。たとえばドアへの進入などはその例です。 まあ, ナナメ移動しようとしてできなかった場合は, turn を食われることは ありませんので, ややこしい場合はとりあえずやってみましょう。

ちなみに, これに慣れると vi でもナナメ移動をしたくなって つい押してしまいますが, vi ではナナメ移動はできません。;-)

Step 2: Shift で走る

さて, ナナメ移動に慣れたら, こんどは run (走る) を覚えましょう。 といっても NetHack は turn 制なので, 走っても, ゲーム内時間では 速くは移動してることにはなりません:-)。しかし プレイはし易くなります。また, 初心者の人で, 方向キーを 押しっぱなしにして走る人がよく居ますが, これは大変危険です。 運悪く floating eye (e) なんかに つっこんでしまうと, あっという間に お陀仏となってしまいます。

そこで Shift キーです。Shift を押しながら方向キー (もちろん ナナメも可) を押すと, 特殊なオブジェクト (壁とかモンスターとか) に ぶつかるまで その方向に移動することができます。モンスターが居ても, その手前で 止まってくれるので, floating eye に うっかり肉弾戦を仕掛けてしまうことも なくなるでしょう。

Step 3: Control で走る

と, ここまでは基本的な知識ですが, 実は Shift ではなく Control キーでも走ることができます。 たとえば以下のような場合を考えてみましょう。

    |....................|        |....................|
    |.................@..|   →   |........@...........|
    +-------.------------+        +-------.------------+
            #                             #

ここで, 左図のような状態から, 右図のように道のあるところまで移動したいとします。 ここで Shift+h で走ったのでは, 左側の壁まで突きあたって静止してしまい, うまくありません。このようなときは Control+h で走ります。 そうすると, Shift の場合と同じように左に走るのですが, 道の枝分かれのある場所で停止してくれます。

Angband の停止条件よりも微妙に おバカ な気はしますが, Shift よりもよっぽど使える走り方です。実際こちらを覚えると Shift は殆ど使わなくてもよくなるでしょう。

TIPS: Teleport する

というわけで, スマートな移動のしかたを見てきました。 最後にオマケとして, teleport control を持っているときの teleport 先の指定方法について説明します。

基本的には, 移動のときに使う方向キーで移動先を指定しますが, このとき Shift を押しながら方向キーを押すとポインタを 8 ずつ 移動させることができます。しかしもっと効率のよい やり方があります。 移動先の指定には, 方向キー以外も使えるのです。

Help を読むとちゃんと書いてあるので, 知っている方は 知っていると思いますが, 方向の代わりに マップ内の(既知の)オブジェクトの記号を入力することによって, ポインタをそこに飛ばすことができます。たとえば 上り階段 まで 飛ばしたい場合は ``<'' を, 空いたドアまで 飛ばしたい場合は ``-'' を入力する, といった具合です。 ただし, 地上に落ちているアイテムの記号などは使えず, マップを構成する記号のみが使えるようになっています。

超2回「スマートに移動しよう!」 終わり


[roguelike@lab3]
Copyright © roguelike-admin@lab3.kuis.kyoto-u.ac.jp