当前位置: 首页>>代码示例>>C#>>正文


C# Figure.Clone方法代码示例

本文整理汇总了C#中Figure.Clone方法的典型用法代码示例。如果您正苦于以下问题:C# Figure.Clone方法的具体用法?C# Figure.Clone怎么用?C# Figure.Clone使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Figure的用法示例。


在下文中一共展示了Figure.Clone方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Main

    static void Main()
    {
        // GAME ON
        Initialize();
        currentFigure = figureManager.GetRandomFigure();    // create the first figure
        createdElements.Push(currentFigure);

        while (runGame)
        {
            Console.Clear();
            ProcceedKeyboardEntry();

            if (currentFigure.Position.Top + currentFigure.Height < PlayGroundHeight)
            {
                // Creating a copy to figure the next move and shift the copy and the original
                Figure copy = currentFigure.Clone() as Figure;
                createdElements.Pop();
                createdElements.Push(copy);

                if (copy.Position.Top + copy.Height < PlayGroundHeight)
                {
                    copy.Move(Direction.Down);
                    if (!hasColusion(copy, createdElements))
                    {
                        // The regular falling down
                        currentFigure.Move(Direction.Down);
                    }
                    else
                    {
                        // shift them back
                        createdElements.Pop();
                        createdElements.Push(currentFigure);
                        GetNextFigure();
                    }
                }
            }
            else
            {
                GetNextFigure();
            }

            // Display all stacked figures
            DisplayTetrisGrid();
            Thread.Sleep(gameSpeed);

            // Check for full rows and explode them
            for (int i = 0; i < PlayGroundHeight; i++)
            {
                if (CheckFullRow(createdElements, i, PlayGroundWidth))
                {
                    ExplodeTetrisRow(i);
                    // Move the upper rows on down
                    for (int j = i -1 ; j > 0; j--)
                    {
                        FallDownTetris(createdElements, j);
                    }
                }
            }

            // Remove the figures that not contain any figure elements
            // TODO: RemoveCachedEmptyFigures(createdElements);
        }

        // Game Over
    }
开发者ID:sirjordan,项目名称:CSharp,代码行数:65,代码来源:Game.cs


注:本文中的Figure.Clone方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。