public async Task <IHttpActionResult> PutBoardStats(int id, BoardStats BoardStats) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != BoardStats.BoardStatsNo) { return(BadRequest()); } db.Entry(BoardStats).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!BoardStatsExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public async Task <IHttpActionResult> GetBoardStats(int id) { BoardStats BoardStats = await db.BoardStats.FindAsync(id); if (BoardStats == null) { return(NotFound()); } return(Ok(BoardStats)); }
public async Task <IHttpActionResult> PostBoardStats(BoardStats BoardStats) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.BoardStats.Add(BoardStats); await db.SaveChangesAsync(); return(CreatedAtRoute("DefaultApi", new { id = BoardStats.BoardStatsNo }, BoardStats)); }
public async Task <IHttpActionResult> DeleteBoardStats(int id) { BoardStats BoardStats = await db.BoardStats.FindAsync(id); if (BoardStats == null) { return(NotFound()); } db.BoardStats.Remove(BoardStats); await db.SaveChangesAsync(); return(Ok(BoardStats)); }
/// <summary> /// Construct the board /// </summary> /// <param name="graphicsDevice"></param> public Board(Screen screen) { Screen = screen; // Create the board Blocks = new Block[Rows, Columns]; for (int row = 0; row < Rows; row++) { for (int column = 0; column < Columns; column++) { Blocks[row, column] = new Block(this, Screen, row, column); // Only fill the first bottom Rows if (row < initialEmptyRows) { Blocks[row, column].Empty(); } else { Blocks[row, column].Create(); } } } // Create the next row of Blocks NextBlocks = new Block[Columns]; for (int column = 0; column < Columns; column++) { NextBlocks[column] = new Block(this, Screen, Rows, column); NextBlocks[column].Create(); NextBlocks[column].State = Block.BlockState.Preview; } CelebrationManager = new CelebrationManager(this); Renderer = new BoardRenderer(this); controller = new BoardController(this); Stats = new BoardStats(this); RaiseRate = (double)Stats.Level / 4; // Initialize buttons retryButton = new Button(screen, "Retry", Color.White, new Rectangle(Renderer.Rectangle.X + Renderer.Rectangle.Width / 4 - 50, Renderer.Rectangle.Y + Renderer.Rectangle.Height - 150, Renderer.Rectangle.Width / 4, 100), Color.Orange); retryButton.Selected += retryButton_Selected; doneButton = new Button(screen, "Done", Color.White, new Rectangle(Renderer.Rectangle.X + Renderer.Rectangle.Width / 2 + 50, Renderer.Rectangle.Y + Renderer.Rectangle.Height - 150, Renderer.Rectangle.Width / 4, 100), Color.Orange); doneButton.Selected += doneButton_Selected; }
public void TurnTaken() { // Check the board for few open positions to save compute time and // errors; _boardStats = BoardStats.CalcStats(_board); if (_boardStats[2] <= 3) { _depth = 1; } else if (_boardStats[2] <= 10) { _depth = 2; } _currentTurn = _currentTurn == 0 ? 1 : 0; if (WinCondition()) { var go = (GameObject)Instantiate(FindObjectOfType <Setup>()._inGameSplash, new Vector3(0, 0, -20), Quaternion.identity); if (_boardStats[0] >= _boardStats[1]) { go.GetComponentInChildren <GUIText>().text = "Black Wins! " + _boardStats[0] + ":" + _boardStats[1]; } else { go.GetComponentInChildren <GUIText>().text = "White Wins! " + _boardStats[1] + ":" + _boardStats[0]; } } _turnCount++; // AI makes a turn when 1 if (_currentTurn == 1) { AIsTurn(); } }