资源简介
对战坦克大战(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\ob
文件 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个文件信息
相关资源
- VC++ 多线程文件读写操作
- 移木块游戏,可以自编自玩,vc6.0编写
- VC++MFC小游戏实例教程(实例)+MFC类库
- VC++实现CMD命令执行与获得返回信息
- VC++基于OpenGL模拟的一个3维空间模型
- 基于VC++的SolidWorks二次开发SolidWorks
- 派克变换VC++源码(附文档)
- VC++ 串口
- VC++ 大富翁4_大富翁游戏源码
- VC++ 摄像头视频采集与回放源程序
- 转 VC++ 实现电子邮件(Email)发送
- 基于MFC的VC++仿QQ浏览器源码(雏形)
- VC++ 服务程序编写及安装与卸载
- VC++6.0番茄西红柿VAXvirsual assist X完美破
- 基于改进的fcm算法的图像分割vc++
- VC++6.0 绿色版,免安装,非常好用。
- Microsoft Visual C++ 2005 Redistributable Pack
- VC++MFC课程设计的学生成绩管理系统
- 大智慧365DLL插件设计
- VC++6.0汉化包
- VC++完整商业界面源码(再上传)
- VC++编程技术600个大型项目源码.rar
- VC++实现RSA加密算法
- VC++ 中国象棋经典游戏源代码
- 郁金香VC++游戏辅助视频教程
- C语言进阶源码---基于graphics实现图书
- 摄影测量相对定向VC++程序
- VC++数字图像处理典型算法及实现
- VC++酒店客房管理系统 MFC
- 车站计算机联锁vc++6.0程序代码
评论
共有 条评论