FindPath.cs

(开头部分) 13KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

/*
 * 由SharpDevelop创建。
 * 用户: Administrator
 * 日期: 2019/9/16
 * 时间: 10:35
 * 
 * 要改变这种模板请点击 工具|选项|代码编写|编辑标准头文件
 */
using System;
using System.Collections;

namespace WaiGuaLLK
{
	/// <summary>
	/// Description of FindPath.
	/// </summary>
	public class FindPath
	{
		// 记录两个图片之间连线的路径
		private ArrayList LineX = new ArrayList();
		private ArrayList LineY = new ArrayList();
		// 地图是一个12 × 19的矩阵
		public const int RowCount = 12;
		public const int ColCount = 19;
		
        //ImagePoint[,] map = null;


		public FindPath()
		{
			
		}
		/* 寻找两点之间的路径,如果连点之间能连通,则Line就记录了两点之间所经过的路线
         * 如不能通过,则Line为空
         * 两点之间总共有三中情况:
         * 1、 0个折点
         * 2、 1个折点
         * 3、 2个折点
         * 
         * 判断起点和终点的依据: 
         *    两张图片如果在同一行上, 左边(西方)的是起点, 右边(东方)的是终点
         *    两张图片如果在同一列上, 上面(北方)的是起点, 下面(南方)的是终点
         *    两张图片既不在同一列又不再同一行上, 则左边(西方)的是起点, 右边(东方)的是终点
        */
        public bool SerchLine(int StartPositionX1, int StartPositionY1,int EndPositionX2,int EndPositionY2)
        {
        	if (Boxs[StartPositionX1,StartPositionY1] != Boxs[EndPositionX2,EndPositionY2])   // 如果两张图片不相同,则返回
                return false;

            if (StartPositionX1 == EndPositionX2) // 如果两张图片在同一行上
            {
                if (CheckHorizontal(StartPositionX1,StartPositionY1,EndPositionX2,EndPositionY2)) // 先检查一条线(0个折点)能否将两张图片相连
                    return true;
                if (TwoCorner_Row(StartPositionX1,StartPositionY1,EndPositionX2,EndPositionY2)) // 如果一条线不能, 则检查三条线(2个折点)能否将两张图片相连
                    return true;
            }
            else if (StartPositionY1 == EndPositionY2)// 如果两张图片在同一列上
            {
                if (CheckVertical(StartPositionX1,StartPositionY1,EndPositionX2,EndPositionY2))  // 先检查一条线(0个折点)能否将两张图片相连
                    return true;
后面还有 272 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。