На этом уроке мы приступаем к завершающему этапу по созданию клиент-серверной игры "Онлайн шахматы".
Дата отправки отчёта:
11 июля 2018 г.
Задание выполнено: за
20 час. 25 мин.
Чему научился:
Научился подключаться к серверу из консольного приложения :)
Для выделения FEN из полученной строки, я бы воспользовался методом, использованным мною для написания мобильного приложения для конвертирования валюты: www.videosharp.info/10080/checking/start=1891
То есть я использовал бы NuGet Newtonsoft и из полученной десериализированной в JSON строки по ключу FEN достал бы строку. Можно конечно и свой парсер написать, но зачем?
То есть выглядит это так: class Client { public const string address = "hinoookami.ru/api/chess"; WebClient web;
public Client() { web = new WebClient(); }
public string GetFenFromServer() { string responce = web.DownloadString(address); var json = ParseJSON(responce); return json.FEN; }
public static dynamic ParseJSON(string responce) { return JsonConvert.DeserializeObject(responce); } }
Результат запроса к серверу с выводом оригинальной строки ответа и после вытаскивания FEN видно на скриншотах.
Я так и сделал, воспользовавшись Newtonsoft, но говорят, что Юнька не дружит с ним и приходится либо пилить свой парсер json, либо использовать альтернативную библиотеку, которая поддерживает json формат и написана специально для Юньки. Правда проблема возникает лишь при портировании на iOS устройства, если не планируешь их поддерживать, то может не париться.
Отчёт оценивали: 6452. Кирилл Шмойлов+117947. Dmitry Sinitsin+1791. Валерий Жданов+117443. WildOrc+117606. Виктор+11. Евгений Волосатов+111019. Trira+19980. Timoha+18822. Alex07645. Александр Львович+18275. Tekashnik+113850. Владимир+19913. vip+110558. Иван Воронин+112464. Татьяна+1Посетитель+116396. Денис+13747. Сергей+13922. Александр+117255. Слава+12773. Никита+1
Начинаем практику по языку C#
Чтобы стать хорошим программистом — нужно писать программы.
На нашем сайте очень много практических упражнений.
После заполнения формы ты будешь подписан на рассылку
«C# Вебинары и Видеоуроки»,
у тебя появится доступ к видеоурокам и консольным задачам.
Несколько раз в неделю тебе будут приходить письма —
приглашения на вебинары, информация об акциях и скидках,
полезная информация по C#.
Научился: Создали новый класс Client, подключились к сайту и получили строку Fen.
Все отлично. Трудности: Чтобы получить именно FEN из полученной строки, нужно:
1. Разбить строку на части по пробелу (первый пробел сразу после FEN). Поможет Split(). 2. С помощью IndexOf(' ') можем определить позицию первого пробела, отнимаем 1 и находим позицию последнего знака FEN.
3. Затем с помощью того же IndexOf("FEN") находим путем прибавления к значению индекса 6 позиций индекс первого знака FEN.
5. С помощью Substring выводим весь FEN, зная индексы первого и последнего знака.
5. Затем можем провести разбиение FEN на 8 горизонталей путем разбиения по /слешу.
Какое-то примитивное и долгое решение. :-)
Научился: Узнал как можно выгружать данные со страницы с помощью веб клиента. A fen узнать легко и просто: разделяем строку по ковычкам с помощью Split, выбираем 5 кавычку и выводим на экран! Всё проще простого! Трудности: Сложностей не возникало.