本文整理汇总了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;未经允许,请勿转载。 |
请发表评论