listing3.cpp

来自「C人工智能游戏开发的一些实例源代码 C Game development in 」· C++ 代码 · 共 29 行

CPP
29
字号
/* Copyright (C) Dan Higgins, 2001. 
 * All rights reserved worldwide.
 *
 * This software is provided "as is" without express or implied
 * warranties. You may freely copy and compile this source into
 * applications you distribute provided that the copyright text
 * below is included in the resulting source code, for example:
 * "Portions Copyright (C) Dan Higgins, 2001"
 */

// Methods on the A* storage class that use these flags would include:

// Gets the flag from the array
inline AStarNodeStatusFlags* GetFlag(long inX, long inY)	
{ //add your own ASSERT check to ensure no array overruns.
  return this->mFlags + ((inX * this->mArrayMax) + inY); }

// returns true if the node is closed
inline bool GetIsClosed(AStarNodeStatusFlags* inFlag) const
{ return ((*inFlag & kClosed) != kClear); }

// clears the 'passable status' flag
inline void ClearPassableFlag(AStarNodeStatusFlags* inFlag)
{ *inFlag &= ~kPassable; }

// sets the 'open status' flag
inline void SetOpenFlag(AStarNodeStatusFlags* inFlag)
{ *inFlag |= kOpen; }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?