• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C# IGrid类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中IGrid的典型用法代码示例。如果您正苦于以下问题:C# IGrid类的具体用法?C# IGrid怎么用?C# IGrid使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



IGrid类属于命名空间,在下文中一共展示了IGrid类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: GridEventManager

    public GridEventManager(ISetting setting, IGrid grid, IGroupFactory groupFactory)
    {
        _grid = grid;
        _groupFactory = groupFactory;

        _setting = setting;
    }
开发者ID:Mojopon,项目名称:ThreeSeven,代码行数:7,代码来源:GridEventManager.cs


示例2: Run

        public void Run(ref IGrid grid, SelectionFunction SelectionFunction)
        {
            var startAt = grid.GetRandomCell;
            active = new Stack<Cell>();
            active.Push(startAt);

            while(active.Any())
            {
                var cell = SelectionFunction(active);  
                var availableNeighbors = cell.Neighbors.Where(x => x.Links.Count == 0);

                if (availableNeighbors.Any())
                {
                    var neighbor = availableNeighbors.Sample();
                    cell.Link(neighbor);
                    active.Push(neighbor);
                }
                else
                {
                    var list = active.ToList();
                    list.Remove(cell);
                    active = new Stack<Cell>(list);
                }
            }
        }
开发者ID:davidjeet,项目名称:MazesCSharp,代码行数:25,代码来源:GrowingTree.cs


示例3: GetEmptySquares

 public IEnumerable<Point> GetEmptySquares(IGrid grid)
 {
     for (int x = 0; x < grid.Size; x++)
         for (int y = 0; y < grid.Size; y++)
             if (grid[x, y].Content == TileContent.Empty)
                 yield return new Point(x, y);
 }
开发者ID:Tirinst,项目名称:NeuralNetworksAndMachineLearning,代码行数:7,代码来源:ValidMoveGetter.cs


示例4: GridPagingSettings

 public GridPagingSettings(IGrid grid)
 {
     this.grid = grid;
     Style = GridPagerStyles.NextPreviousAndNumeric;
     CurrentPage = 1;
     PageSizesInDropDown = new[] {5, 10, 20, 50};            
 }
开发者ID:akhuang,项目名称:Asp.net-MVC-3,代码行数:7,代码来源:GridPagingSettings.cs


示例5: GridGroupingSettings

        public GridGroupingSettings(IGrid grid)
        {
            this.grid = grid;

            Groups = new List<GroupDescriptor>();
            Visible = true;
        }
开发者ID:vialpando09,项目名称:RallyPortal2,代码行数:7,代码来源:GridGroupingSettings.cs


示例6: Scene

        public Scene(float bandLambda, float breakingThreshold, float timeStep, int stepSize, IGrid grid)
        {
            TimeStep = timeStep;
            StepSize = stepSize;
            Stopwatch = new Stopwatch();

            var center = new Vector2(grid.Width, grid.Height) / 2;
            var offset = -center;

            Nodes = grid.Vertices.Select(v => new Node(v + offset)).ToArray();

            var edges = grid.Edges;
            Bands = new Band[edges.Count];

            for (int i = 0; i < edges.Count; i++)
            {
                var edge = edges[i];
                float length = Vector2.Distance(Nodes[edge.Index1].Position, Nodes[edge.Index2].Position);
                float restLength = 0.95f * length;
                Bands[i] = new Band(edge.Index1, edge.Index2, bandLambda, restLength, restLength * breakingThreshold);
            }

            BandCount = edges.Count;
            Impulses = new Vector2[Nodes.Length];
            PreviousImpulses = new Vector2[Nodes.Length];
        }
开发者ID:Jorenkv,项目名称:Tearing,代码行数:26,代码来源:Scene.cs


示例7: PrintLabirynth

        /// <summary>
        /// Prints the labyrinth to the console
        /// </summary>
        /// <param name="grid">the playfield</param>
        public void PrintLabirynth(IGrid grid)
        {
            Console.ForegroundColor = ConsoleColor.DarkCyan;
            Console.WriteLine(" " + new string('\u2593', (grid.TotalRows * 2) + 3));

            for (int row = 0; row < grid.TotalRows; row++)
            {
                Console.Write("{0,2}", "\u2593");
                for (int col = 0; col < grid.TotalCols; col++)
                {
                    var currentCell = grid.GetCell(row, col);
                    if (currentCell == GlobalConstants.PlayerSignSymbol)
                    {
                        Console.ForegroundColor = ConsoleColor.Green;
                    }
                    else
                    {
                        Console.ForegroundColor = ConsoleColor.DarkCyan;
                    }

                    Console.Write("{0,2}", currentCell);
                }

                Console.Write("{0,2}", "\u2593");
                Console.WriteLine();
            }
            Console.WriteLine(" " + new string('\u2593', (grid.TotalCols * 2) + 3));
        }
开发者ID:TeamLabyrinth5-Telerik,项目名称:Labyrinth,代码行数:32,代码来源:ConsoleRenderer.cs


示例8: plant_mines_on

        public void plant_mines_on(IGrid grid)
        {
            var coordinates = _random_coordinate_picker.pick_coordinates_from(_game_difficulty.minefield_size, _game_difficulty.number_of_mines);

            foreach(var coordinate in coordinates)
                grid.plant_mine_at(coordinate);
        }
开发者ID:elbandit,项目名称:CQRS-Minesweeper,代码行数:7,代码来源:MinePlanter.cs


示例9: Game

    public Game(IGrid grid, ISetting setting)
    {
        _setting = setting;
        _grid = grid;

        currentControl = _grid;
    }
开发者ID:Mojopon,项目名称:ThreeSeven,代码行数:7,代码来源:Game.cs


示例10: GetWinner

 public Piece GetWinner(IGrid grid)
 {
     foreach (var p in new[] { Piece.X, Piece.O })
         if (GetWinnableLines(grid.Size).Any(line => line.All(pos => p == grid[pos].Content)))
             return p;
     return null;
 }
开发者ID:Tirinst,项目名称:NeuralNetworksAndMachineLearning,代码行数:7,代码来源:WinDectector.cs


示例11: MoveRover

        private static void MoveRover(IGrid grid, string locationLine, string movesLine)
        {
            IDirectionParser directionParser = (IDirectionParser)container[typeof(IDirectionParser)];
            ILocationParser locationParser = (ILocationParser)container[typeof(ILocationParser)];

            Direction direction = directionParser.GetDirection(locationLine);
            Point location = locationParser.GetLocation(locationLine);
            IMoveSupplier supplier = (IMoveSupplier)container[typeof(IMoveSupplier)];

            supplier.Init(movesLine);
            Rover rover = new Rover(direction, location, grid, supplier);
            try
            {
                rover.ExecuteMoves();
            }
            catch (InvalidLocationException ex)
            {
                Console.WriteLine(MarsRover.IllegalLocation);
            }
            Console.WriteLine(String.Format("{0} {1} {2}", rover.Location.X, rover.Location.Y, rover.Direction));

            container.Release(supplier);
            container.Release(directionParser);
            container.Release(locationParser);
        }
开发者ID:stimms,项目名称:MarsRover,代码行数:25,代码来源:Program.cs


示例12: On

        public IGrid<Cell> On(IGrid<Cell> grid, Cell startAt = null)
        {
            if (startAt == null)
            {
                startAt = grid.RandomCell();
            }

            var stack = new Stack<Cell>();
            stack.Push(startAt);

            while (stack.Count != 0)
            {
                var current = stack.Peek();
                var neighbours = current.Neighbours().Where(n => n.Links.Count == 0).ToList();
                if (neighbours.Count == 0)
                {
                    stack.Pop();
                }
                else
                {
                    var neighbour = neighbours[rand.Next(neighbours.Count)];
                    current.Link(neighbour);
                    stack.Push(neighbour);
                }


            }

            return grid;
        }
开发者ID:euang,项目名称:Maze-in-csharp,代码行数:30,代码来源:RecursiveBackTracker.cs


示例13: SmartCPUBehaviour

    public SmartCPUBehaviour(IGrid grid, ISetting setting, CPUMode difficulty)
    {
        _grid = grid;
        _gridSimulator = new GridSimulator(grid, setting);
        _outputter = new OutputBestMovement(_gridSimulator);
        _grid.OnGroupAdd += new OnGroupAddEventHandler(OnGroupAddEvent);

        Debug.Log("difficulty " + difficulty + "set");
        switch(difficulty)
        {
            case CPUMode.Easy:
                timeBeforeAction = 0.5f;
                timeBetweenActions = 0.5f;
                break;
            case CPUMode.Normal:
                timeBeforeAction = 0.5f;
                timeBetweenActions = 0.3f;
                break;
            case CPUMode.Hard:
                timeBeforeAction = 0.2f;
                timeBetweenActions = 0.1f;
                break;
            case CPUMode.Kusotuyo:
                timeBeforeAction = 0f;
                timeBetweenActions = 0f;
                break;
        }
    }
开发者ID:Mojopon,项目名称:ThreeSeven,代码行数:28,代码来源:SmartCPUBehaviour.cs


示例14: GenerateGrid

        /// <summary>
        /// Generete game field
        /// </summary>
        /// <param name="grid">Field member</param>
        /// <param name="player"Player member></param>
        /// <returns>Genereted game filed</returns>
        public IGrid GenerateGrid(IPlayer player, IGrid grid)
        {
            DefaultRandomGenerator random = DefaultRandomGenerator.Instance();
            int percentageOfBlockedCells = random.Next(GlobalConstants.MinimumPercentageOfBlockedCells, GlobalConstants.MaximumPercentageOfBlockedCells);

            for (int row = 0; row < grid.TotalRows; row++)
            {
                for (int col = 0; col < grid.TotalCols; col++)
                {
                    int num = random.Next(0, 100);
                    if (num < percentageOfBlockedCells)
                    {
                        grid.SetCell(row, col, GlobalConstants.BlockedCellSymbol);
                    }
                    else
                    {
                        grid.SetCell(row, col, GlobalConstants.FreeCellSymbol);
                    }
                }
            }

            grid.SetCell(grid.TotalRows / 2, grid.TotalCols / 2, GlobalConstants.PlayerSignSymbol);

            this.MakeAtLeastOneExitReachable(grid, player);
            return grid;
        }
开发者ID:TeamLabyrinth5-Telerik,项目名称:Labyrinth,代码行数:32,代码来源:Initializer.cs


示例15: Run

        public void Run(ref IGrid grid)
        {
            var current = grid.GetRandomCell;

            while(current != null)
            {
                var unvisitedNeighbors = current.Neighbors.Where(x => x.Links.Count == 0); // get all neighbors of cell that does not have any links (yet)

                if (unvisitedNeighbors.Count() > 0)
                {
                    var neighbor = unvisitedNeighbors.Sample<Cell>();
                    current.Link(neighbor);
                    current = neighbor;
                }
                else
                {
                    current = null;
                }

                foreach(var cell in grid)
                {
                    var visitedNeighbors = cell.Neighbors.Where(x => x.Links.Count() > 0);
                    if ((cell.Links.Count == 0 || cell.Links== null) && visitedNeighbors.Count() > 0)
                    {
                        current = cell;

                        var neighbor = visitedNeighbors.Sample<Cell>();
                        current.Link(neighbor);

                        break;
                    }
                }
            }
        }
开发者ID:davidjeet,项目名称:MazesCSharp,代码行数:34,代码来源:HuntAndKill.cs


示例16: reveal_all_tiles_near_mines_surrounding_tile_at

        public void reveal_all_tiles_near_mines_surrounding_tile_at(Coordinate coordinate, IGrid _grid)
        {
            // minefield.reveal

            for (var row = coordinate.X - 1; row <= coordinate.X + 1; row++)
                for (var col = coordinate.Y - 1; col <= coordinate.Y + 1; col++)
                {
                    var coordinate_of_tile_under_inspection = Coordinate.new_coord(row, col);

                    if (!coordinate_of_tile_under_inspection.Equals(coordinate))
                    {
                        if (!has_already_been_checked(coordinate_of_tile_under_inspection))
                        {
                            coordinates_checked.Add(coordinate_of_tile_under_inspection);

                            if (_grid.contains_tile_at(coordinate_of_tile_under_inspection) &&
                                !_grid.mine_on_tile_at(coordinate_of_tile_under_inspection))
                            {
                                _grid.reveal_tile_at(coordinate_of_tile_under_inspection);

                                if (!_grid.mines_near_tile_at(coordinate_of_tile_under_inspection))
                                {
                                    reveal_all_tiles_near_mines_surrounding_tile_at(coordinate_of_tile_under_inspection, _grid);
                                }
                            }
                        }
                    }
                }
        }
开发者ID:elbandit,项目名称:CQRS-Minesweeper,代码行数:29,代码来源:MineClearer.cs


示例17: Initialize

    public void Initialize()
    {
        gameServer = new GameServer();

        gridOne = Substitute.For<IGrid>();
        gridTwo = Substitute.For<IGrid>();
    }
开发者ID:Mojopon,项目名称:ThreeSeven,代码行数:7,代码来源:GameServerTest.cs


示例18: Rover

 public Rover(Direction direction, Point location, IGrid grid, IMoveSupplier moveSupplier)
 {
     this.Direction = direction;
     this.Location = location;
     this.grid = grid;
     this.moveSupplier = moveSupplier;
 }
开发者ID:stimms,项目名称:MarsRover,代码行数:7,代码来源:Rover.cs


示例19: CheckColumn

        /// <summary>
        /// 
        /// </summary>
        internal CheckColumn(IGrid gridControl, string columnName)
            : base(columnName, typeof(bool))
        {
            //InitializeComponent();

            m_checkColumnHelper = new CheckColumnHelper(this, gridControl);
        }
开发者ID:urmilaNominate,项目名称:mERP-framework,代码行数:10,代码来源:CheckColumn.cs


示例20: GridDataBindingSettings

 public GridDataBindingSettings(IGrid grid)
 {
     this.grid = grid;
     Server = new GridBindingSettings(grid);
     Ajax = new GridBindingSettings(grid);
     WebService = new GridBindingSettings(grid);
 }
开发者ID:juanplopes,项目名称:simple-telerik,代码行数:7,代码来源:GridDataBindingSettings.cs



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# IGridService类代码示例发布时间:2022-05-24
下一篇:
C# IGraphicsService类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap