⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 robot.cpp

📁 C人工智能游戏开发的一些实例源代码 C Game development in artificial intelligence source code of some examples
💻 CPP
字号:
/* Copyright (C) Steve Rabin, 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) Steve Rabin, 2001"
 */

#include "robot.h"
#include "stdlib.h"


//Add new states here
enum States { STATE_Initialize,
			  STATE_Wander,
			  STATE_Dead
};


//Note: The macro keywords can be highlighted by placing them in the file 
//USERTYPE.DAT in the same directory as MSDEV.EXE

bool Robot::States( StateMachineEvent event, int state )
{
BeginStateMachine

	/////////////////////////////////////////////////////////////////
	State( STATE_Initialize )
		OnEnter
			//Put any C++ initialization code here
			m_timer = 0;

		OnUpdate
			//Put any C++ code here that gets run on every game tick
			m_timer++;
			if( m_timer > 10 ) {
				SetState( STATE_Wander );
			}
			
		OnExit
			//Put any C++ cleanup code here
			m_timer = 0;

	/////////////////////////////////////////////////////////////////
	State( STATE_Wander )
		OnEnter
			//Put any C++ initialization code here
			m_timer = 0;

		OnUpdate
			//Put any C++ code here that gets run on every game tick
			m_timer++;
			if( m_timer > 10 ) {
				SetState( STATE_Initialize );
			}
			else if( rand()%1000 == 0 ) {
				SetState( STATE_Dead );
			}
			
		OnExit
			//Put any C++ cleanup code here
			m_timer = 0;

	/////////////////////////////////////////////////////////////////
	State( STATE_Dead )
		OnEnter
			//Just die on enter...

EndStateMachine
}

⌨️ 快捷键说明

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