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

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

?? entities.cpp

?? 一個(gè)AI游戲的代碼
?? CPP
字號(hào):
/****************************************************************
 * Entity Class implementation
 ***************************************************************/

#include "Globals.h"
#include "Entities.h"
#include "Troll.h"
#include <stdlib.h>
#include <iostream.h>


/***************************************************************
 * ENTITY Implementation
 ***************************************************************/

Troll * Entity::ptrTroll = 0;
WorldGrid * Entity::ptrGrid = 0;


// The grid wraps around; if movement goes overboard, the entity
// magically warps to the other end of the world
void Entity::MoveEntity( int dx, int dy )
{
	int newX = GetX() + dx;
	if ( newX < 0 )
		newX += WORLD_GRID_SIZE;
	if ( newX >= WORLD_GRID_SIZE )
		newX -= WORLD_GRID_SIZE;
	int newY = GetY() + dy;
	if ( newY < 0 )
		newY += WORLD_GRID_SIZE;
	if ( newY >= WORLD_GRID_SIZE )
		newY -= WORLD_GRID_SIZE;

	if ( ExportedClass() == ENTITY_TROLL )
	{
		ptrGrid->MoveTroll( newX, newY );
	}
	else
	{
		ptrGrid->MoveEntity( GetWorldID(), newX, newY );
	}

	SetX( newX );
	SetY( newY );
}


/******************************************************************
 * SHEEP Implementation
 *****************************************************************/

bool Sheep::Update()
{
	if( IsDead )
		return true;

	// If the troll is in the sheep's square, the sheep is meat
	if( ptrGrid->DistanceFromTroll( GetWorldID() ) == 0 )
	{
		IsDead = true;
		ptrGrid->UnRegister( GetWorldID() );
	}

	// Two cases: either there is a troll nearby, in which
	// case the sheep runs away, or there isn't, in which
	// case the sheep wanders aimlessly
	if( ptrGrid->IsTrollWithinRange( GetWorldID() ) )
	{
		int dx, dy;
		if ( ptrGrid->GetTrollX() < GetX() )
			dx = 1;
		else
			dx = -1;
		if ( ptrGrid->GetTrollY() < GetY() )
			dy = 1;
		else
			dy = -1;
		MoveEntity( dx, dy );
	}
	else
	{
		int dx = rand() % 3 - 1;
		int dy = rand() % 3 - 1;
		MoveEntity( dx, dy );
	}
		
	return true;
}


/***************************************************************
 * KNIGHT Implementation
 ***************************************************************/

bool Knight::Update()
{
	// Dead knights don't do much of anything
	if ( IsDead )
		return true;

	// Should the knight go berserk?
	if ( !IsBerserk && ptrGrid->IsTrollWithinRange( GetWorldID() ) )
	{
		IsBerserk = true;
	}

	// If the troll is in a safe haven, the knight automatically
	// loses track
	if ( ptrGrid->HowManyCloseToTroll( ENTITY_HAVEN, 0 ) > 0 )
	{
		IsBerserk = false;
	}

	// If the knight is berserk, he pursues the troll; otherwise,
	// he wanders about aimlessly
	if ( IsBerserk )
	{
		int dx, dy;
		if ( ptrGrid->GetTrollX() < GetX() )
			dx = -1;
		else if ( ptrGrid->GetTrollX() > GetX() )
			dx = 1;
		else
			dx = 0;
		if ( ptrGrid->GetTrollY() < GetY() )
			dy = -1;
		else if ( ptrGrid->GetTrollY() > GetY() )
			dy = 1;
		else
			dy = 0;
		MoveEntity( dx, dy );
	}
	else
	{
		int dx = rand() % 3 - 1;
		int dy = rand() % 3 - 1;
		MoveEntity( dx, dy );
	}

	if ( ptrGrid->GetTrollX() == GetX() && ptrGrid->GetTrollY() == GetY() )
	{
		IsDead = ptrTroll->SendFightMessage();
		if( IsDead )
			ptrGrid->UnRegister( GetWorldID() );
	}

	return true;
}


/***************************************************************
 * TOWER Implementation
 **************************************************************/

bool Tower::Update()
{
	// If there is a troll within firing range, shoot at it!
	if ( ptrGrid->IsTrollWithinRange( GetWorldID() ) )
	{
		ptrTroll->SendDamageMessage( rand() % 3 );
	}

	return true;
}



/***************************************************************
 * TRAP Implementation
 ***************************************************************/

bool Trap::Update()
{
	// If a troll walks into the trap, capture it!
	if ( ptrGrid->IsTrollWithinRange( GetWorldID() ) )
	{
		Unveiled = true;
		ptrTroll->SendCaptureMessage();
		ptrGrid->Register( GetWorldID(), ENTITY_TRAP, GetX(), GetY() );
	}

	// Trolls are dumb, and may forget that a "haven" is actually a 
	// trap once they're gone
	if( Unveiled && ptrGrid->DistanceFromTroll( GetWorldID() ) > 0 && ( rand() % 10 == 0 ) )
	{
		Unveiled = false;
		ptrGrid->Register( GetWorldID(), ENTITY_HAVEN, GetX(), GetY() );
	}

	return true;
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
自拍偷拍亚洲欧美日韩| 婷婷六月综合网| 五月婷婷另类国产| 国产精品资源网站| 欧美性生活大片视频| 久久久久久一二三区| 天天av天天翘天天综合网| 国产美女精品在线| 日韩丝袜情趣美女图片| 亚洲欧美二区三区| 成人免费视频一区| 五月婷婷激情综合| 91蜜桃在线观看| 国产精品美女www爽爽爽| 日本不卡视频一二三区| 欧美性感一区二区三区| 亚洲欧洲精品成人久久奇米网| 日本一区二区三区视频视频| 免费观看成人av| 国产成人精品网址| 欧美成人综合网站| 成人蜜臀av电影| 久久综合色一综合色88| 免费日韩伦理电影| 日韩一区二区三区在线观看| 午夜在线成人av| 欧美视频一二三区| 亚洲韩国精品一区| 欧美手机在线视频| 亚洲电影视频在线| 欧美日韩成人高清| 天堂午夜影视日韩欧美一区二区| 精品系列免费在线观看| 欧美日韩精品一区视频| 亚洲一二三四在线| 欧美日韩午夜精品| 日韩精品电影在线观看| 7878成人国产在线观看| 麻豆freexxxx性91精品| 欧美va亚洲va香蕉在线| 黄网站免费久久| 中文字幕不卡在线| 日本高清视频一区二区| 亚洲码国产岛国毛片在线| 免费视频一区二区| 国产偷国产偷亚洲高清人白洁| 亚洲在线观看免费视频| 懂色av一区二区三区免费观看 | gogo大胆日本视频一区| 精品视频在线看| 日韩 欧美一区二区三区| 欧美电影一区二区| 国产乱码一区二区三区| 中日韩av电影| 欧美日韩中字一区| 九九精品视频在线看| 日本一区二区不卡视频| 在线观看日韩一区| 久久99精品久久久久久动态图 | 成人黄色在线视频| 亚洲综合自拍偷拍| 欧美一区二区美女| 国产成人8x视频一区二区| 日韩免费观看高清完整版| 亚洲日本免费电影| 粉嫩av亚洲一区二区图片| 亚洲摸摸操操av| 日韩欧美一二三| 色综合久久综合网欧美综合网| 国产欧美日韩精品一区| 91小视频免费看| 七七婷婷婷婷精品国产| 国产欧美一区二区三区在线老狼| 成人av电影在线网| 日本免费在线视频不卡一不卡二| 91国产成人在线| 国模一区二区三区白浆| 亚洲国产裸拍裸体视频在线观看乱了| 99国产精品99久久久久久| 日本伊人午夜精品| 亚洲欧美激情视频在线观看一区二区三区| 国产在线精品一区二区不卡了 | 麻豆91在线观看| 精品99999| 欧美视频中文字幕| 风间由美中文字幕在线看视频国产欧美| www亚洲一区| 欧美日韩视频专区在线播放| 国产精品一区二区在线观看网站| 日韩欧美一区二区不卡| 欧美网站大全在线观看| 亚洲成人久久影院| 亚洲欧美日韩国产手机在线| xnxx国产精品| 97精品视频在线观看自产线路二| 自拍偷拍欧美精品| 国产女人18水真多18精品一级做| 国产在线观看一区二区| 日韩专区在线视频| 一区二区三区不卡在线观看 | 久久精品综合网| 欧美一区二区三区系列电影| 91国偷自产一区二区三区成为亚洲经典| 亚洲小少妇裸体bbw| 91精品麻豆日日躁夜夜躁| 在线免费不卡电影| 91视频在线观看| 成人app软件下载大全免费| 国产高清在线精品| 国产乱码一区二区三区| 亚洲精品中文在线观看| 国产精品色婷婷| 国产精品久久久久久久久图文区| 欧美色窝79yyyycom| 色综合久久久久综合99| av亚洲精华国产精华| 99在线热播精品免费| 91亚洲国产成人精品一区二区三 | 懂色av一区二区三区免费看| 亚洲一区二区三区四区五区中文| 欧美电影免费观看高清完整版 | 国产精品美日韩| 国产精品麻豆99久久久久久| 欧美精彩视频一区二区三区| 国产欧美日韩另类视频免费观看 | 日本欧美加勒比视频| 欧美激情一区在线观看| 欧美韩国日本一区| 国产精品久久毛片a| 亚洲日本丝袜连裤袜办公室| 欧美电影免费观看高清完整版在线观看| jlzzjlzz欧美大全| 91黄色免费看| 欧美日韩美女一区二区| 精品国产露脸精彩对白| 国产精品五月天| 亚洲男同性恋视频| 日本欧美一区二区| 亚洲国产va精品久久久不卡综合 | 欧美v国产在线一区二区三区| 色综合天天综合网国产成人综合天| 视频一区视频二区中文字幕| 亚洲人成精品久久久久久| 亚洲成人精品一区| 狠狠色丁香婷综合久久| 丁香网亚洲国际| 91国内精品野花午夜精品| eeuss鲁片一区二区三区在线看| 蜜臀久久99精品久久久久宅男| 亚洲一区免费视频| 精品在线视频一区| 色偷偷88欧美精品久久久| 欧美一区二区在线免费观看| 国产肉丝袜一区二区| 亚洲成在人线免费| 亚洲福利视频一区| 国产麻豆成人传媒免费观看| 91丝袜国产在线播放| 日韩美女天天操| 91精品国产高清一区二区三区 | 亚洲综合av网| 精品一区二区三区不卡| 91福利在线播放| 久久色中文字幕| 紧缚奴在线一区二区三区| 色呦呦国产精品| 欧美激情综合五月色丁香小说| 久久亚洲春色中文字幕久久久| 26uuu精品一区二区在线观看| 久久久久久免费毛片精品| 亚洲成人三级小说| 97se狠狠狠综合亚洲狠狠| 欧美在线观看一区二区| 欧美国产1区2区| 国产精品一区专区| 99久久99久久久精品齐齐| 欧美电视剧在线观看完整版| 亚洲一卡二卡三卡四卡无卡久久| 亚洲国产wwwccc36天堂| 91免费在线看| 国产欧美一二三区| 亚洲欧美日韩国产手机在线| 亚洲国产乱码最新视频| 成人午夜精品在线| 在线免费观看日本欧美| 欧美日韩一区二区三区四区 | 97久久精品人人做人人爽| 色婷婷国产精品| 亚洲国产成人私人影院tom| 精品一区二区免费看| 中文字幕中文字幕在线一区| 久久国产夜色精品鲁鲁99| 国产91精品精华液一区二区三区| 99久久精品免费看| 国产精品久久二区二区| 国产91丝袜在线播放九色| 精品国产乱码久久久久久夜甘婷婷| 国产日韩av一区| 国产一区二区三区在线观看免费| 一本大道久久a久久综合婷婷|