private bool CheckSpiral(Game game) { var lastMove = game.MoveList.Last(); int? playerID = lastMove.UserID; int y = lastMove.position.Y; int x = lastMove.position.X; int distanceToOuterSpiral = (3 - y); Coordinate outerPosition1 = new Coordinate(x + distanceToOuterSpiral, 3); Coordinate outerPosition2 = new Coordinate(x - distanceToOuterSpiral, 3); var outer1 = (game[outerPosition1] == playerID && game[outerPosition1 - new Coordinate(1, 1)] == playerID && game[outerPosition1 - new Coordinate(2, 2)] == playerID && game[outerPosition1 - new Coordinate(3, 3)] == playerID); var outer2 = (game[outerPosition2] == playerID && game[outerPosition2 + new Coordinate(1, -1)] == playerID && game[outerPosition2 + new Coordinate(2, -2)] == playerID && game[outerPosition2 + new Coordinate(3, -3)] == playerID); if (outer1) { winningCoords.Add(outerPosition1); winningCoords.Add(outerPosition1 - new Coordinate(1, 1)); winningCoords.Add(outerPosition1 - new Coordinate(2, 2)); winningCoords.Add(outerPosition1 - new Coordinate(3, 3)); } if (outer2) { winningCoords.Add(outerPosition2); winningCoords.Add(outerPosition2 + new Coordinate(1, -1)); winningCoords.Add(outerPosition2 + new Coordinate(2, -2)); winningCoords.Add(outerPosition2 + new Coordinate(3, -3)); } //checking both spirals return outer1 || outer2; }
private bool CheckVertical(Game game) { var lastMove = game.MoveList.Last(); int? playerID = lastMove.UserID; int y = lastMove.position.Y; int x = lastMove.position.X; return game[x, 0] == playerID && game[x, 1] == playerID && game[x,2] == playerID && game[x, 3] == playerID; }
public static Game Create(int ChallengerID, int OpponentID) { PolarTicTacToeDataContext dataContext = new PolarTicTacToeDataContext(); Game newGame = new Game(); newGame.ChallengerID = ChallengerID; newGame.OpponentID = OpponentID; newGame.StartDate = DateTime.Now; newGame.GameState = Utils.GameState.Active.ToString(); dataContext.Games.InsertOnSubmit(newGame); dataContext.SubmitChanges(); return newGame; }
private bool CheckVertical(Game game) { var lastMove = game.MoveList.Last(); int? playerID = lastMove.UserID; int y = lastMove.position.Y; int x = lastMove.position.X; bool winner = game[x, 0] == playerID && game[x, 1] == playerID && game[x, 2] == playerID && game[x, 3] == playerID; if (winner) { winningCoords.Add(new Coordinate(x, 0)); winningCoords.Add(new Coordinate(x, 1)); winningCoords.Add(new Coordinate(x, 2)); winningCoords.Add(new Coordinate(x, 3)); } return winner; }
private void attach_Games2(Game entity) { this.SendPropertyChanging(); entity.Winner = this; }
private void detach_Games2(Game entity) { this.SendPropertyChanging(); entity.Winner = null; }
private void attach_Games1(Game entity) { this.SendPropertyChanging(); entity.Opponent = this; }
private void detach_Games1(Game entity) { this.SendPropertyChanging(); entity.Opponent = null; }
private void detach_Games(Game entity) { this.SendPropertyChanging(); entity.Challenger = null; }
private void attach_Games(Game entity) { this.SendPropertyChanging(); entity.Challenger = this; }
partial void DeleteGame(Game instance);
partial void UpdateGame(Game instance);
partial void InsertGame(Game instance);