/// <summary> /// 获取新的坐标信息 /// </summary> /// <param name="sharp"></param> /// <returns></returns> private Tuple <int, int> GetNewPoint(AreaSharp sharp) { #region 获取新的坐标信息 switch (sharp.index) { case 1: { return(Tuple.Create(sharp.X + 1, sharp.Y)); } case 2: { return(Tuple.Create(sharp.X + 2, sharp.Y)); } case 3: { return(Tuple.Create(sharp.X, sharp.Y + 1)); } case 4: { return(Tuple.Create(sharp.X + 1, sharp.Y + 1)); } case 5: { return(Tuple.Create(sharp.X + 2, sharp.Y + 1)); } case 6: { return(Tuple.Create(sharp.X, sharp.Y + 2)); } case 7: { return(Tuple.Create(sharp.X + 1, sharp.Y + 2)); } case 8: { return(Tuple.Create(sharp.X + 2, sharp.Y + 2)); } } #endregion return(Tuple.Create(sharp.X, sharp.Y)); }
/// <summary> /// 获取新的坐标信息 /// </summary> /// <param name="sharp">缩略图形状实体</param> /// <returns></returns> public static Point GetFightNewPoint(AreaSharp sharp) { #region 获取新的坐标信息 var point = new Point(); switch (sharp.index) { case 0: { point.X = sharp.X - 2; point.Y = sharp.Y - 2; } break; case 1: { point.X = sharp.X - 1; point.Y = sharp.Y - 2; } break; case 2: { point.X = sharp.X - 0; point.Y = sharp.Y - 2; } break; case 3: { point.X = sharp.X + 1; point.Y = sharp.Y - 2; } break; case 4: { point.X = sharp.X + 2; point.Y = sharp.Y - 2; } break; case 5: { point.X = sharp.X - 2; point.Y = sharp.Y - 1; } break; case 6: { point.X = sharp.X - 1; point.Y = sharp.Y - 1; } break; case 7: { point.X = sharp.X - 0; point.Y = sharp.Y - 1; } break; case 8: { point.X = sharp.X + 1; point.Y = sharp.Y - 1; } break; case 9: { point.X = sharp.X + 2; point.Y = sharp.Y - 1; } break; case 10: { point.X = sharp.X - 2; point.Y = sharp.Y; } break; case 11: { point.X = sharp.X - 1; point.Y = sharp.Y; } break; case 12: { point.X = sharp.X; point.Y = sharp.Y; } break; case 13: { point.X = sharp.X + 1; point.Y = sharp.Y; } break; case 14: { point.X = sharp.X + 2; point.Y = sharp.Y; } break; case 15: { point.X = sharp.X - 2; point.Y = sharp.Y + 1; } break; case 16: { point.X = sharp.X - 1; point.Y = sharp.Y + 1; } break; case 17: { point.X = sharp.X - 0; point.Y = sharp.Y + 1; } break; case 18: { point.X = sharp.X + 1; point.Y = sharp.Y + 1; } break; case 19: { point.X = sharp.X + 2; point.Y = sharp.Y + 1; } break; case 20: { point.X = sharp.X - 2; point.Y = sharp.Y + 2; } break; case 21: { point.X = sharp.X - 1; point.Y = sharp.Y + 2; } break; case 22: { point.X = sharp.X - 0; point.Y = sharp.Y + 2; } break; case 23: { point.X = sharp.X + 1; point.Y = sharp.Y + 2; } break; case 24: { point.X = sharp.X + 2; point.Y = sharp.Y + 2; } break; } #endregion if (point.X < 0 || point.X > 15 || point.Y < 0 || point.Y > 8) { return(null); } return(point); }