robot.cpp

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

CPP
68
字号
/* 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 <string.h>


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


//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, MSG_Object * msg, int state )
{
BeginStateMachine

	OnMsg( MSG_ChangeState ) //Default msg response (if not handled inside current state)
		m_timer--;

	///////////////////////////////////////////////////////////////
	State( STATE_Initialize )
		OnEnter
			unsigned int paper = 8;
			paper++;
			m_timer = 0;
			char test[256];
			strcpy( test, statename );
			SendDelayedMsg( 1.0f, MSG_Timeout, m_Owner->GetID() );
			SendDelayedMsgToMe( 10.0f, MSG_ChangeState, SCOPE_TO_THIS_STATE );

		OnMsg( MSG_Timeout )
			m_timer--;

		OnUpdate
			m_timer++;
			if( m_timer > 10 ) {
				SetState( STATE_Wander );
			}
			
		OnExit
			unsigned int joke = 5;
			joke++;

	
	///////////////////////////////////////////////////////////////
	State( STATE_Wander )

		OnMsg( MSG_ChangeState )
			SetState( STATE_Initialize );
	
		OnUpdate
			m_timer = 0;


EndStateMachine
}

⌨️ 快捷键说明

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