Си шарп с нуля

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

основатель — Волосатов Евгений Витольдович
Робот Шарп возобновит работу 5 сентября в 21:00.

Дмитрий
  • Звание: Алгоритмист
  • Накопленный опыт: 127 часов
  • Баланс Мегахешей: собрано 0 Mh, потрачено 0 Mh
  • Баланс Байтов: нет
  • Не состоит в «Клубе формулистов»
  • Последний визит: 2018-09-23 16:54:35
  • Возраст: 33 года

Видеокурсы

Дата активности Видеокурс Прогресс
2018-05-03 chess3 Шахматы по сети 41 из 95 %
2018-02-12 chess НаноШахматы все 17 100 %
2017-11-27 soft0 Демо софт 2 из 8 29 %
2017-11-24 game1 Нано-игры 7 из 9 70 %
2017-11-07 game0 Демо игры 1 из 10 10 %
Итого: 68 из 139 49 %

Консольные задачи

Дата активности Консольный раздел Прогресс
2018-02-13 solo C# набор 2 из 17 12 %
2017-11-21 club 6452 - Кирилл Шмойлов 1 из 6 17 %
2017-11-19 task1 Строки 1 из 14 8 %
2017-11-12 task2 VIP задачи 3 из 0 %
2017-11-11 club 4004 - Елена Вставская 12 из 27 45 %
2017-11-11 task2 Алгоритмика все 20 100 %
2017-11-11 club 24 - Муза Оля все 3 100 %
2017-11-08 task1 Целые числа все 7 100 %
2017-11-08 task1 Семантика все 6 100 %
Итого: 55 из 100 55 %
Сохранить страницу:

1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Дмитрий  # Шахматы по сети / Алгоритмы. Защита короля / 2018-04-21 23:59

Не стоит забрасывать.
Лучше на одном порыве проходить.


10558. KF
Иван Воронин
Иван Воронин
ответить
→  Дмитрий  # Шахматы по сети / Алгоритмы. Сборка фена / 2018-03-22 14:26

Да, имеется такой баг в этом уроке, но далее он будет исправлен


10558. KF
Иван Воронин
Иван Воронин
ответить
→  Дмитрий  # Шахматы по сети / Доска. VIP. Запуск в Интернете / 2018-03-07 18:06

Да, Python не любит кириллицу. Поэтому пусть до проекта не должен содержать символы отличные от латинских.


9913. --
vip
vip
ответить
→  Дмитрий  # Шахматы по сети / Доска. VIP. Запуск на Android / 2018-03-07 08:54

Молодец! Это верно такие ошибки присутствуют но так никто и написал как их победить! +5


7119. --
Новопашин Владимир
Новопашин Владимир
ответить

16253. --
Дмитрий
Дмитрий
ответить
→  Евгений Волосатов  # Шахматы по сети / Доска. VIP. Запуск на Android / 2018-03-06 17:12

При портированнии в WebGL этот скрипт лучше отключить =)


16253. --
Дмитрий
Дмитрий
ответить
→  Евгений Волосатов  # Шахматы по сети / Доска. VIP. Запуск на Android / 2018-03-06 17:06

units укажите свой, потому что, как я помню, Вы у себя меняли размер самой доски а не камеры.
нужно указать количество юнитов (клеток) от центра до края видимой области вверху.

if (ratio > 1) ratio = 1 / ratio;  добавил на всякий случай =) так как на планшетах высота может быть меньше ширины экрана.

Это будет работать,  так как доска у нас квадратная, иначе пришлось бы еще учитывать пропорции доски


16253. --
Дмитрий
Дмитрий
ответить
→  Евгений Волосатов  # Шахматы по сети / Доска. VIP. Запуск на Android / 2018-03-06 17:02

// Use this for initialization
void Start ()
{
        UpdateOrthographicSize();
}

// Update is called once per frame
void Update ()
{
        UpdateOrthographicSize();
}

void UpdateOrthographicSize()
{
Camera.main.orthographic = true;
int units = 11;
float ratio = (float)Screen.width / Screen.height;
if (ratio > 1) ratio = 1 / ratio;
if (Screen.orientation == ScreenOrientation.Portrait)
    Camera.main.orthographicSize = units / ratio;
else
    Camera.main.orthographicSize = units;
}


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Дмитрий  # Шахматы по сети / Доска. VIP. Запуск на Android / 2018-03-06 14:57

Молодец, Дима. Напиши какой код надо вставить. И фото тебя с телефоном хотелось бы.


16253. --
Дмитрий
Дмитрий
ответить
→  zhikharevav  # Клиент-серверные шахматы / Алгоритмы. Храбрая пешка / 2018-03-06 09:34

Когда я говорю, что всё отлично, значит так оно и есть =) Были бы какие-либо трудности или непонятные моменты, то я бы обязательно об этом написал.


8380. --
zhikharevav
zhikharevav
ответить
→  Дмитрий  # Клиент-серверные шахматы / Алгоритмы. Храбрая пешка / 2018-03-05 21:08

Когда  отчитываешься ,  то  много  слов  не  употребляешь ? !  ;-)  Хорошо  сформулированная  мысль  поможет  другим  легче понять ,  что  ты  всё  сделал  правильно  и  хорошо  понял  смысл  урока :))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))


16253. --
Дмитрий
Дмитрий
ответить
# Клиент-серверные шахматы / Алгоритмы. Допрыгалась! / 2018-03-05 18:03

ну просто думаю, это неправильно, что в начале партии при ходе пешкой на два поля в fen указывается возможность взятия на проходе.


1. --
Евгений Волосатов
Евгений Волосатов
ответить

1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Дмитрий  # Клиент-серверные шахматы / Алгоритмы. Сборка фена / 2018-03-01 13:57

Спасибо Дима. Глазастый ;-)


17529. --
Vladimir
Vladimir
ответить
→  Дмитрий   / 2018-02-26 16:42

Спасибо. Если бы вы мне еще дали ссылку на партабл-версию, т.к. я кочую с компа на комп.


16253. --
Дмитрий
Дмитрий
ответить
# Клиент-серверные шахматы / Классы. UML схема проекта / 2018-02-26 02:22

не так уж и много стрелок) просто все в кучу... не люблю схемы)


16253. --
Дмитрий
Дмитрий
ответить
→  Vladimir  # Демо софт / Вступительное слово / 2018-02-26 02:15

www.visualstudio.com/ru/thank-you-downloading-visual-studio/?sku=Community&;rel=15
Вот ссылка на новую версию Visual Studio, если Вам вдруг захочется ее установить.


16253. --
Дмитрий
Дмитрий
ответить
→  Vladimir  # Демо софт / Вступительное слово / 2018-02-26 02:12

Удачи.


16253. --
Дмитрий
Дмитрий
ответить
→  Евгений Волосатов   / 2018-02-26 02:03

Да вообще цвет у нас уже и так проверялся.
Достаточно было добавить m.figure == board.GetFigureAt(fm.from).
всего три проверки: клетка на доске, цвет фигуры равен цвету, который сейчас ходит, и  мы взяли именно ту фигуру, которая стоит на этой клетке


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Дмитрий   / 2018-02-26 01:56

Это уже масло масляное, т.к. создаётся этот контейнер именно таким способом.
Но лишние проверки не помешают :)


16253. --
Дмитрий
Дмитрий
ответить
→  Евгений Волосатов  # Клиент-серверные шахматы / Классы. Консольная доска / 2018-02-26 01:53

board.GetFigureAt(fm.from).GetColor() == board.moveColor так?
ну тогда вот это условие тоже добавлю)) 
fm.figure == board.GetFigureAt(fm.from)
иначе мой король с легкость может превратиться в любую другую фигуру)


10558. KF
Иван Воронин
Иван Воронин
ответить
→  Дмитрий  # Клиент-серверные шахматы / Классы. UML схема проекта / 2018-02-26 01:53

Осталось добавить уровни доступа для полноты картины.


10558. KF
Иван Воронин
Иван Воронин
ответить
→  Дмитрий  # Клиент-серверные шахматы / Классы. UML схема проекта / 2018-02-26 01:44

draw.io отличный сайт для этого.


1. --
Евгений Волосатов
Евгений Волосатов
ответить

1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Дмитрий  # Клиент-серверные шахматы / Классы. Консольная доска / 2018-02-26 01:25

Правильней было бы проверять на наличие там фигуры того цвета, чей ход.


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Дмитрий  # Клиент-серверные шахматы / Классы. Стой, кто идёт! / 2018-02-26 01:23

Жаль. Скоро узнаешь и удивишься, как это ты не мог её заметить...


16253. --
Дмитрий
Дмитрий
ответить
→  Иван Воронин  # Клиент-серверные шахматы / Классы. UML схема проекта / 2018-02-26 01:04

Красота) Не то, что мой монстр


16253. --
Дмитрий
Дмитрий
ответить
→  Никита  # Демо софт / Вступительное слово / 2018-02-26 01:01

Удачи!


16253. --
Дмитрий
Дмитрий
ответить
→  Михаил  # Шпионский бот / Фото в студию / 2018-02-26 00:59

Может слишком большой файл?


16253. --
Дмитрий
Дмитрий
ответить
→  Алекс  # Личная энергия / 2018-02-25 Отчёт за неделю / 2018-02-26 00:47

в свойствах проекта неправильно указан путь к сборке. Попробуйте создать новый проект и набрать код заново (ну или скопировать)


16253. --
Дмитрий
Дмитрий
ответить
→  Алекс  # Теория ООП / Структура vs Класс / 2018-02-26 00:44

А красне подчеркивания Вас не смутили? В объявлении переменных sp и cp точки не нужны.


9913. --
vip
vip
ответить
→  Дмитрий  # Клиент-серверные шахматы / Классы. Шахматная библиотека. / 2018-02-22 23:36

Я так понимаю речь идет об уроке клиент-серверные шахматы на Java. Или это уже код по клиент-шахматам на C# под Unity 2D или я что-то пропустил в связи с предстоящими праздниками. Хочу пожелать успехов в учебе да вообще успехов!!!


10558. KF
Иван Воронин
Иван Воронин
ответить
→  Дмитрий  # Клиент-серверные шахматы / Доска. Смещение. / 2018-02-14 12:35

естественно, текстуры даже если они на одном слое, они расслаиваются всё равно между собой, так как это 2D.


10558. KF
Иван Воронин
Иван Воронин
ответить
→  Дмитрий  # Клиент-серверные шахматы / Доска. Фигуры. / 2018-02-14 12:21

Молодец, я так же сделал.



16253. --
Дмитрий
Дмитрий
ответить
# Клиент-серверные шахматы / Доска. Смещение. / 2018-02-14 00:30

Нашел решение.
Добавляем в метод PickUp( ) строчку
item.GetComponent<Renderer>( ).sortingOrder = 1;  после присвоения переменной item ссылки на объект,
а в Drop ( )
item.GetComponent<Renderer>( ).sortingOrder = 0;  перед уничтожение ссылки на объект.


16253. --
Дмитрий
Дмитрий
ответить
→  Евгений Волосатов   / 2018-02-13 16:27

Да, пожалуй последую Вашему совету


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Дмитрий  # НаноШахматы / ФИНАЛЬНЫЙ УРОК / 2018-02-13 13:05

вместо микрошахмат лучше сразу проходить шахматы он-лайн.
он полностью в себя вберёт идею микрошахмат, за исключением яваскрипта, в котором не очень удобно ошибки отлавливать, ты сам с этим уже столкнулся ведь, да?


3922. --
Александр
Александр
ответить
→  Дмитрий  # НаноШахматы / ФИНАЛЬНЫЙ УРОК / 2018-02-12 21:56

Приветствую, Дмитрий! Молодец, так быстро до финала дошёл! Наверняка, этот курс послужит тебе хорошей подготовкой к тому курсу, который сейчас создаётся. Поздравляю с достижением финала и желаю всяческих успехов в дальнейшем прохождении курса и в изучении программирования. И в шахматных партиях, если ты увлекаешься этой игрой, тоже!


10494. --
Алексей В.
Алексей В.
ответить
→  Дмитрий  # НаноШахматы / PHP - Массив для фигур / 2018-02-11 22:02

Отлично Дмитрий!!! Этот курс для меня стал открытием.  Можно сказать, что это был первый опыт в программировании на РНР, и все как то шло легко. Уроки созданы доступно и понятно, мне было легко проходить каждый этап от начала до конца.  Особенно мне понравился метод определения возможных ходов для фигур, который с каждым новым уроком отсекал ненужные положения. В общем все отлично, ты молодец, продолжай в том же духе. Успехов и удачи!!!!!!


7119. --
Новопашин Владимир
Новопашин Владимир
ответить
→  Дмитрий  # C# Android / Создание класса с алгоритмом игры / 2017-11-27 10:53

Ура! Добрались до Андроида!


10558. KF
Иван Воронин
Иван Воронин
ответить
→  Дмитрий   / 2017-11-26 23:17

Виртуализация уже по-умолчанию вкл в биосах, видимо у тебя ещё такой, где было выкл =)


16253. --
Дмитрий
Дмитрий
ответить
→  Иван Воронин  # C# Android / Установка и запуск HAXM эмулятора Android / 2017-11-26 21:27

Именно не устанавливался.


10558. KF
Иван Воронин
Иван Воронин
ответить
→  Дмитрий  # C# Android / Установка и запуск HAXM эмулятора Android / 2017-11-26 20:38

Ты хотел сказать, не запускался, так как в прошлом уроке именно это и происходило, да, виртуализация должна быть включена =)


10558. KF
Иван Воронин
Иван Воронин
ответить
→  Дмитрий  # C# Android / Установка Xamarin для Visual Studio / 2017-11-26 20:33

Молодец, правильное решение, 2017 повеселее, чем 2015 =)


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Дмитрий  # C# Android / Создание класса с алгоритмом игры / 2017-11-26 16:50

Ага, я тоже весело искал :)


1. --
Евгений Волосатов
Евгений Волосатов
ответить

4814. --
Дмитрий
Дмитрий
ответить
→  Дмитрий  # Наноигры / Бот для Цифр / 2017-11-26 12:30

Удачи!


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Дмитрий  # C# Android / Установка Xamarin для Visual Studio / 2017-11-26 12:23

Молодец! :)


16253. --
Дмитрий
Дмитрий
ответить

15822. --
Павел Демьянов
Павел Демьянов
ответить
→  Дмитрий  # Наноигры / Скорость реакции. Алгоритм и рекорд / 2017-11-23 08:06

Молодец. Желаю удачи в дальнейшем прохождении.


16253. --
Дмитрий
Дмитрий
ответить

4814. --
Дмитрий
Дмитрий
ответить

5760. --
Мариша
Мариша
ответить
→  Дмитрий   / 2017-11-16 20:12

Спасибо, что указали на ошибку!


10558. KF
Иван Воронин
Иван Воронин
ответить
→  Дмитрий  # Наноигры / Арканоид - Шарик и кирпичики / 2017-11-16 16:39

Молодец, отлично поработал.


16253. --
Дмитрий
Дмитрий
ответить
→  Мариша   # Нанософт / ФИНАЛЬНЫЙ УРОК / 2017-11-15 00:24

Молодец. Вот только в слове "Нобелевской" у Вас ошибка. Но это я придираюсь)


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Дмитрий  # Наноигры / Арканоид - Уровень и ракетка / 2017-11-15 00:12

Молодец, преодолел!
Только вперёд!


16253. --
Дмитрий
Дмитрий
ответить
# Консоль / 4004 - Елена Вставская / АБРАКАДАБРА / 2017-11-11 23:05

Хорошая задача. Пришлось повозиться


11589. --
Yefim
Yefim
ответить

1. --
Евгений Волосатов
Евгений Волосатов
ответить

  • Звание: Алгоритмист
  • Накопленный опыт: 127 часов
  • Собранный капитал: нет

Клуб формулистов

Правила клуба формулистов

У каждого формулиста есть задача минимум на каждый день:
+ зайти на сайт, проверить один отчёт, получить 1 байт.
Задача максимум - выполнить все остальные ежедневные задачи.
Нажмите здесь чтобы перейти к ежедневному чек-листу.

В 24:00 МСК накопленные за сутки байты переносятся в недельный актив.
В воскресение 24:00 МСК все накопленные байты переходят на баланс формулиста.

Собранные байты можно обменивать на доступные видеокурсы (1 байт = 1 рубль, без скидок)
Приобретённые за байты видеокурсы доступны только во время нахождения в автобусе/клубе формулистов!

При завершении подписки в автобусе/клубе формулистов все накопленные байты обнуляются, а доступ к видеокурсам, приобретённым за байты, закрывается.
Продлевайте подписку заблаговременно.

Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: Научился создавать сцены в Unity 2D. Только масштабировать доску я не стал, установил параметр Size камеры 11.



Научился: Забыли добавить проверку на то, что при ходе пешкой на две клетки, справа или слева от нее будет находиться вражеская пешка, только тогда возможно взятие на проходе. Добавил несколько проверок в SetEnpassan( ). private void SetEnpassant()         {             enpassant = Square.none;             if (fm.figure == Figure.whitePawn && fm.from.y == 1 && fm.to.y == 3)                 if (GetFigureAt(new Square(fm.to.x + 1, fm.to.y)) == Figure.blackPawn ||                     GetFigureAt(new Square(fm.to.x - 1, fm.to.y)) == Figure.blackPawn)                 enpassant = new Square(fm.from.x, 2);             if (fm.figure == Figure.blackPawn && fm.from.y == 6 && fm.to.y == 4)                 if (GetFigureAt(new Square(fm.to.x + 1, fm.to.y)) == Figure.whitePawn ||                    GetFigureAt(new Square(fm.to.x - 1, fm.to.y)) == Figure.whitePawn)                     enpassant = new Square(fm.from.x, 5);         }