亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? entities.h

?? 一個(gè)AI游戲的代碼
?? H
字號(hào):
/****************************************************************
 * ENTITIES.H
 * Definitions of the classes of objects found in the world,
 * except for the troll himself
 ***************************************************************/

#include "Globals.h"
#include "WorldGrid.h"

#ifndef ENTITIES_H
#define ENTITIES_H

class Troll;

/***************************************************************
 * CLASS Entity
 * A virtual base class for the hierarchy of entities.  Its
 * structure is based on my article in Game Programming Gems 2,
 * which you should have read by now ;-)
 **************************************************************/

class Entity
{
	// Storage common to all classes of entities: Positional data and
	// an ID to register their actions with the WorldGrid
	int PosX, PosY;
	int WorldID;

protected:
	// A static pointer to the troll, shared by all entities which
	// may need to send it messages
	static Troll * ptrTroll;

	// A static pointer to the World Grid
	static WorldGrid * ptrGrid;

public:
	// Construction and access
	Entity( int x, int y, int id ) : PosX( x ), PosY( y ), WorldID( id ) {}
	virtual Entity * Clone() = 0;

	int GetX() { return PosX; }
	int GetY() { return PosY; }
	int GetWorldID() { return WorldID; }
	void SetX( int x ) { PosX = x; }
	void SetY( int y ) { PosY = y; }
	static void AttachTroll( Troll & theTroll ) { ptrTroll = &theTroll; }
	static void AttachGrid( WorldGrid & theGrid ) { ptrGrid = &theGrid; }

	// Movement on the grid
	void MoveEntity( int dx, int dy ); 

	// The class this object advertises itself as.  Can change
	// over time, so we can't get by with typeid
	virtual int ExportedClass() = 0;

	// Interface call for whatever the entity does in each
	// time step
	virtual bool Update() = 0;
};


/*************************************************************
 * CLASS Sheep
 * The bottom of the food chain in this demo, the Sheep are
 * there to be eaten by the troll.  All they ever do is wander
 * and try to run away if they see a troll coming too close.
 *************************************************************/

class Sheep : public Entity
{
	// Sheep that get eaten die
	bool IsDead;

public:
	// Construction and access
	Sheep( int x, int y, int id ) : Entity( x, y, id ), IsDead( false ) 
		{ ptrGrid->Register( id, ExportedClass(), x, y ); }
	Entity * Clone() { return( new Sheep( GetX(), GetY(), GetWorldID() ) ); }

	int ExportedClass() { return ENTITY_SHEEP; }

	bool Update();
};


/*************************************************************
 * CLASS Knight
 * The bad guys in this simulation.  Knights wander aimlessly
 * until they detect a troll, then track it mercilessly until
 * a fight to the death can ensue.
 ************************************************************/

class Knight : public Entity
{
	// Knights wander around aimlessly until they smell a troll,
	// and then they pursue it to the death
	bool IsBerserk;
	bool IsDead;

public:
	Knight( int x, int y, int id ) : Entity( x, y, id ), IsBerserk( false ), IsDead( false )
			{ ptrGrid->Register( id, ExportedClass(), x, y ); }
	Entity * Clone() { return( new Knight( GetX(), GetY(), GetWorldID() ) ); }

	int ExportedClass() { return ENTITY_KNIGHT; }

	bool Update();
};


/************************************************************
 * CLASS Tower
 * This is an immobile, indestructible guard tower manned by
 * archers whofire at the troll from a distance
 ***********************************************************/

class Tower : public Entity
{
public:
	Tower( int x, int y, int id ) : Entity( x, y, id )
			{ ptrGrid->Register( id, ExportedClass(), x, y ); }
	Entity * Clone() { return( new Tower( GetX(), GetY(), GetWorldID() ) ); }

	int ExportedClass() { return ENTITY_TOWER; }
	bool Update();
	
};


/***********************************************************
 * CLASS Haven
 * A safe place for the troll to rest (i.e., a dark and
 * foreboding monster-riddern bog).
 **********************************************************/

class Haven : public Entity
{
public:
	Haven( int x, int y, int id ) : Entity( x, y, id )
			{ ptrGrid->Register( id, ExportedClass(), x, y ); }
	Entity * Clone() { return( new Haven( GetX(), GetY(), GetWorldID() ) ); }

	int ExportedClass() { return ENTITY_HAVEN; }
	bool Update() { return true; }
};


/**********************************************************
 * CLASS Trap
 * A troll-capture device, disguised as a Haven until the 
 * troll detects the trap or falls into it.
 *********************************************************/

class Trap : public Entity
{
	// A trap looks just like a safe haven until it is unveiled
	bool Unveiled;

public:
	Trap( int x, int y, int id ) : Entity( x, y, id ), Unveiled( false )
			{ ptrGrid->Register( id, ExportedClass(), x, y ); }
	Entity * Clone() { return( new Trap( GetX(), GetY(), GetWorldID() ) ); }

	int ExportedClass() { return( Unveiled ? ENTITY_TRAP : ENTITY_HAVEN ); }

	bool Update();
};

#endif

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品资源二区在线| 日韩视频在线观看一区二区| 日韩精品每日更新| 精品久久久久av影院| 国产黑丝在线一区二区三区| 精品剧情v国产在线观看在线| 精品在线播放免费| 奇米色777欧美一区二区| 久久久综合九色合综国产精品| 99久久精品免费| 亚洲综合无码一区二区| 日韩欧美亚洲国产精品字幕久久久| 成人永久aaa| 五月婷婷色综合| 中文字幕在线不卡| 欧美成人精品3d动漫h| 91蜜桃在线观看| 蜜桃精品在线观看| 中文字幕精品综合| 欧美亚洲另类激情小说| 九九国产精品视频| 亚洲一区二区三区三| 国产亚洲美州欧州综合国| 欧美久久久久免费| 91蝌蚪porny成人天涯| 国产综合色精品一区二区三区| 亚洲一区国产视频| 国产精品婷婷午夜在线观看| 日韩精品中午字幕| 欧美高清激情brazzers| 99久久精品国产观看| 国产麻豆日韩欧美久久| 日韩中文字幕不卡| 亚洲色欲色欲www| 日本一二三四高清不卡| 亚洲精品在线免费观看视频| 欧美日本一区二区三区| 在线观看亚洲一区| av动漫一区二区| 国产精品77777竹菊影视小说| 日日骚欧美日韩| 亚洲图片欧美一区| 亚洲色图视频免费播放| 午夜激情综合网| 亚洲一区二区高清| 亚洲欧洲日韩一区二区三区| 欧美精品一区二区久久久| 国产精品久久久久久久岛一牛影视 | 日韩高清电影一区| 亚洲精品日韩专区silk| 亚洲视频一区二区在线观看| 国产精品全国免费观看高清| 久久久精品免费网站| 精品少妇一区二区三区在线播放| 欧美日韩久久久一区| 欧美日韩电影在线| 欧美日韩一级片网站| 欧美猛男超大videosgay| 91日韩一区二区三区| 91在线观看免费视频| 91在线porny国产在线看| 91麻豆高清视频| 在线亚洲人成电影网站色www| 色94色欧美sute亚洲13| 一本到高清视频免费精品| 一本到不卡免费一区二区| 欧美午夜精品理论片a级按摩| 色偷偷久久一区二区三区| 色视频一区二区| 欧美日韩久久久久久| 欧美一区二区三区思思人| 日韩欧美在线123| 精品久久久久久久久久久久久久久久久| 欧美日韩午夜影院| 欧美一区二区视频网站| 2024国产精品| 国产精品久久久久久亚洲毛片| 综合久久给合久久狠狠狠97色| 亚洲激情综合网| 日韩在线观看一区二区| 国模一区二区三区白浆| 成人黄色777网| 欧美午夜精品一区| 91精品久久久久久久99蜜桃| 精品国产亚洲一区二区三区在线观看| 欧美成人高清电影在线| 日韩精品资源二区在线| 中文字幕亚洲在| 日韩有码一区二区三区| 国产精品1024久久| 欧美在线观看一区二区| 欧美tk丨vk视频| 亚洲欧美激情小说另类| 免费观看久久久4p| 成人一级视频在线观看| 色综合天天在线| 日韩欧美精品在线| 国产精品国产三级国产aⅴ原创| 午夜精品一区在线观看| 国产乱人伦偷精品视频不卡| 91福利在线观看| 欧美精品一区二区在线观看| 亚洲精品中文在线| 免费成人结看片| 91免费在线播放| 精品国产人成亚洲区| 亚洲人成小说网站色在线| 亚洲成a人在线观看| 福利视频网站一区二区三区| 91麻豆精品国产综合久久久久久| 欧美高清在线精品一区| 日韩精品电影在线| 9久草视频在线视频精品| 欧美一区二区精品| 亚洲人妖av一区二区| 激情五月婷婷综合网| 欧美视频中文一区二区三区在线观看| 久久蜜桃av一区精品变态类天堂| 亚洲午夜在线电影| 国产精品资源网| 国产精品一区二区三区99| 欧美日韩美女一区二区| 国产精品乱人伦中文| 久久精品国产99国产精品| 欧美性大战久久久久久久| 国产精品美女久久久久高潮| 久久激五月天综合精品| 欧美在线你懂的| 亚洲视频一二区| 国产精品一品二品| 日韩一区二区三区视频在线观看| 自拍偷拍亚洲欧美日韩| 丁香另类激情小说| 久久久久九九视频| 精品一区二区在线免费观看| 欧美疯狂做受xxxx富婆| 亚洲精品免费一二三区| 国产suv精品一区二区三区| 欧美一区二区成人| 精品噜噜噜噜久久久久久久久试看| 国产午夜亚洲精品理论片色戒| 亚洲一区二区三区四区在线观看 | 欧美一二三区在线| 一区二区三区四区视频精品免费 | 一区二区在线观看不卡| 成人黄色在线看| 久久精品亚洲一区二区三区浴池| 日韩成人一区二区三区在线观看| 欧美电影一区二区| 天堂成人国产精品一区| 欧美日韩精品福利| 亚洲sss视频在线视频| 欧美性生活一区| 久久精品亚洲乱码伦伦中文| 蜜臀国产一区二区三区在线播放| 欧美大片在线观看一区二区| 奇米777欧美一区二区| 91精品婷婷国产综合久久性色| 亚洲国产视频一区| 欧美中文字幕一二三区视频| 日韩高清国产一区在线| 欧美大片拔萝卜| 韩国女主播成人在线| 久久久99免费| 成人综合婷婷国产精品久久蜜臀 | 久久精品人人做人人爽97| 国产乱码精品1区2区3区| 欧美国产禁国产网站cc| 99精品久久免费看蜜臀剧情介绍| 亚洲欧美日韩综合aⅴ视频| 色悠悠亚洲一区二区| 亚洲国产精品久久久男人的天堂| 日韩欧美亚洲国产另类| 国产成人在线免费| 最新中文字幕一区二区三区 | 自拍视频在线观看一区二区| 欧美日韩精品久久久| 久久机这里只有精品| 久久精品综合网| 91麻豆产精品久久久久久| 麻豆国产91在线播放| 欧美国产精品劲爆| 欧美系列日韩一区| 国内精品写真在线观看| 一区二区三区在线免费| 91精品在线一区二区| 国产福利一区在线| 亚洲综合激情网| 久久综合色之久久综合| 欧美亚洲尤物久久| 国产乱子伦视频一区二区三区| 中文字幕在线免费不卡| 欧美精品粉嫩高潮一区二区| 国产一区二区影院| 亚洲精品菠萝久久久久久久| 在线观看免费亚洲| 亚洲成人av资源| 精品国产伦一区二区三区观看体验 | 亚洲人成网站影音先锋播放| www日韩大片|