资源简介
对战坦克大战(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++实现des加密和解密
- vc++6.0中文版支持win7
- VC++串口通信编码
- VC++抓包程序代码
- vc上位机详解
- VC++单文档视图打开bmp图片
- VC++局域网聊天室完整版
- 大鱼吃小鱼游戏VC++源码
- 太空入侵者游戏源代码VC++
- 小型网络游戏vc++——网络五子棋
- VC++雷达模拟程序
- 用VC++编写的利用MITK读取五种图片格式
- VC++ socket 聊天室客户端
- VC++帮助文档
- VC++6.0对txt文件的增删改查操作
- VC++面向对象与可视化程序设计第三版
- 基于MFC的流程图绘制工具
- DevC++ 4.9
- 手写数字识别_附带VC++源程序和训练素
- vc++ 数字图像处理典型算法及实现 源
- vc++使用大漠使用和dll头文件等.rar
- 在vs中仿真uc/gui的例程,摆脱vc++
- 机载激光雷达 Las格式读写及显示
- VC++定义一只红色画笔,绘制一个等边
- VC++编写的简单邮件客户端
- 仓库管理系统(SQL+VC++6.0)
- 组态软件设计与开发源代码.rar
- VC++实现的计算器,用MFC实现界面操作
- VC++2010 Express计算机二级考试所用编译
- Skin++3.0+For+VC++完全破解版
评论
共有 条评论