public ActionResult <Models.GameStateUpdate> ExecuteMove(Models.Board startBoard) { startBoard.CheckValidState(); string winner = startBoard.Winner(); string azurePlayerSymbol = startBoard.WhichPlayersTurn(); if (winner == Models.Board.INCONCLUSIVE) { // Game isn't over yet int move = startBoard.GetNextMove(azurePlayerSymbol); Models.Board nextBoard = startBoard.Play(move, azurePlayerSymbol); return(new ObjectResult(new Models.GameStateUpdate( azurePlayerSymbol, nextBoard.Winner(), move, nextBoard.gameBoard, nextBoard.WinningScenario() ))); } else { // No-Op, basically return(new ObjectResult(new Models.GameStateUpdate( azurePlayerSymbol, startBoard.Winner(), null, startBoard.gameBoard, startBoard.WinningScenario() ))); } }
public void DeleteBoad(int id) { Models.Board board = new Models.Board(); board.Id = id; _dbContext.Boards.Remove(board); _dbContext.SaveChanges(); }
public async Task <CreateNewBoardResult> Handle(CreateNewBoardCommand request, CancellationToken cancellationToken) { if (string.IsNullOrWhiteSpace(request.Title)) { throw new ArgumentException("Cannot create new board with null or empty title"); } if (string.IsNullOrWhiteSpace(request.Description)) { request.Description = null; } var board = new Models.Board { Title = request.Title, Description = request.Description }; var result = await boardRepository.AddBoardAsync(board); return(new CreateNewBoardResult { BoardId = result.Id, CreationDate = result.CreationDate ?? new DateTime(0) }); }
private static DTO.Board ConvertBoard(Models.Board board, Models.Team teamA, Models.Team teamB) { return(new DTO.Board { Cards = board.Cards.Select(card => new DTO.Card { Agent = card.Agent, Word = card.Word, HasBeenRevealed = card.HasBeenRevealed }).ToList(), KnowAllForTeamA = ConvertPlayer(teamA.Coder), // TODO: move to teamDTO KnowAllForTeamB = ConvertPlayer(teamB.Coder) // TODO: move to teamDTO }); }
public void GenerateNewBoardShouldReturnGrid() { // Arrange GameOfLifeController controller = new GameOfLifeController(); controller.Request = new System.Net.Http.HttpRequestMessage(); controller.Configuration = new HttpConfiguration(); Models.Board prevBoard = new Models.Board(10, 10); // Act var response = controller.CreateNewBoard(prevBoard); // Assert Assert.AreEqual(10, response.RowCount); }
public async Task <Models.Board> Update(string id, Models.Board task, string Token) { var url = BaseUrl + "/boards/" + id + "?key=" + AppKey + "&token=" + Token; var content = JsonConvert.SerializeObject(task); _client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer"); var httpResponse = await _client.PutAsync(url, new StringContent(content, Encoding.UTF8, "application/json")); if (!httpResponse.IsSuccessStatusCode) { throw new Exception("Cannot update label"); } var updatedTask = JsonConvert.DeserializeObject <Models.Board>(await httpResponse.Content.ReadAsStringAsync()); return(updatedTask); }
public async Task <DeleteBoardResult> Handle(DeleteBoardCommand request, CancellationToken cancellationToken) { if (string.IsNullOrWhiteSpace(request.BoardId)) { throw new ArgumentException("Cannot delete board with BoardId set to null or empty space"); } var board = new Models.Board { Id = request.BoardId }; var result = await boardRepository.DeleteBoardAsync(board); return(new DeleteBoardResult { BoardId = result.Id }); }
public void Attack(ref List <Models.Ship> shipList, Models.Board board) { Console.WriteLine("Board is ready."); Board.PrintBoard(board.BoardDimension); while (shipList.Count != 0) { Console.WriteLine("Enter hit position"); var input = Console.ReadLine(); if (InputValidation.ValidatePosition(input)) { var hitPos = Array.ConvertAll(input.Split(","), int.Parse); foreach (var s in shipList) { if (Ship.DestroyShip(hitPos, board.BoardDimension, s)) { Console.WriteLine(Environment.NewLine + "Hit!"); Board.ReprintOnHit(hitPos[0], hitPos[1], board.BoardDimension); } else { Console.WriteLine("No hit.Try again!" + Environment.NewLine); } if (s.HitCount != s.Length) { continue; } shipList.Remove(s); break; } } else { Console.WriteLine("Invalid hit location.Try again!" + Environment.NewLine); } } Console.WriteLine("You win!"); }
// GET: Boards/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var boardDTO = boardService.Get(id); Board board = new Models.Board { Id = boardDTO.Id, Height = boardDTO.Height, Name = boardDTO.Name, Type = boardDTO.Type, Width = boardDTO.Width }; if (board == null) { return(HttpNotFound()); } return(View(board)); }
public async Task <UpdateBoardDescriptionResult> Handle(UpdateBoardDescriptionCommand request, CancellationToken cancellationToken) { if (string.IsNullOrWhiteSpace(request.BoardId)) { throw new ArgumentException("Cannot update board info when BoardId is set to empty or null"); } if (string.IsNullOrWhiteSpace(request.Description)) { request.Description = null; } var board = new Models.Board { Id = request.BoardId, Description = request.Description }; var result = await boardRepository.UpdateBoardDescriptionAsync(board); return(new UpdateBoardDescriptionResult { BoardId = result.Id }); }
public async Task <Models.Board> Update([FromBody] Models.Board boardToUpdate, string id, string Token) { return(await _boardService.Update(id, boardToUpdate, Token)); }
private void InitializeBoard() { GameBoard = new Models.Board(20, 30, 10, towerItems); this.layoutRoot.DataContext = GameBoard; }
public bool AddShips(int startRow, int startColumn, int length, int alignment, ref List <Models.Ship> shipList, Models.Board board) { var ship = new Models.Ship { StartRow = startRow, StartColumn = startColumn, Length = length, IsHorizontal = alignment == 0 }; if (!Board.CheckOverlap(shipList, ship, board.BoardDimension)) { return(false); } shipList.Add(ship); return(true); }