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


C# LinkedListNode.Move方法代码示例

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


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

示例1: Run


//.........这里部分代码省略.........
                    plane.Position.X++;

                    if (plane.Position.X > settings.Height - plane.PlaneHeight)
                    {
                        plane.Position.X = settings.Height - plane.PlaneHeight;
                    }
                }

                if (keyPressed.Key == ConsoleKey.LeftArrow)
                {
                    plane.Position.Y--;

                    if (plane.Position.Y < 0)
                    {
                        plane.Position.Y = 0;
                    }
                }

                if (keyPressed.Key == ConsoleKey.RightArrow)
                {
                    plane.Position.Y++;

                    if (plane.Position.Y > settings.Width - plane.PlaneWidth)
                    {
                        plane.Position.Y = settings.Width - plane.PlaneWidth;
                    }
                }

                if (keyPressed.Key == ConsoleKey.Spacebar)
                {
                    projectile = new Projectile(new Point(plane.Position.X - 1, plane.Position.Y + plane.PlaneWidth / 2));
                    projectilesFired.AddLast(projectile);
                    PrintGameObject.PrintObject(projectile);
                }

                if (keyPressed.Key == ConsoleKey.P)
                {
                    PauseScreenPage pause = new PauseScreenPage();
                    pause.PauseMain();
                    settings.Pause = !settings.Pause;
                    Console.ReadKey();
                    Console.Clear();
                }

                plane.Print();
            }

            while (projectilesFired.Count > 0)
            {
                Projectile current = (projectilesFired.First).Value;
                projectilesFired.RemoveFirst();
                PrintGameObject.ClearObject(current);
                current.Move();

                if (!current.HaveCollision)
                {
                    PrintGameObject.PrintObject(current);
                    projectilesInAir.AddLast(current);
                }
            }

            projectilesFired = projectilesInAir;
            projectilesInAir = new LinkedList<Projectile>();

            //foreach (var projectile in projectilesFired)
            //{
            //    if (projectile.UpLeftCorner.X >= 0)
            //    {
            //        PrintGameObject.ClearObject(projectile);
            //        projectile.Move();
            //        if (projectile.UpLeftCorner.X > 0)
            //        {
            //            PrintGameObject.PrintObject(projectile);
            //        }
            //    }
            //}

            while (gameObjectsList.Count > 0)
            {
                current = gameObjectsList.First;
                gameObjectsList.RemoveFirst();
                PrintGameObject.ClearObject(current.Value);
                current.Value.Move();

                if (!current.Value.HaveCollision)
                {
                    PrintGameObject.PrintObject(current.Value);
                    newGameObjectsList.AddLast(current);
                }
            }

            gameObjectsList = newGameObjectsList;
            newGameObjectsList = new LinkedList<GameObject>();

            status.Score += 1;
            Thread.Sleep(sleepTime);
        }

        Settings.PrintGameOver();
    }
开发者ID:EliPopova,项目名称:Fermi-in-the-air,代码行数:101,代码来源:Engine.cs


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