示例#1
0
 public UnitMove(UnitMove original)
 {
     this.unit = (Unit)original.unit.Clone();
     this.old = original.old;
     this.dist = original.dist;
     this.shift = original.shift;
     this.comment = original.comment;
 }
示例#2
0
        //получить линейку очередности ходов стеков
        public List<UnitMove> GetLine(int size)
        {
            List<UnitMove> list = new List<UnitMove>(OldMoves);

            if (Units.Count <= 0)
                return list;

            State tmp = (State)this.Clone();

            for (int i = 0; i < size; i++)
            {
                int first;
                while ((first = tmp.FirstIndex()) == -1)
                    tmp.Tick();

                UnitMove um = new UnitMove(tmp.Units[first]);
                um.dist = tmp.NextUnitDist(first);
                list.Add(um);

                tmp.Move(100, "");
            }

            return list;
        }