Exemplo n.º 1
0
        /// <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));
        }
Exemplo n.º 2
0
        /// <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);
        }