コード例 #1
0
ファイル: cAppMath.cs プロジェクト: masums/platformerGame
        public static void Raytrace(int x0, int y0, int x1, int y1, VisitMethod breakVisit)
        {
            int dx    = Math.Abs(x1 - x0);
            int dy    = Math.Abs(y1 - y0);
            int x     = x0;
            int y     = y0;
            int n     = 1 + dx + dy;
            int x_inc = (x1 > x0) ? 1 : -1;
            int y_inc = (y1 > y0) ? 1 : -1;
            int error = dx - dy;

            dx *= 2;
            dy *= 2;
            while (n > 0 && !breakVisit(x, y))
            //for (; n > 0; --n)
            {
                if (error > 0)
                {
                    x     += x_inc;
                    error -= dy;
                }
                else
                {
                    y     += y_inc;
                    error += dx;
                }

                --n;
            }
        }
コード例 #2
0
 public MethodConversationNode(string text, string id, VisitMethod onVisit)
 {
     Text    = text;
     ID      = id;
     OnVisit = onVisit;
 }