private PieceType GetWinnerInOneLine(IBoard board, IPositions line) { var count = 0; var pre = PieceType.Empty; foreach (var position in line.Positions) { var piece = board.Get(position); if (!pre.Equals(PieceType.Empty) && pre.Equals(piece)) { count++; if (count >= _context.NumOfPiecesToWin) { return(piece); } } else if (!pre.Equals(piece)) { count = 1; } pre = piece; } return(PieceType.Empty); }
public EmployeesController(IEmployees pIEmployees, IBusinessUnits pIBusinessUnits, IDepartments pIDepartments, IPositions pIPositions, IMEmployees pIMEmployees) { lIEmployees = pIEmployees; lIBusinessUnits = pIBusinessUnits; lIDepartments = pIDepartments; lIPositions = pIPositions; lIMEmployees = pIMEmployees; }
public ConfigurationController(IBusinessUnits BParam, IDepartments DParam, IidentityCodes idCodes, IJobtitles jParam, IPositions pParam, IPrefixes prparam, IEmploymentStatus status, ILeaveManagement lParam) { this.BusinessRepo = BParam; this.DeptRepo = DParam; this.IdentityRepo = idCodes; this.JobRepo = jParam; this.positionRepo = pParam; this.prefixRepo = prparam; this.statusRepo = status; this.leaveRepo = lParam; }
public string DumpPositions(IPositions positions) { var sb = new StringBuilder(); sb.AppendLine($"Positions for account {this}:"); foreach (var p in positions) { sb.Append(" - "); sb.AppendLine(p.ToString()); } return(sb.ToString()); }
public PageController(IAssetsTypes pIAssetsTypes, IAssetsGroups pIAssetsGroups, IAssetsItems pIAssetsItems, IBusinessUnits pIBusinessUnits, IDepartments pIDepartments, IEmployees pIEmployees, IPositions pIPositions, IMAssetsItems pIMAssetsItems, IMAuditsTrails pIMAuditsTrails, IMEmployees pIMEmployees, IMMRs pIMMRs) { #region BLO lIAssetsTypes = pIAssetsTypes; lIAssetsGroups = pIAssetsGroups; lIAssetsItems = pIAssetsItems; lIBusinessUnits = pIBusinessUnits; lIDepartments = pIDepartments; lIEmployees = pIEmployees; lIPositions = pIPositions; #endregion #region Models lIMAssetsItems = pIMAssetsItems; lIMAuditsTrails = pIMAuditsTrails; lIMEmployees = pIMEmployees; lIMMRs = pIMMRs; #endregion }
internal IEnumerable <IMatch> MatchInternal(IBoard board, IPositions line, HashSet <IPattern> patterns) { if (board.Count == 0) { // Assuming there is no pattern when no piece on the board. yield break; } // Assuming all patterns are of the same size. int patternSize = patterns.First().Pieces.Count(); int highestBase = (int)Math.Pow(Base, patternSize - 1); int currentHash = 0; Queue <Position> queue = new Queue <Position>(); for (int index = 0; index < line.Positions.Count; index++) { Position position = line.Positions[index]; currentHash = Add(currentHash, board.Get(position)); queue.Enqueue(position); Debug.Assert(queue.Count <= patternSize); if (queue.Count == patternSize) { IPattern pattern; if (hashAndPattern.TryGetValue(currentHash, out pattern) && patterns.Contains(pattern)) { if (IsPatternInValidPosition(pattern.PatternPositionType, index, patternSize, line.Positions.Count)) { yield return(new Match(pattern, queue.ToList())); } } Position headPosition = queue.Dequeue(); currentHash = Remove(currentHash, highestBase, board.Get(headPosition)); } } }
public PositionsController(IPositions positions) { _positions = positions; }
static PositionBUS() { pos_act = new PositionsAct(); }
public void BedAndISA(IPositions positions) { BedAndISA((Positions)positions); }