资源简介
在实例中把寻路算法写成了一个专门的类。使用非常方便。效率很高。可以直接显示路径看结果,也可以让它一步步显示出搜索的过程。鼠标在界面上画出一些黑点可以作为障碍,来考验它的能力,呵呵

代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace AI
{
///
/// 用于构成把需要寻路的地图抽像成地图副本(StepNode类型的二维数组)
///
public class StepNode
{
public int RowIndex;
public int ColIndex;
public StepNode FartherNode;
public int F
{
get { return G + H; }
}
public int G;
public int H;
public int State;
}
public delegate void SearchPathNotifactionEventHandle(int RowIndexint ColunmIndex);
public class AIPath
{
public bool IsOpenNotification = false;
public SearchPathNotifactionEventHandle StepReachEvent;
public SearchPathNotifactionEventHandle StepWantToBlockCollectEvent;
StepNode StartNode = null;
StepNode EndNode = null;
public List OpenNode = new List();
public List FootPath = new List();
int RowCount;
int ColCount;
public StepNode[] SubMap;
///
/// 创建一个指定(像素或“格式”等)行列数量智能搜索程序(注意行与列与图片的长宽的对应关系)
///
/// 行数量
/// 列数量
public AIPath(int rowcountint colcount)
{
RowCount = rowcount;
ColCount = colcount;
SubMap = new StepNode[RowCountColCount];
for (int i = 0; i < rowcount; i++)
{
for (int j = 0; j < colcount; j++)
{
SubMap[i j] = new StepNode();
SubMap[i j].ColIndex = j;
SubMap[i j].RowIndex = i;
SubMap[i j].State = 0;
SubMap[i j].H = 0;
SubMap[i j].G = 0;
}
}
}
///
/// 将搜索程序重置到初始状态,清除之前搜索过程中产生的数据
///
public void ReSet()
{
this.OpenNode.Clear();
this.FootPath.Clear();
for (int i = 0; i < RowCount; i++)
{
for (int j = 0; j < ColCount; j++)
{
if (SubMap[i j].State == 5)
{
SubMap[i j].State = 0;
SubMap[i j].H = 0;
SubMap[i j].G = 0;
SubMap[i j].FartherNode = null;
}
}
}
}
///
/// 设置地图副本中起始点和结束点(本程序地图副本用的是一个数组用来表示地图上的“格子”)
///
/// 起始点的行索引
/// 起始点的列索引
/// 结束点的行索引
/// 结束点的列索引
public void SetStartEnd(int SR int SC int ER int EC)
{
this.StartNode = SubMap[SR SC];
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3767 2011-09-27 19:33 AI\AI\AI.csproj
文件 10427 2011-09-27 22:49 AI\AI\AIPath.cs
文件 177152 2011-09-27 22:57 AI\AI\bin\Debug\AI.exe
文件 36352 2011-09-27 22:57 AI\AI\bin\Debug\AI.pdb
文件 14328 2011-09-27 23:31 AI\AI\bin\Debug\AI.vshost.exe
文件 5856 2011-09-27 22:57 AI\AI\mainForm.cs
文件 8668 2011-09-27 22:54 AI\AI\mainForm.Designer.cs
文件 245224 2011-09-27 22:54 AI\AI\mainForm.resx
文件 380 2011-09-27 23:31 AI\AI\obj\Debug\AI.csproj.FileListAbsolute.txt
文件 850 2011-09-27 22:56 AI\AI\obj\Debug\AI.csproj.GenerateResource.Cache
文件 177152 2011-09-27 22:57 AI\AI\obj\Debug\AI.exe
文件 159972 2011-09-27 22:56 AI\AI\obj\Debug\AI.mainForm.resources
文件 36352 2011-09-27 22:57 AI\AI\obj\Debug\AI.pdb
文件 180 2011-09-27 22:04 AI\AI\obj\Debug\AI.Properties.Resources.resources
文件 486 2011-09-27 19:25 AI\AI\Program.cs
文件 1336 2011-09-27 19:24 AI\AI\Properties\AssemblyInfo.cs
文件 2854 2011-09-27 19:24 AI\AI\Properties\Resources.Designer.cs
文件 5612 2011-09-27 19:24 AI\AI\Properties\Resources.resx
文件 1087 2011-09-27 19:24 AI\AI\Properties\Settings.Designer.cs
文件 249 2011-09-27 19:24 AI\AI\Properties\Settings.settings
文件 896 2011-09-27 19:24 AI\AI.sln
..A..H. 13824 2011-09-27 23:31 AI\AI.suo
目录 0 2011-09-27 19:25 AI\AI\obj\Debug\Refactor
目录 0 2011-09-27 19:24 AI\AI\obj\Debug\TempPE
目录 0 2011-09-27 22:04 AI\AI\bin\Debug
目录 0 2011-09-27 22:57 AI\AI\obj\Debug
目录 0 2011-09-27 19:25 AI\AI\bin
目录 0 2011-09-27 19:24 AI\AI\obj
目录 0 2011-09-27 19:24 AI\AI\Properties
目录 0 2011-09-27 22:57 AI\AI
............此处省略4个文件信息
- 上一篇:基于C#的波形显示控件的实现源码
- 下一篇:c# yv12转换rgb
相关资源
- C#解析HL7消息的库135797
- C# OCR数字识别实例,采用TessnetOcr,对
- 考试管理系统 - C#源码
- asp.net C#购物车源代码
- C#实时网络流量监听源码
- C#百度地图源码
- Visual C#.2010从入门到精通配套源程序
- C# 软件版本更新
- C#屏幕软键盘源码,可以自己定制界面
- 智慧城市 智能家居 C# 源代码
- c#获取mobile手机的IMEI和IMSI
- C#实现简单QQ聊天程序
- 操作系统 模拟的 欢迎下载 C#版
- C#写的计算机性能监控程序
- 用C#实现邮件发送,有点类似于outlo
- MVC model层代码生成器 C#
- c#小型图书销售系统
- C# Socket Server Client 通讯应用 完整的服
- c# winform 自动登录 百度账户 源代码
- C#编写的16进制计算器
- C#TCP通信协议
- C# 数据表(Dataset)操作 合并 查询一
- C#语音识别系统speechsdk51,SpeechSDK51L
- 数据库备份还原工具1.0 C# 源码
-
[免费]xm
lDocument 节点遍历C# - EQ2008LEDc#开发实例
- DirectX.Capturec# winform 操作摄像头录像附
- c# 实现的最大最小距离方法对鸢尾花
- C#版保龄球记分代码
- C#自定义控件
评论
共有 条评论