Example #1
0
File: Core.cs Project: manhg/malyst
 /// <summary>
 /// Kiểm tra ô có bị đánh dấu hay không.
 /// Điều kiện: điểm tâm center phải rơi vào trong ô đó
 /// Phương pháp: Quét ô hiện tại với góc phần tư
 ///
 /// Develop: tương lai có lẽ nên dùng phương pháp loang vì điểm tâm không đạt độ
 /// chính xác cao lắm.
 /// </summary>
 /// <param name="center"></param>
 /// <returns></returns>
 public bool IsTicked(Spot center)
 {
     // Kiểm tra góc tư dưới phải
     for (int part = 0; part < 4; part++)
     {
         fill = 0;
         for (int y = 0; y <= R; y++)
         {
             for (int x = 0; x <= Math.Sqrt(RR - y * y); x++)
             {
                 fill += IsPencil(center.X + x * TickPart[part, 0], center.Y + y * TickPart[part, 1]);
             }
         }
         if (fill >= RequireFill)
         {
             return(true);
         }
     }
     return(false);
 }
Example #2
0
File: Core.cs Project: manhg/malyst
 public bool IsSmallTicked(Spot center)
 {
     // Kiểm tra góc tư dưới phải
     fill = 0;
     for (int part = 0; part < 4; part++)
     {
         for (int y = 0; y <= XR; y++)
         {
             for (int x = 0; x <= Math.Sqrt(XRR - y * y); x++)
             {
                 fill += IsBlack(center.X + x * TickPart[part, 0], center.Y + y * TickPart[part, 1]);
             }
         }
     }
     if (fill >= XRequireFill)
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Example #3
0
File: Core.cs Project: manhg/malyst
 public int IsPencil(Spot point)
 {
     return(IsPencil(point.X, point.Y));
 }
Example #4
0
File: Core.cs Project: manhg/malyst
 public int IsBlack(Spot spot)
 {
     return(IsBlack(spot.X, spot.Y));
 }
Example #5
0
File: Core.cs Project: manhg/malyst
 public static double Distance(Spot lhs, Spot rhs)
 {
     return(Math.Sqrt((lhs.X - rhs.X) * (lhs.X - rhs.X)
                      + (lhs.Y - rhs.Y) * (lhs.Y - rhs.Y)));
 }
Example #6
0
File: Core.cs Project: manhg/malyst
 /// <summary>
 /// Copy constructor
 /// </summary>
 /// <param name="rhs"></param>
 public Spot(Spot rhs)
 {
     X = rhs.X;
     Y = rhs.Y;
 }