本文整理汇总了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));
}
示例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);
}
示例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();
}