程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> A*尋路算法基於C#實現

A*尋路算法基於C#實現

編輯:C#入門知識

玩過即時戰略,RPG等類型的游戲的朋友一定會知道,當我們用鼠標選取某些單位並命令其到達地圖上確定的位置時,這些單位總是可以自動的選擇最短的路徑到達。這個時候我們就會聯想到大名鼎鼎的A*尋路算法,下文簡略介紹算法實現原理,並附上C#實現方法。

    算法原理請見:http://data.gameres.com/message.asp?TopicID=25439

 

\\代碼
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;

namespace ConsoleApplication2
{
class Program
{





static void Main(string[] args)
{



test mytest = new test();

//定義出發位置
Point pa = new Point();
pa.x = 1;
pa.y = 1;

//定義目的地
Point pb = new Point();
pb.x = 8;
pb.y = 8;

mytest.FindWay(pa, pb);

mytest.PrintMap();
Console.ReadLine();
}
}
class test
{

//數組用1表示可通過,0表示障礙物
byte[,] R = new byte[10, 10] {
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
{ 1, 1, 1, 1, 0, 1, 1, 1, 1, 1 },
{ 1, 1, 1, 1, 0, 1, 1, 1, 1, 1 },
{ 1,
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved