Hengband  2.2.1
データ構造 | マクロ定義 | 関数 | 変数
player-move.h ファイル
#include "floor.h"
player-move.h の依存先関係図:
被依存関係図:

[ソースコード]

データ構造

struct  travel_type
 

マクロ定義

#define TRAVEL
 
#define MPE_STAYING   0x00000001
 
#define MPE_FORGET_FLOW   0x00000002
 
#define MPE_HANDLE_STUFF   0x00000004
 
#define MPE_ENERGY_USE   0x00000008
 
#define MPE_DONT_PICKUP   0x00000010
 
#define MPE_DO_PICKUP   0x00000020
 
#define MPE_BREAK_TRAP   0x00000040
 
#define MPE_DONT_SWAP_MON   0x00000080
 
#define NOT_PATTERN_TILE   -1
 
#define PATTERN_TILE_START   0
 
#define PATTERN_TILE_1   1
 
#define PATTERN_TILE_2   2
 
#define PATTERN_TILE_3   3
 
#define PATTERN_TILE_4   4
 
#define PATTERN_TILE_END   5
 
#define PATTERN_TILE_OLD   6
 
#define PATTERN_TILE_TELEPORT   7
 
#define PATTERN_TILE_WRECKED   8
 

関数

void disturb (player_type *creature_ptr, bool stop_search, bool flush_output)
 
void move_player (player_type *creature_ptr, DIRECTION dir, bool do_pickup, bool break_trap)
 該当地形のトラップがプレイヤーにとって無効かどうかを判定して返す / Move player in the given direction, with the given "pickup" flag. [詳解]
 
void run_step (DIRECTION dir)
 継続的なダッシュ処理 / Take one step along the current "run" path [詳解]
 
bool move_player_effect (player_type *creature_ptr, POSITION ny, POSITION nx, BIT_FLAGS mpe_mode)
 移動に伴うプレイヤーのステータス変化処理 [詳解]
 
void py_pickup_aux (OBJECT_IDX o_idx)
 プレイヤーがオブジェクトを拾った際のメッセージ表示処理 / Helper routine for py_pickup() and py_pickup_floor(). [詳解]
 
bool pattern_seq (player_type *creature_ptr, POSITION c_y, POSITION c_x, POSITION n_y, POSITION n_x)
 パターンによる移動制限処理 [詳解]
 
bool trap_can_be_ignored (player_type *creature_ptr, FEAT_IDX feat)
 該当地形のトラップがプレイヤーにとって無効かどうかを判定して返す [詳解]
 
void search (player_type *creature_ptr)
 プレイヤーの探索処理判定 [詳解]
 
void carry (bool pickup)
 プレイヤーがオブジェクト上に乗った際の表示処理 [詳解]
 
void do_cmd_travel (player_type *creature_ptr)
 トラベル処理のメインルーチン [詳解]
 
void travel_step (void)
 トラベル機能の実装 / Travel command [詳解]
 

変数

travel_type travel
 

マクロ定義詳解

◆ MPE_BREAK_TRAP

#define MPE_BREAK_TRAP   0x00000040

◆ MPE_DO_PICKUP

#define MPE_DO_PICKUP   0x00000020

◆ MPE_DONT_PICKUP

#define MPE_DONT_PICKUP   0x00000010

◆ MPE_DONT_SWAP_MON

#define MPE_DONT_SWAP_MON   0x00000080

◆ MPE_ENERGY_USE

#define MPE_ENERGY_USE   0x00000008

◆ MPE_FORGET_FLOW

#define MPE_FORGET_FLOW   0x00000002

◆ MPE_HANDLE_STUFF

#define MPE_HANDLE_STUFF   0x00000004

◆ MPE_STAYING

#define MPE_STAYING   0x00000001

◆ NOT_PATTERN_TILE

#define NOT_PATTERN_TILE   -1

◆ PATTERN_TILE_1

#define PATTERN_TILE_1   1

◆ PATTERN_TILE_2

#define PATTERN_TILE_2   2

◆ PATTERN_TILE_3

#define PATTERN_TILE_3   3

◆ PATTERN_TILE_4

#define PATTERN_TILE_4   4

◆ PATTERN_TILE_END

#define PATTERN_TILE_END   5

◆ PATTERN_TILE_OLD

#define PATTERN_TILE_OLD   6

◆ PATTERN_TILE_START

#define PATTERN_TILE_START   0

◆ PATTERN_TILE_TELEPORT

#define PATTERN_TILE_TELEPORT   7

◆ PATTERN_TILE_WRECKED

#define PATTERN_TILE_WRECKED   8

◆ TRAVEL

#define TRAVEL

関数詳解

◆ carry()

void carry ( bool  pickup)

プレイヤーがオブジェクト上に乗った際の表示処理

引数
pickup自動拾い処理を行うならばTRUEとする
戻り値
なし

Player "wants" to pick up an object or gold. Note that we ONLY handle things that can be picked up. See "move_player(p_ptr, )" for handling of other things.

呼び出し関係図:

◆ disturb()

void disturb ( player_type creature_ptr,
bool  stop_search,
bool  flush_output 
)
呼び出し関係図:

◆ do_cmd_travel()

void do_cmd_travel ( player_type creature_ptr)

トラベル処理のメインルーチン

戻り値
なし
呼び出し関係図:

◆ move_player()

void move_player ( player_type creature_ptr,
DIRECTION  dir,
bool  do_pickup,
bool  break_trap 
)

該当地形のトラップがプレイヤーにとって無効かどうかを判定して返す / Move player in the given direction, with the given "pickup" flag.

引数
dir移動方向ID
do_pickup罠解除を試みながらの移動ならばTRUE
break_trapトラップ粉砕処理を行うならばTRUE
戻り値
実際に移動が行われたならばTRUEを返す。
覚え書き
This routine should (probably) always induce energy expenditure.

Note that moving will always take a turn, and will always hit
any monster which might be in the destination grid. Previously,
moving into walls was "free" and did NOT hit invisible monsters.

呼び出し関係図:

◆ move_player_effect()

bool move_player_effect ( player_type creature_ptr,
POSITION  ny,
POSITION  nx,
BIT_FLAGS  mpe_mode 
)

移動に伴うプレイヤーのステータス変化処理

引数
ny移動先Y座標
nx移動先X座標
mpe_mode移動オプションフラグ
戻り値
プレイヤーが死亡やフロア離脱を行わず、実際に移動が可能ならばTRUEを返す。
呼び出し関係図:

◆ pattern_seq()

bool pattern_seq ( player_type creature_ptr,
POSITION  c_y,
POSITION  c_x,
POSITION  n_y,
POSITION  n_x 
)

パターンによる移動制限処理

引数
c_yプレイヤーの移動元Y座標
c_xプレイヤーの移動元X座標
n_yプレイヤーの移動先Y座標
n_xプレイヤーの移動先X座標
戻り値
移動処理が可能である場合(可能な場合に選択した場合)TRUEを返す。
呼び出し関係図:

◆ py_pickup_aux()

void py_pickup_aux ( OBJECT_IDX  o_idx)

プレイヤーがオブジェクトを拾った際のメッセージ表示処理 / Helper routine for py_pickup() and py_pickup_floor().

引数
o_idx取得したオブジェクトの参照ID
戻り値
なし

アイテムを拾った際に「2つのケーキを持っている」
"You have two cakes." とアイテムを拾った後の合計のみの表示がオリジナル
だが、違和感が
あるという指摘をうけたので、「~を拾った、~を持っている」という表示
にかえてある。そのための配列。
Add the given dungeon object to the character's p_ptr->inventory_list.
Delete the object afterwards.

呼び出し関係図:

◆ run_step()

void run_step ( DIRECTION  dir)

継続的なダッシュ処理 / Take one step along the current "run" path

引数
dir移動を試みる方向ID
戻り値
なし
呼び出し関係図:

◆ search()

void search ( player_type creature_ptr)

プレイヤーの探索処理判定

戻り値
なし
呼び出し関係図:

◆ trap_can_be_ignored()

bool trap_can_be_ignored ( player_type creature_ptr,
FEAT_IDX  feat 
)

該当地形のトラップがプレイヤーにとって無効かどうかを判定して返す

引数
feat地形ID
戻り値
トラップが自動的に無効ならばTRUEを返す

◆ travel_step()

void travel_step ( void  )

トラベル機能の実装 / Travel command

戻り値
なし
呼び出し関係図:

変数詳解

◆ travel

travel_type travel