ccomputertank.cpp

来自「坦克大战小游戏 控制说明: 玩家1相关控制: A/W/S/D:控」· C++ 代码 · 共 80 行

CPP
80
字号
//----------------------------------------------------------------------------
// 文件名: CComputerTank.cpp
//
// 描述:电脑坦克对象实现
//
// 作者:朱波		创建日期:2007-03-21
//----------------------------------------------------------------------------

#include <windows.h>   // include important windows stuff
#include <windowsx.h> 
#include <mmsystem.h>
#include <iostream.h> // include important C/C++ stuff
#include <conio.h>
#include <stdlib.h>
#include <malloc.h>
#include <memory.h>
#include <string.h>
#include <stdarg.h>
#include <stdio.h>
#include <math.h>
#include <io.h>
#include <fcntl.h>
#include <sys/timeb.h>
#include <time.h>
#include <vector>
#include <string>
using namespace std;

#include <ddraw.h>
#include <dsound.h>
#include "dxtools.h"
#include "gameapp.h"
#include "CComputerTank.h"

CComputerTank::CComputerTank( void )
{
	m_pre_time_update = 0;
	m_pre_time_turn = 0;
}

CComputerTank::~CComputerTank( void )
{}

int CComputerTank::DoAI( void )
{
	int		time1, time2;
	int     temp_direct;

	m_cur_time=GetTickCount()%100000;

	if(m_cur_time - m_pre_time_update<0)
		 time1 = 100000 - m_pre_time_update + m_cur_time;
	else
		 time1 = m_cur_time - m_pre_time_update;
	
	if(m_cur_time - m_pre_time_turn<0)
		 time2 = 100000 - m_pre_time_turn + m_cur_time;
	else
		 time2 = m_cur_time - m_pre_time_turn;
	
	if (time1 > 20)
	{
		m_pre_time_update = m_cur_time;
		
		if (time2 > 2000)
		{
			m_pre_time_turn = m_cur_time;
			temp_direct = m_curDirect;
			temp_direct = (temp_direct+rand()%TANK_PIC_CELL_COUNT)%TANK_PIC_CELL_COUNT;	
			SetDirect( temp_direct );
		}

		if ( TestMoving() )
		{
			Move();
		}
	}

	return(1);
}

⌨️ 快捷键说明

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