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 算力,解读结果公开显示在下面。
还没有人解读过这个文件。