资源简介
采用遗传算法搜索最优路径代码
代码片段和文件信息
#include “CBobsMap.h“
//this defines our little maze which Bob wanders
//around in
const int CBobsMap::map[MAP_HEIGHT][MAP_WIDTH] =
{1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 0 1 0 0 0 0 0 1 1 1 0 0 0 1
8 0 0 0 0 0 0 0 1 1 1 0 0 0 1
1 0 0 0 1 1 1 0 0 1 0 0 0 0 1
1 0 0 0 1 1 1 0 0 0 0 0 1 0 1
1 1 0 0 1 1 1 0 0 0 0 0 1 0 1
1 0 0 0 0 1 0 0 0 0 1 1 1 0 1
1 0 1 1 0 0 0 1 0 0 0 0 0 0 5
1 0 1 1 0 0 0 1 0 0 0 0 0 0 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1};
const int CBobsMap::m_iMapHeight = MAP_HEIGHT;
const int CBobsMap::m_iMapWidth = MAP_WIDTH;
const int CBobsMap::m_iStartX = 14;
const int CBobsMap::m_iStartY = 7;
const int CBobsMap::m_iEndX = 0;
const int CBobsMap::m_iEndY = 2;
//-------------------------------Render -----------------------------
void CBobsMap::Render(const int cxClient
const int cyClient
HDC surface)
{
const int border = 20;
int BlockSizeX = (cxClient - 2*border)/m_iMapWidth;
int BlockSizeY = (cyClient - 2*border)/m_iMapHeight;
HBRUSH BlackBrush RedBrush OldBrush;
HPEN NullPen OldPen;
//grab a null pen so we can see the outlines of the cells
NullPen = (HPEN)GetStockobject(NULL_PEN);
//grab a brush to fill our cells with
BlackBrush = (HBRUSH)GetStockobject(BLACK_BRUSH);
//create a brush for the exit/entrance points
RedBrush = CreateSolidBrush(RGB(25500));
//select them into the device conext
OldBrush = (HBRUSH)Selectobject(surface BlackBrush);
OldPen = (HPEN)Selectobject(surface NullPen);
for (int y=0; y {
for (int x=0; x {
//calculate the corners of each cell
int left = border + (BlockSizeX * x);
int right = left + BlockSizeX;
int top = border + (BlockSizeY * y);
int bottom = top + BlockSizeY;
//draw black rectangle if this is a wall
if (map[y][x] == 1)
{
Selectobject(surface BlackBrush);
//draw the cell
Rectangle(surface left top right bottom);
}
//draw red for exit and entrance
if ( (map[y][x] == 5) || (map[y][x] == 8))
{
Selectobject(surface RedBrush);
//draw the cell
Rectangle(surface left top right bottom);
}
}
}
//restore the original brush
Selectobject(surface OldBrush);
//and pen
Selectobject(surface OldPen);
}
//-------------------------------MemoryRender ------------------------
//
// //draws whatever path may be stored in the memory
//--------------------------------------------------------------------
void CBobsMap::MemoryRender(const int cxClient
const int cyClient
HDC surface)
{
const int border = 20;
int BlockSizeX = (cxClient - 2*border)/m_iMapWidth;
int BlockSizeY = (cyClient - 2*border)/m_iMapHeight;
HBRUSH GreyBrush OldBrush;
HPEN NullP
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 6093 2003-11-18 18:44 Pathfinder\CBobsMap.cpp
文件 1507 2003-11-18 18:44 Pathfinder\CBobsMap.h
文件 7979 2003-11-18 18:44 Pathfinder\CgaBob.cpp
文件 3624 2003-11-18 18:44 Pathfinder\CgaBob.h
文件 557 2003-11-18 18:44 Pathfinder\defines.h
文件 5894 2003-11-18 18:44 Pathfinder\main.cpp
文件 4432 2003-11-18 18:44 Pathfinder\pathfinder.dsp
文件 545 2003-11-18 18:44 Pathfinder\pathfinder.dsw
文件 107520 2010-07-02 19:22 Pathfinder\pathfinder.ncb
文件 57856 2010-07-02 19:22 Pathfinder\pathfinder.opt
文件 1662 2010-07-02 19:22 Pathfinder\pathfinder.plg
文件 371 2003-11-18 18:44 Pathfinder\utils.cpp
文件 1152 2003-11-18 18:44 Pathfinder\utils.h
目录 0 2010-12-09 14:11 Pathfinder
----------- --------- ---------- ----- ----
199192 14
- 上一篇:2021年考研英语5500个词汇
- 下一篇:Apache官方中文帮助手册
相关资源
- 企业人事管理系统(源代码+数据库文
- 2007年全国数模大赛B题代码略改动
- sht75温度传感-c51代码
- 获取dllexe 中的资源图片源代码
- 淘宝秒杀源代码
- 遗传算法解决车辆路径问题VRP
- 适合初学者借鉴的arduino智能小车代码
- telnet 客户端和服务端源代码
- vue.js点餐app手机触屏滑动分类菜单切
- 非常小的恶搞电脑代码
- c primer plus 第六版源码及习题参考代码
- Unity 安卓串口收发代码
- 几个cuda源代码
- Faster RCNN pytroch代码
- 沪深两市-创业板-中小板-科创板-所有
- SourceInsight 完美的配色方案 theme_Mon
- 寻迹小车代码
- 利用相场法模拟金属晶粒生长的计算
- 冒险岛079代码大全
- 二进制转换为十进制Verilog代码
- 基于AT89S51利用MAX485半双工串行口通讯
- 《实战OPENGL三维可视化系统开发与源
- 机械设计——V带传动设计说明书及
- mybatis plus+springboot反向生成代码
- STM32FOC电机控制角度速度计算源代码
- cic verilog 代码
- 基于遗传算法的排课系统实现
- MC9S12XS128驱动0v7620 图像采集源程序C代
- 红外通信代码和仿真电路图原创
- anyview手机连连看源代码
评论
共有 条评论