54 lines
1.3 KiB
C#
54 lines
1.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Net;
|
|
using System.Net.Http;
|
|
using System.Threading.Tasks;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Microsoft.Extensions.Logging;
|
|
using ProjectGrid.Data;
|
|
using ProjectGrid.Models;
|
|
|
|
namespace ProjectGrid.Controllers
|
|
{
|
|
[ApiController]
|
|
public class TicTacTocController : ControllerBase
|
|
{
|
|
|
|
private readonly ILogger<TicTacTocController> _logger;
|
|
|
|
private readonly TicTacTocManager _manager;
|
|
|
|
public TicTacTocController(ILogger<TicTacTocController> logger, TicTacTocManager manager)
|
|
{
|
|
_logger = logger;
|
|
_manager = manager;
|
|
}
|
|
|
|
[HttpGet]
|
|
[Route("api/ttt/GetBoard")]
|
|
public TicTacTocResponse GetBoard()
|
|
{
|
|
_logger.LogTrace("GetBoard called.");
|
|
return _manager.GetBoard();
|
|
}
|
|
|
|
[HttpGet]
|
|
[Route("api/ttt/Restart")]
|
|
public void RestartGame()
|
|
{
|
|
_logger.LogTrace("RestartGame called.");
|
|
_manager.Restart();
|
|
}
|
|
|
|
[HttpPost]
|
|
[Route("api/ttt/SetPiece")]
|
|
[Consumes("application/json")]
|
|
public TicTacTocResponse PostMove(TicTacTocRequest move)
|
|
{
|
|
_logger.LogTrace($"PostMove called. {move.DebugString()}");
|
|
return _manager.NextMove(move);
|
|
}
|
|
|
|
}
|
|
} |