public string PossiblePlace(int x, int y, int z, int gameId) { var pg = repository.GetByColumName("GameId", gameId).FirstOrDefault(); UICoordinate uICoordinate = new UICoordinate(); UIPlayGame uIPlaygame = new SrzJson().desrz(pg); if (pg.Gamer1 == pg.Queue) { uICoordinate = new PossiblePlace( uIPlaygame, Convert.ToByte(x), Convert.ToByte(y), Convert.ToByte(z)). White(); } else if (pg.Gamer2 == pg.Queue) { uICoordinate = new PossiblePlace( uIPlaygame, Convert.ToByte(x), Convert.ToByte(y), Convert.ToByte(z)). BLack(); } return(JsonConvert.SerializeObject(uICoordinate)); }
public UICoordinate SimpleDum(byte x, byte y) { UICoordinate uICoordinate = new UICoordinate(); //right down if (Check(playGame.BlackCoordinate, (byte)(x + 1), (byte)(y + 1)) == Possison.yes) { if (Check(allCoordinates, (byte)(x + 2), (byte)(y + 2)) == Possison.no) { uICoordinate.PossibleCoordinates.Add(new Coordinate((byte)(x + 2), (byte)(y + 2))); uICoordinate.DumCoordinates.Add(new Coordinate((byte)(x + 1), (byte)(y + 1))); } } //left down if (Check(playGame.BlackCoordinate, (byte)(x - 1), (byte)(y + 1)) == Possison.yes) { if (Check(allCoordinates, (byte)(x - 2), (byte)(y + 2)) == Possison.no) { uICoordinate.PossibleCoordinates.Add(new Coordinate((byte)(x - 2), (byte)(y + 2))); uICoordinate.DumCoordinates.Add(new Coordinate((byte)(x - 1), (byte)(y + 1))); } } return(uICoordinate); }
public UICoordinate PossiblePlace(byte x, byte y) { UICoordinate uICoordinate = new UICoordinate(); uICoordinate = SimpleDum(x, y); if (uICoordinate.PossibleCoordinates.Count > 0) { return(uICoordinate); } return(SimpleMove(x, y)); }
public UICoordinate White() { var s = new WhitePossiblePlace(G); var q = new WhiteQuenPossiblePlace(G); UICoordinate uICoordinate = new UICoordinate(); if (G.Move.AgainDum) { if (x == G.Move.NewX && y == G.Move.NewY) { if (z > 0) { uICoordinate = q.PossibleDum(x, y); } else { uICoordinate = s.EveryWhereDum(x, y); } } return(uICoordinate); } if (z > 0) { uICoordinate = q.PossibleDum(x, y); } else { uICoordinate = s.SimpleDum(x, y); } if (uICoordinate.DumCoordinates.Count > 0) { return(uICoordinate); } if (s.AnyStoneDum() || q.AnyStoneDum()) { return(default(UICoordinate)); } if (z > 0) { return(q.PossiblePlace(x, y)); } else { return(s.PossiblePlace(x, y)); } }
UICoordinate SimpleMove(byte x, byte y) { UICoordinate ui = new UICoordinate(); //right down if (Check(allCoordinates, (byte)(x + 1), (byte)(y - 1)) == Possison.no) { ui.PossibleCoordinates.Add(new Coordinate((byte)(x + 1), (byte)(y - 1))); } //left down if (Check(allCoordinates, (byte)(x - 1), (byte)(y - 1)) == Possison.no) { ui.PossibleCoordinates.Add(new Coordinate((byte)(x - 1), (byte)(y - 1))); } return(ui); }
public UICoordinate PossiblePlace(byte x, byte y) { UICoordinate uICoordinate = PossibleDum(x, y); if (uICoordinate.DumCoordinates.Count > 0) { return(uICoordinate); } #region singlePossision uICoordinate.PossibleCoordinates.AddRange(SingleRD(x, y)); uICoordinate.PossibleCoordinates.AddRange(SingleRU(x, y)); uICoordinate.PossibleCoordinates.AddRange(SingleLD(x, y)); uICoordinate.PossibleCoordinates.AddRange(SingleLU(x, y)); return(uICoordinate); #endregion }
public UICoordinate PossibleDum(byte x, byte y) { var rd = DumRightDown(x, y); var ru = DumRightUp(x, y); var ld = DumLeftDown(x, y); var lu = DumLeftUp(x, y); UICoordinate uICoordinate = new UICoordinate(); #region DumPossision if (rd != null) { uICoordinate.DumCoordinates.Add(rd); uICoordinate.PossibleCoordinates.AddRange(SingleRD(rd.X, rd.Y)); } if (ru != null) { uICoordinate.DumCoordinates.Add(ru); uICoordinate.PossibleCoordinates.AddRange(SingleRU(ru.X, ru.Y)); } if (ld != null) { uICoordinate.DumCoordinates.Add(ld); uICoordinate.PossibleCoordinates.AddRange(SingleLD(ld.X, ld.Y)); } if (lu != null) { uICoordinate.DumCoordinates.Add(lu); uICoordinate.PossibleCoordinates.AddRange(SingleLU(lu.X, lu.Y)); } #endregion return(uICoordinate); }
public UICoordinate PossiblePlace(byte x, byte y) { UICoordinate uICoordinate = new UICoordinate(); if (playGame.Move.AgainDum) { if (x == playGame.Move.NewX && y == playGame.Move.NewY) { return(uICoordinate = EveryWhereDum(x, y)); } return(uICoordinate); } uICoordinate = SimpleDum(x, y); if (uICoordinate.PossibleCoordinates.Count > 0) { return(uICoordinate); } if (AnyStoneDum()) { return(uICoordinate); } return(SimpleMove(x, y)); }