• 大小: 7.59MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-10-23
  • 语言: C/C++
  • 标签: vc++  

资源简介

对战坦克大战(vc++)

资源截图

代码片段和文件信息


#include “global.h“
#include “aigenerator.h“

//-----------------------------------------------------------------------------
// Name: 
// Desc: 
//-----------------------------------------------------------------------------
CAiGenerator::CAiGenerator() {
SetRect( &m_rtAvoid[0] 0 0 0 0 );
m_pAim = NULL;
m_nAimProb = 0;
m_nTrackProb = 3;

m_nMaxProb = DEFMAXPROB;
m_nCurrentProb = 0;

ZeroMemory(CmdProbs sizeof(int)*6);

m_nFireMaxProb = 16; // maybe 1 shot per step of 2 block at speed of 4
m_nFireProb = 1;

m_bLastBlock = false;
m_LastCmd.cmd = CMD_DOWN; // !!!Don‘t change this
m_LastCmd.fire = false;
m_LastAim = NULL;

}

//-----------------------------------------------------------------------------
// Name: 
// Desc: 
//-----------------------------------------------------------------------------
CAiGenerator::~CAiGenerator() {
}

//-----------------------------------------------------------------------------
// Name: 
// Desc: 
//-----------------------------------------------------------------------------
bool CAiGenerator::CreateGenerator( CObjTank *ptk RECT scope ) {
m_pHost = ptk;
m_rtScope = scope;
m_LastPos = ptk->GetRect();
return true;
}

//-----------------------------------------------------------------------------
// Name: 
// Desc: 
//-----------------------------------------------------------------------------
void CAiGenerator::SetAim( CMobileobject *pmo int prob ) {
m_pAim = pmo;
if ( prob < 0 )
m_nAimProb = m_nMaxProb;
else
m_nAimProb = prob;
}

//-----------------------------------------------------------------------------
// Name: 
// Desc: 
//-----------------------------------------------------------------------------
void CAiGenerator::SetAvoid ( RECT rt ) {
// r d u l
SetRect( &m_rtAvoid[DIR_RIGHT] 0 rt.top-24 rt.left rt.bottom-24 );
SetRect( &m_rtAvoid[DIR_DOWN] rt.left-24 0 rt.right-24 rt.top );
SetRect( &m_rtAvoid[DIR_UP] rt.left-24 rt.top rt.right-24 g_frameWidth );
SetRect( &m_rtAvoid[DIR_LEFT] rt.left rt.top-24 g_frameWidth rt.bottom-24 );
}

//-----------------------------------------------------------------------------
// Name: 
// Desc: 
//-----------------------------------------------------------------------------
TANKCMD CAiGenerator::Generator( CMobileobject **ppmos int num )
{
TANKCMD curcmd blockcmd;
bool analyzecmd = false;

// Test last command‘s effect
if ( m_LastCmd.cmd == CMD_NONE ) {
blockcmd.cmd = CMD_NONE;
analyzecmd = true;

else {
// straight forward
if ( m_LastPos.left != m_pHost->GetRect().left || 
m_LastPos.top != m_pHost->GetRect().top ) {
curcmd.cmd = m_LastCmd.cmd;
if ( rand() % m_nFireMaxProb < m_nFireProb ) // 1/16
curcmd.fire = true;
else
curcmd.fire = false;
m_bLastBlock = false;

// block just now
else if ( !m_bLastBlock ) {
m_bLastBlock = true;
curcmd.cmd = m_Las

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       6110  2003-05-11 07:23  Tanker\God\Alpha3\aigenerator.cpp

     文件       1253  2003-05-11 07:14  Tanker\God\Alpha3\aigenerator.h

     文件       4238  2013-03-19 19:28  Tanker\God\Alpha3\Alpha3.dsp

     文件        535  2003-03-25 02:41  Tanker\God\Alpha3\Alpha3.dsw

     文件   12250112  2013-03-30 14:01  Tanker\God\Alpha3\Alpha3.ncb

     文件      49664  2013-03-30 14:01  Tanker\God\Alpha3\Alpha3.opt

     文件       5053  2013-03-30 13:57  Tanker\God\Alpha3\Alpha3.plg

     文件        877  2013-03-30 13:46  Tanker\God\Alpha3\Alpha3.sln

    ..A..H.     15360  2013-03-30 14:01  Tanker\God\Alpha3\Alpha3.suo

     文件       7848  2013-03-30 13:46  Tanker\God\Alpha3\Alpha3.vcproj

     文件       1409  2013-03-30 14:01  Tanker\God\Alpha3\Alpha3.vcproj.SGD-PC.孙广东.user

     文件       3676  2003-03-29 08:56  Tanker\God\Alpha3\collision.txt

     文件      34107  2004-09-27 03:27  Tanker\God\Alpha3\console.cpp

     文件       3788  2003-06-25 15:39  Tanker\God\Alpha3\console.h

     文件      29937  2003-03-27 07:50  Tanker\God\Alpha3\ddutil.cpp

     文件       5085  2013-03-29 22:11  Tanker\God\Alpha3\ddutil.h

     文件       3365  2013-03-30 13:50  Tanker\God\Alpha3\Debug\aigenerator.obj

     文件        381  2013-03-30 13:50  Tanker\God\Alpha3\Debug\Alpha3.exe.intermediate.manifest

     文件      17912  2013-03-30 13:50  Tanker\God\Alpha3\Debug\BuildLog.htm

     文件      37107  2013-03-30 13:50  Tanker\God\Alpha3\Debug\console.obj

     文件      15011  2013-03-30 13:50  Tanker\God\Alpha3\Debug\ddutil.obj

     文件      19610  2013-03-30 13:50  Tanker\God\Alpha3\Debug\dsutil.obj

     文件      10001  2013-03-30 13:50  Tanker\God\Alpha3\Debug\dxutil.obj

     文件      11230  2013-03-30 13:50  Tanker\God\Alpha3\Debug\mapinfo.obj

     文件       5152  2013-03-30 13:50  Tanker\God\Alpha3\Debug\msglist.obj

     文件       5754  2013-03-30 13:50  Tanker\God\Alpha3\Debug\network.obj

     文件      10638  2013-03-30 13:50  Tanker\God\Alpha3\Debug\object.obj

     文件       1357  2013-03-30 13:50  Tanker\God\Alpha3\Debug\resinfo.obj

     文件     986472  2013-03-30 13:50  Tanker\God\Alpha3\Debug\TankRes.res

     文件     281600  2013-03-30 13:50  Tanker\God\Alpha3\Debug\vc90.idb

............此处省略95个文件信息

评论

共有 条评论