Курсы по программированию

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Шахматы по сети / Клиент. Достучаться до облака

  • На этом уроке мы приступаем к завершающему этапу
    по созданию клиент-серверной игры "Онлайн шахматы".
  • Дата отправки отчёта: 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 видно на скриншотах.
  • Оценка видео-уроку:
Отчёт от 10080 за Шахматы по сети / Клиент. Достучаться до облака


Отчёт от 10080 за Шахматы по сети / Клиент. Достучаться до облака




Оцени работу

 
Сохранить страницу:

10558. --
Иван Воронин
Иван Воронин
ответить
→  FireWolf  # Шахматы по сети / Клиент. Достучаться до облака / 2018-07-13 14:04

Я так и сделал, воспользовавшись Newtonsoft, но говорят, что Юнька не дружит с ним и приходится либо пилить свой парсер json, либо использовать альтернативную библиотеку, которая поддерживает json формат и написана специально для Юньки. Правда проблема возникает лишь при портировании на iOS устройства, если не планируешь их поддерживать, то может не париться.


  • Отчёт оценивали:
    6452Кирилл Шмойлов+1   17947Dmitry Sinitsin+1   791Валерий Жданов+1   17443WildOrc+1   17606Виктор+1   1Евгений Волосатов+1   11019Trira+1   9980Timoha+1   8822Alex0   7645Александр Львович+1   8275Tekashnik+1   13850Владимир+1   9913vip+1   10558Иван Воронин+1   12464Татьяна+1   Посетитель+1   16396Денис+1   3747Сергей+1   3922Александр+1   17255Слава+1   2773Никита+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 кавычку и выводим на экран! Всё проще простого!
Трудности: Сложностей не возникало.