Ejemplo n.º 1
0
        public static void Main(string[] args)
        {
            IList <object> products = new List <object>();

            products.Add("倚天剑");
            products.Add("屠龙刀");
            products.Add("断肠草");
            products.Add("葵花宝典");
            products.Add("四十二章经");

            AbstractObjectList objectList = new ProductList(products);      // 创建聚合对象
            AbstractIterator   iterator   = objectList.CreateIterator();    // 创建迭代器对象

            Console.WriteLine("正向遍历");
            while (!iterator.IsLast())
            {
                Console.Write(iterator.GetNextItem() + ",");
                iterator.Next();
            }

            Console.WriteLine();
            Console.WriteLine("-------------------------------------------------------");
            Console.WriteLine("逆向遍历");
            while (!iterator.IsFirst())
            {
                Console.Write(iterator.GetPreviousItem() + ",");
                iterator.Previous();
            }

            Console.ReadKey();
        }
Ejemplo n.º 2
0
        public void GenerateGameOverWindow2()
        {
            var BoardIter = new TilesCollection();

            for (int i = 0; i < 20; i++)
            {
                for (int y = 0; y < 20; y++)
                {
                    BoardIter[i, y] = TilesSet.GetTile(i, y);
                }
            }

            AbstractIterator iter = BoardIter.CreateIterator();

            object item = iter.First();

            while (item != null)
            {
                Rectangle ColorBlock = new Rectangle();
                ColorBlock.Name = "";

                ColorBlock.Fill = Brushes.Black;
                Tile tile = (Tile)item;
                Grid.SetColumn(ColorBlock, tile.x);
                Grid.SetRow(ColorBlock, tile.y);
                gridMain.Children.Add(ColorBlock);
                item = iter.Next();
            }
        }