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


C# Board.Select方法代码示例

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


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

示例1: BoardViewModel

        public BoardViewModel()
        {
            board = Board.From(new[] { "!", "N", ",", "K", "#", "v", "w", "z", "A" });
            board.TurnEnded += Board_TurnEnded;
            currentTurnResult = TurnResult.Pending;

            Cards = new List<CardViewModel>(board.Select((c,i) => new CardViewModel(c,i)));
            TurnUp = new MvxCommand<int>(async (p) => await TurnUpActionAsync(p));
        }
开发者ID:andreminelli,项目名称:MemoryGame,代码行数:9,代码来源:BoardViewModel.cs

示例2: Eval

        protected override int Eval(Board board, int color)
        {
            if (!networks.ContainsKey(board.EmptyCount)) {
                return base.Eval(board, color);
            }

            var quantification = board.Select(c => c.Type == StoneType.Black ? 0.9 : (c.Type == StoneType.White ? 0.1 : 0.5)).ToArray();
            var output = networks[board.EmptyCount].Compute(quantification);
            var eval = (output[0] * 2 * Constants.StoneCount - Constants.StoneCount);

            return (int)(color == StoneType.Black ? eval : -eval);
        }
开发者ID:coolcode,项目名称:ai,代码行数:12,代码来源:NeuralEngine.cs

示例3: Main

        static void Main(string[] args)
        {
            List<IState> states = new List<IState>();
            states.Add(new State('@' , ConsoleColor.Red));
            states.Add(new State('*', ConsoleColor.Green));
            states.Add(new State('#', ConsoleColor.Yellow));
            states.Add(new State('%', ConsoleColor.Blue));
            states.Add(new State('$', ConsoleColor.White));
            states.Add(new State('&', ConsoleColor.DarkMagenta));
            var height = 30;
            var width = 30;
            Board b = new Board(height, width, states);

            b.InitializeBoard();

            int posx = 0;
            int posy = 0;
            int? prevcol = null, prevrow = null;
            bool draw = true;
            while (true)
            {
                if (draw)
                    PrintBoard(b, posx, posy, prevrow, prevcol);
                draw = true;
                Console.SetCursorPosition(posx, posy);
                var key = Console.ReadKey(true);
                switch (key.Key)
                {
                    case ConsoleKey.RightArrow:
                        posx += 2;
                        if (posx > 2 * (width - 1))
                            posx = 2 * (width - 1);
                        draw = false;
                        continue;
                    case ConsoleKey.LeftArrow:
                        posx -= 2;
                        if (posx < 0)
                            posx = 0;
                        draw = false;
                        continue;
                    case ConsoleKey.DownArrow:
                        posy += 1;
                        if (posy > height - 1)
                            posy = height - 1;
                        draw = false;
                        continue;
                    case ConsoleKey.UpArrow:
                        posy -= 1;
                        if (posy < 0)
                            posy = 0;
                        draw = false;
                        continue;
                    case ConsoleKey.Enter:
                        if (prevcol == null)
                        {
                            prevcol = posx / 2;
                            prevrow = posy;
                            b.Select(prevrow.Value, prevcol.Value);
                        }
                        else
                        {
                            b.Swap(prevrow.Value, prevcol.Value, posy, posx / 2);
                            bool firsttime = true;
                            while (true)
                            {
                                var list = new List<Tuple<int, int, int, int>>();
                                b.CheckBoard(out list);
                                if (list.Count == 0)
                                {
                                    if (firsttime)
                                        b.Swap(prevrow.Value, prevcol.Value, posy, posx / 2);
                                    break;
                                }
                                else
                                {
                                    b.DeleteFromBoard(list);
                                    PrintBoard(b, posx, posy, prevrow, prevcol);
                                    Thread.Sleep(1000);
                                    b.Gravity();
                                }
                                firsttime = false;
                            }
                            b.Unselect();
                            prevcol = null;
                            prevrow = null;
                        }
                        continue;
                    case ConsoleKey.Q:
                        goto end;
                }

            }
            end:
            Console.ReadKey();
        }
开发者ID:pc-magas,项目名称:CrushClone,代码行数:95,代码来源:Program.cs


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