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

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

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

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

  • На этом уроке мы приступаем к завершающему этапу
    по созданию клиент-серверной игры "Онлайн шахматы".
  • Дата отправки отчёта: 3 июля 2018 г.
  • Задание выполнено: за 1 день 3 час. 55 мин.
  • Чему научился: Fen можно распарсить, как JSONDECODE, или самый прстой вариант через Split('"') кавычки строки, 5 индекс будет FEN.
    Как показано на 2ом скриншоте
  • Оценка видео-уроку:
Отчёт от 17425 за Шахматы по сети / Клиент. Достучаться до облака


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




Оцени работу

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

1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  ser2018  # Шахматы по сети / Клиент. Достучаться до облака / 2018-07-06 22:43

Не самый надёжный способ распарсинга


9752. --
chokayes
chokayes
ответить
→  ser2018  # Шахматы по сети / Клиент. Достучаться до облака / 2018-07-07 06:53

есть варианты получше? паскалевский метод не оч. нравится.


17425. --
ser2018
ser2018
ответить
# Шахматы по сети / Клиент. Достучаться до облака / 2018-07-07 20:34

почему не самый надежный, через кавычку, хотябы в данном контексте.
Единственно может быть смещение инекса если , например ID обромится кавычками, т.к. я так понял в JSON тип int не обрамляется. Но думаю для такого простого случая пойдет.
Можно сделать через Regex надежней:
using System.Text.RegularExpressions;
Regex re = new Regex("\"FEN\" *: *\"([^\"]+)\"", RegexOptions.IgnoreCase);
string fen = re.Matches(jsonString)[0].Groups[1].ToString();

без использования Newtonsoft.Json; как тут делал Иван Воронин


  • Отчёт оценивали:
    17947Dmitry Sinitsin+1   17443WildOrc+1   791Валерий Жданов+1   17255Слава+1   6452Кирилл Шмойлов+1   17606Виктор+1   Посетитель+1   459Сергей Сергеевич+1   1901Neverwinter 2+1   3922Александр+1   1Евгений Волосатов+1   8275Tekashnik+1   18493Evgenii Kudriavtcev+1   4210Дмитрий+1   11582Родион+1   9752chokayes+1   7645Александр Львович+1   3747Сергей+1   13850Владимир+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 кавычку и выводим на экран! Всё проще простого!
Трудности: Сложностей не возникало.