Example #1
0
        public async Task UpdateTile(MouseState mouseState, Player player)
        {
            var s2w  = TTT.ScreenToWorld(mouseState.Position.ToVector2());
            var rect = new Rectangle((int)s2w.X, (int)s2w.Y, 1, 1);
            var tile = TTT.Map.Tiles.FirstOrDefault(x => rect.Intersects(x.SpriteRectangle));

            if (tile != null && tile.Player == Player.None)
            {
                TTT.Map.Tiles.Remove(tile);
                await tile.Update(player);

                TTT.Map.Tiles.Add(tile);
                await eventService.IsGameOver(TTT.Map);

                if (player == Player.Human)
                {
                    TTT.Turn = Player.Computer;
                }
                else
                {
                    TTT.Turn = Player.Human;
                }
            }
        }