Online обучение c#

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

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

Статистика по видеоурокам

  • Всего просмотрено уроков: 58
  • Всего выполнено уроков: 57

Отчёты по видеоурокам

Дата Видеоурок Результат
2018-02-26 09:52 Шахматы по сети Доска. Установка Unity 3D + 15 7 мин.
installed Unity/
chess console - 147sym/min, 4 mistakes,

2018-02-16 11:59 Шахматы по сети Классы. Архитектура проекта + 15 41 мин.
Интересный момент в статье про взятие на проходе - партия между Гундерсеном и Фолом..

Сложно будет с Юнити, т.к. ранее не сталкивался.
Остальное должно быть не сложно, т.к. есть опыт с аналогами.

Считаю, надо обязательно делать проверку fen'а, иначе можно добиться например такого:
https://lichess.org/editor/qqqqqqqq/rrrrrrrr/8/8/4P3/8/PPPP1PPP/BBBBBBBB%20b%20KQkq%20e3%200%201
Не ожидал такого бага))

2018-02-16 09:15 Шахматы по сети План Шахматного проекта + 15 11 мин.
Ничему)
Опыт:
С# - написал пару игрушек, простеньких программ
Unity, .net - только слышал
Ms, EF - очень маленький опыт (с других курсов)
--
2016-07-02 19:09 Секундомер VIP. Секрет мастерства + 20 20 мин.
13:17 - на 10 сек больше предыдущего урока. но 1) я не торопился, 2) не подсматривал этапы а вспоминал их.
--
думаю, повторять действительно надо раз по 10, но не больше..
лучше написать 10 разных программ по 10 раз, чем одну 100.
при этом желательно чтобы в этих 10 программах использовались разные компоненты и приёмы. вот тогда будет вообще круто - запомнится и закрепится очень много разных навыков
2016-07-02 18:41 Секундомер VIP. Биоритмы + 20 24 мин.
вспомнил работу с консолью
обратить внимание что перепутал месяц и день рождения, из-за чего не сходилось кол-во прожитых дней :)
надо бы вспомнить форматирование строк. {0,2} написал практически не понимая что это.
двойные дни видны по двум чёрточкам друг под другом
2016-06-30 21:57 Секундомер ФИНАЛЬНЫЙ УРОК + 20 40 мин.
13:07. думаю, вполне реально сделать минут за 8-9
--
--
2016-06-29 22:27 Секундомер 5 часть. Видеофиксация + 20 5 мин.
--
--
--
2016-06-29 14:59 Секундомер 5 часть. Пункты 240 – 273 + 20 50 мин.
04:02
--
--
2016-06-28 23:39 Секундомер 4 часть. Видеофиксация + 20 4 мин.
--
--
--
2016-06-28 23:06 Секундомер 4 часть. Пункты 200 – 239 + 20 30 мин.
02:34
--
--
2016-06-28 22:22 Секундомер 3 часть. Видеофиксация + 20 3 мин.
--
--
--
2016-06-28 22:19 Секундомер 3 часть. Пункты 150 – 172 + 20 24 мин.
--
--
случайно увлёкся и в 11м повторении сразу записал видео для след. урока
2016-06-28 21:20 Секундомер 2 часть. Видеофиксация + 1 3 мин.
--
--
пишу три минуты, а мне вылазит "будь честен"
2016-06-28 21:04 Секундомер 2 часть. Пункты 120 – 145 + 20 36 мин.
---
---
---
2016-06-27 00:20 Секундомер 1 часть. Видеофиксация + 20 5 мин.
--
--
--
2016-06-26 12:07 Секундомер 1 часть. Пункты 100 – 113 + 20 20 мин.
быстро тыкаться во все места
не забросить это на 4м повторении
---
2016-06-25 14:06 Секундомер Написание кода + 20 36 мин.
добавлять в датаГрид, записывать в файл.
решил сделать секундомер с миллисекундами
понять почему где-то работало .ToString("yyyy-MM-dd HH:mm:ss") а где-то надо было экранировать слэшами
labelTimer.Text = time.ToString("mm\\:ss\\.ff")

так и не понял почему надо экранировать
2016-06-25 00:52 Секундомер Настройка формы + 20 29 мин.
anchor элементов, autosizemode колонок
--
--
2016-06-24 23:05 Секундомер Моральная подготовка + 20 30 мин.
ответы на вопросы:
написал на C# ~10 более-менее законченных программ,
последняя - шарики, за ~12часов,

программирование изучаю потому что нравится это. дальнейшее "зачем" для этого вопроса бессмысленно.
конкретно C# - чтобы открыть себе дорогу в геймдев через юнити. В геймдев - мечта детства. дальнейшее "зачем" для этого вопроса бессмысленно.

Мешает заниматься отсутствие времени. Надо бросать работу, но это пока не вариант. Нужно сначала обзавестись другим источником дохода. Для этого нужно тупо время, т.к. надо пробовать разные варианты (уже в процессе)
--
--
2016-06-19 23:57 Шарики ФИНАЛЬНЫЙ УРОК + 22 40 мин.
делать видео обзоры
--
--
2016-06-19 21:38 Шарики Шарики. Поиск линий + 20 2 час. 35 мин.
Поиск "линий".
Долго переваривал как он работает "на все" возможные линии на поле. Но у него есть бага, пока не понял как лечить.
Разобраться почему поиск не срабатывает на ячейках х=8 || у=8.
Так и не понял.
Ещё надо исключать повторные подсчёты шариков в линиях длиннее искомой длины р
См п.3
2016-06-19 18:21 Шарики Шарики. Поиск пути + 20 4 час. 00 мин.
Узнал про "алгоритм волны".
Сделал сначала сам а потом посмотрел как надо было.
Держаться и не подглядывать в видео
--
2016-06-19 00:27 Шарики Шарики. Логика игры + 20 3 час. 10 мин.
+-вспомнил делегаты
--
не очень понял зачем в JumpBall() и в BallMove() повторно проверять статус (они запускаются только если статус "нужный") и повторно проверять map>0 && map<=0 (опять же, функция вызывается только когда эти события уже выполнились)
2016-06-18 16:29 Шарики Шарики. Анализ игры + 20 1 час. 40 мин.
вспомнил как создавать форму и рисовать картинки
найти где в VS панель toolbox
--
2016-06-18 14:25 Шарики Шарики. Вступление + 20 47 мин.
подумал над схемой состояний игры, нарисовал её
--
--
2015-09-21 17:35 Морской флот Протокол - Список команд + 20 24 мин.
узнал какие будем отправлять запросы на сервер, составил примерный вид запросов-ответов
--
вместо xml я бы наверное лучше использовал json
2015-09-20 23:16 Морской флот База Морского Флота - Запросы SQL + 1 55 мин.
посмотрел на запросы, которые будут использоваться в протоколе
--
--
2015-09-16 15:28 Морской флот База Морского флота - Экспресс SQL + 20 10 мин.
повторенье - мать ...заикания))))
все команды мне давно знакомы, правда вот show create table никогда не использовал, лез руками в структуру
--
--
2015-09-16 15:16 Морской флот База Морского Флота - phpMyAdmin + 20 20 мин.
вспомнил как там вообще выглядит phpmyadmin, создал таблицы, вспомнил разные типы, узнал что datatime(3) появилось только в 5.6.4, подкорректировал типы в таблицах
--
--
2015-09-16 10:57 Морской флот База Морского Флота - GAME + 20 15 мин.
нарисовал таблицу GameLog
не совсем понял как сервак будет обращаться с этой таблицей, но думаю след.уроки помогут. или практика.
--
2015-09-16 10:07 Морской флот База Морского Флота - SHIP + 20 10 мин.
нарисовал таблицу БД с кораблями
--
--
2015-09-15 20:25 Морской флот База Морского Флота - INFO + 20 10 мин.
вспомнил правила игры, подумал над структурой БД
--
--
2015-09-15 13:42 Морской флот Архитектура - Мышкой по кораблям + 20 20 мин.
реализовал mouseClick через делегат, реализовал метод Fire в океане и море для стрельбы по клеткам
--
--
2015-09-15 10:02 Морской флот Архитектура - Фабрика картинок + 20 15 мин.
сформировал метод по определению иконки в зависимости от карты кораблей и выстрелов
--
на уроке был небольшой глюк с изменениями размеров картинок, так вот это нормально - у нас же у моря были нарисованные границы, поэтому оставалась "лишняя" сетка. чинится настройками бэкграунда, на уроке сделали предположение но почти сразу отвергли, хотя решение вот:
BackgroundImageLayout = ImageLayout.Stretch;
2015-09-14 22:10 Морской флот Архитектура - Наследие картинок + 20 48 мин.
сделал классы для картинок, расставил кучу кораблей
--
--
2015-09-11 19:50 Морской флот Архитектура - Карта Пиратов + 20 55 мин.
определился с набором enum'ов, вспомнил про то что в шарпе есть перегрузка методов.
понять матрицу "Ship x Fire = Icon". На уроке не совсем очевидно было использование казалось бы дублирующих unknown и none, но после просмотра при попытке "родить решение задачи [написать игру]" всё стало очевидным.
--
2015-09-10 16:49 Морской флот Архитектура - Перезагрузка проекта + 20 46 мин.
начал переделывать проект, примерно прикинул структуру классов.
плюс, перед дз решил посмотреть туториалы по UML
слушать реальнобыстроговорящегоамериканца, красиво рассказывающего про UML
мне кажется, тело Create нужно тоже в конструктор запихнуть, хотя, я могу и ошибаться.
2015-09-09 18:51 Морской флот Анимация - Полёт по таймеру + 20 45 мин.
переделал анимацию с задержкой перерисовки с помощью таймера вместо thread.sleep,
настроил полёт от угла в выбранную ячейку
--
я немного подредактил "распределение" картинок в момент полёта таким образом, чтобы анимация взрыва происходила строго в ячейке - т.е. все фреймы, кроме последних 5, распределяются по пути от x1,y1 до x2,y2, а последние 5 рисуются в финишной ячейке (см код на рис.)
хотя это тоже всё условно, в идеале надо будет перерисовывать и перерассчитывать всё заново.
2015-09-09 16:58 Морской флот Анимация - Отображение кадров + 20 25 мин.
динамическое создание pictureBox'ов, анимация через подмену картинок
--
--
2015-09-09 12:37 Морской флот Анимация - Полёт снаряда + 1 35 мин.
создал кадры спрайта полёта снаряда
--
--
2015-09-08 22:59 Морской флот Графика - Рефакторинг + 20 1 час. 05 мин.
исправил часть багов ещё до видеоурока, перенёс функционал отрисовки в отдельный класс
--
проще было не создавать две функции DrawCell и DrawCell_NoRefresh, проще было добавить необязательный флаг со смыслом "нужно обновление после отрисовки ячейки" (см. скрин)
2015-09-08 20:21 Морской флот Графика - Выстрелы по Кораблям + 20 1 час. 45 мин.
познакомился с Label и повторил TextBox.
по игре - реализовал проведение сражения, отображение статистики, добавил возможность кастомных параметров игры
--
пытался на поле 7х7 с 7 кораблями угадать где находятся каждый из них с первого выстрела. надоело. последний пункт дз я либо не понял, либо он странный.
2015-09-07 23:16 Морской флот Графика - Карта Морского флота + 20 1 час. 00 мин.
создал enum для состояний карты, проинициализировал карту, расставил рандомно корабли, создал кнопку для расстановки и отображения кораблей
--
--
2015-09-07 21:44 Морской флот Интерфейс - А на море корабли + 20 30 мин.
поигрался с расстановкой кораблей
--
--
2015-09-07 19:34 Морской флот Интерфейс - Первый кораблик + 20 40 мин.
создал форму, приаттачил к проекту картинки, написал тестовые функции на события мыши
--
--
2015-09-03 23:40 Морской Бой Олимпиада - Создание ИИ - Добивание корабля + 2 1 час. 35 мин.
доделал свой вариант реализации алгоритма в части добивания корабля.
для обеспечения "пошаговой обработки" выстрелов запихнуть в глобали то, что у меня изначально было в "общем потоке выполнения" реализовано через while
а где же окончание видеокурса с работающей программой в виде того, что мы делали на первых уроках с dataGridView ?? О_о
2015-09-03 20:01 Морской Бой Олимпиада - Создание ИИ - Шаблон ударов + 1 2 час. 15 мин.
я не стал создавать два лишних массива, а определял следующую точку математически (для 4х-палубных - начинаем с 4й точки на первой строке, далее для каждой строки первая точка сдвигается влево, отдаётся на выстрел каждая четвёртая на очередной строке. когда строки заканчивались, математически определял точки для поиска 2х-палубных аналогично)
поэтому я не делал всего что связано с массивом put.
в основном переделывал свой алгоритм, чтобы он работал в проекте ShipMission
долго отлавливал баги, связанные с заменой циклов while и переделыванием "кучи функций в одном потоке" на несколько функций, пошагово возварщающие нужные точки
можно было бы не использовать массив put и ограничиться массивом shape, вкотором на очередном шаге ставить нули в нужных местах.
2015-09-02 22:30 Морской Бой Олимпиада - Создание ИИ - Стратегия + 20 1 час. 00 мин.
переделал ранее написанную программу чтобы перенести алгоритм в проект ShipMission.
переделать добивание корабля чтобы каждый раз возвращать результат в Program.cs
--
2015-09-01 22:33 Морской Бой Олимпиада - Угадай число + 20 20 мин.
дописал класс и метод угадывания - делением отрезка пополам.
узнал крутую тему с возвратом параметра функции.

не забыть отловить крайние значения путём прибавления\вычитания единицы к верхней\нижней границе отрезка
я так понимаю, что этот урок был перед тем, в котором тестировались алгоритмы морского боя.
немного сбивает нарушенный порядок видеоуроков, видимо не уловил смысл такой перестановки
2015-09-01 15:34 Морской Бой Олимпиада - Самый лучший алгоритм + 20 6 час. 00 мин.
NEW:
написал алгоритм, подробнее - в графе Замечания. Евгений Витольдович, пожалуйста, прочитайте)

OLD: посмотрел варианты алгоритмов. почему-то перед уроком не продумал свой алгоритм, поэтому теперь невольно оглядываюсь на увиденное.
понравилась аналитическая работа тёзки-земляка Александра-4394 и конечно же вариант Оранджа с весами рандомно расставленных кораблей (про хак с памятью и говорить нечего)) )
вроде ничего.
алгоритм хочу написать сначала сам, прежде чем смотреть следующий урок.
за основу возьму рассуждения Александра - логично простреливать сначала четвёрки, затем тройки. Но корабли буду сразу добивать и главное - добавлять точки вокруг подбитых кораблей в список "не стрелять", сократив т.о. теоретически посчитанное число прострелов.
написал-таки алгоритм сам.
прикрепляю проект (и картинку-напоминалку про алгоритм) - там есть замечательная кнопка Kill 10 000 maps, которая практически повторяет последний тест из видеоурока - в цикле 10000 раз ставитрандомные корабли и пытается их убить. после нажатия на кнопку прога подвешивается на время, но по окончании циклов выдаёт результаты min/avg/max, которые, внимание!, лучше чем из видео!!
Евгений, просьба к вам: посмотреть, проверить лично) если честно, сам не верю...
(остальные кнопки вроде понятны)
2015-08-27 19:08 Сокобан Сокобан - Телефон - TCP/IP протокол + 20 1 час. 00 мин.
создал лисенер и клиент для передачи данных по tcp\ip
делегаты и отдельный поток для обработки, надо будет через денёк пересмотреть и написать заново
мало теории.
иногда полезно бы услышать что для чего чуть поподробнее. например, данный урок можно было бы увеличить минут на 20 за счёт большего кол-ва теоретической инфы
2015-08-27 00:04 Морской Бой Установка кораблей + 20 1 час. 00 мин.
поэкспериментировал с разными событиями грида,  дописал забытые в моей английской версии функии Очистить**()

запутался с невызванным вовремя ресетом,  долго мучился с ошибкой в
public int FindNumber(int length)
        {
            for (int i = 0; i < total_ships; i++)
                if (length == ship_lengths[i])
                    if (NoShip(ship_lengths[i]))  // <- argument must be number, not length!!
                        return i;
            return -1;
        }
no
2015-08-26 17:13 Морской Бой Делегаты отображения + 20 1 час. 30 мин.
узнал про делегаты - крутая штука.
также разделил (перенёс часть) функциональность Моря и Редактора.
переделал алгоритм случайной расстановки - отрабатывает за 20-50 итераций при расстановке 10 кораблей на поле 10х10 (против 15-250 итераций в реализации прошлого урока);
имена переменных заменил на англ.;
добавил кнопку для рандомного выстрела
2015-08-25 13:34 Морской Бой Редактор и Сетка + 20 1 час. 20 мин.
узнал про datagridview, заметил пару ошибок в коде на видео, решил переписать алгоритм случайной расстановки из-за неэфективности предложенного
неочевидное использование (и в принципе функциональность) методов грида.
в дереве есть классы Sea, Ship - повторение предыд.урока
2015-08-16 14:16 Морской Бой Море и Корабль + 10 1 час. 20 мин.
переписал классы и методы, протестил
переключение языков
йцукенг
2015-08-14 19:25 Морской Бой Планирование + 10 1 час. 10 мин.
спроектировал в первом приближении классы игры.
вспомнил создание пользовательских типов (через структуры)
пока создавал классы, понял, что русское название переменных - крайне неудобная вещь - постоянные переключения языка.
постоянно переключать язык
не надо использовать русские переменные!!
2015-08-04 19:38 Морской флот Вступление + 1 30 мин.
узнал программу серии вебинаров, узнал правила разрабатываемой игры.
рисовать на тачпаде ноутбука. ещё было сложно оторваться от постоянного подрисовывания
вводный урок норм. единственное, я бы не стал настолько дробить уроки, но видимо так надо
  Нано-игры Арканоид - Уровень и ракетка   Открыто


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





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

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

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

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


Научился: узнал про datagridview, заметил пару ошибок в коде на видео, решил переписать алгоритм случайной расстановки из-за неэфективности предложенного
Трудности: неочевидное использование (и в принципе функциональность) методов грида.
в дереве есть классы Sea, Ship - повторение предыд.урока


Научился: доделал свой вариант реализации алгоритма в части добивания корабля.
Трудности: для обеспечения "пошаговой обработки" выстрелов запихнуть в глобали то, что у меня изначально было в "общем потоке выполнения" реализовано через while
а где же окончание видеокурса с работающей программой в виде того, что мы делали на первых уроках с dataGridView ?? О_о