Дата | Видеоурок | Результат | |
---|---|---|---|
Шахматы по сети Доска. Установка Unity 3D | + 15 | ||
installed Unity/ chess console - 147sym/min, 4 mistakes, |
|||
Шахматы по сети Классы. Архитектура проекта | + 15 | ||
Интересный момент в статье про взятие на проходе - партия между Гундерсеном и Фолом.. Сложно будет с Юнити, т.к. ранее не сталкивался. Остальное должно быть не сложно, т.к. есть опыт с аналогами. Считаю, надо обязательно делать проверку fen'а, иначе можно добиться например такого: https://lichess.org/editor/qqqqqqqq/rrrrrrrr/8/8/4P3/8/PPPP1PPP/BBBBBBBB%20b%20KQkq%20e3%200%201 Не ожидал такого бага)) |
|||
Шахматы по сети План Шахматного проекта | + 15 | ||
Ничему) Опыт: С# - написал пару игрушек, простеньких программ Unity, .net - только слышал Ms, EF - очень маленький опыт (с других курсов) -- |
|||
Секундомер VIP. Секрет мастерства | + 20 | ||
13:17 - на 10 сек больше предыдущего урока. но 1) я не торопился, 2) не подсматривал этапы а вспоминал их. -- думаю, повторять действительно надо раз по 10, но не больше.. лучше написать 10 разных программ по 10 раз, чем одну 100. при этом желательно чтобы в этих 10 программах использовались разные компоненты и приёмы. вот тогда будет вообще круто - запомнится и закрепится очень много разных навыков |
|||
Секундомер VIP. Биоритмы | + 20 | ||
вспомнил работу с консолью обратить внимание что перепутал месяц и день рождения, из-за чего не сходилось кол-во прожитых дней :) надо бы вспомнить форматирование строк. {0,2} написал практически не понимая что это. двойные дни видны по двум чёрточкам друг под другом |
|||
Секундомер ФИНАЛЬНЫЙ УРОК | + 20 | ||
13:07. думаю, вполне реально сделать минут за 8-9 -- -- |
|||
Секундомер 5 часть. Видеофиксация | + 20 | ||
-- -- -- |
|||
Секундомер 5 часть. Пункты 240 – 273 | + 20 | ||
04:02 -- -- |
|||
Секундомер 4 часть. Видеофиксация | + 20 | ||
-- -- -- |
|||
Секундомер 4 часть. Пункты 200 – 239 | + 20 | ||
02:34 -- -- |
|||
Секундомер 3 часть. Видеофиксация | + 20 | ||
-- -- -- |
|||
Секундомер 3 часть. Пункты 150 – 172 | + 20 | ||
-- -- случайно увлёкся и в 11м повторении сразу записал видео для след. урока |
|||
Секундомер 2 часть. Видеофиксация | + 1 | ||
-- -- пишу три минуты, а мне вылазит "будь честен" |
|||
Секундомер 2 часть. Пункты 120 – 145 | + 20 | ||
--- --- --- |
|||
Секундомер 1 часть. Видеофиксация | + 20 | ||
-- -- -- |
|||
Секундомер 1 часть. Пункты 100 – 113 | + 20 | ||
быстро тыкаться во все места не забросить это на 4м повторении --- |
|||
Секундомер Написание кода | + 20 | ||
добавлять в датаГрид, записывать в файл. решил сделать секундомер с миллисекундами понять почему где-то работало .ToString("yyyy-MM-dd HH:mm:ss") а где-то надо было экранировать слэшами labelTimer.Text = time.ToString("mm\\:ss\\.ff") так и не понял почему надо экранировать |
|||
Секундомер Настройка формы | + 20 | ||
anchor элементов, autosizemode колонок -- -- |
|||
Секундомер Моральная подготовка | + 20 | ||
ответы на вопросы: написал на C# ~10 более-менее законченных программ, последняя - шарики, за ~12часов, программирование изучаю потому что нравится это. дальнейшее "зачем" для этого вопроса бессмысленно. конкретно C# - чтобы открыть себе дорогу в геймдев через юнити. В геймдев - мечта детства. дальнейшее "зачем" для этого вопроса бессмысленно. Мешает заниматься отсутствие времени. Надо бросать работу, но это пока не вариант. Нужно сначала обзавестись другим источником дохода. Для этого нужно тупо время, т.к. надо пробовать разные варианты (уже в процессе) -- -- |
|||
Шарики ФИНАЛЬНЫЙ УРОК | + 22 | ||
делать видео обзоры -- -- |
|||
Шарики Шарики. Поиск линий | + 20 | ||
Поиск "линий". Долго переваривал как он работает "на все" возможные линии на поле. Но у него есть бага, пока не понял как лечить. Разобраться почему поиск не срабатывает на ячейках х=8 || у=8. Так и не понял. Ещё надо исключать повторные подсчёты шариков в линиях длиннее искомой длины р См п.3 |
|||
Шарики Шарики. Поиск пути | + 20 | ||
Узнал про "алгоритм волны". Сделал сначала сам а потом посмотрел как надо было. Держаться и не подглядывать в видео -- |
|||
Шарики Шарики. Логика игры | + 20 | ||
+-вспомнил делегаты -- не очень понял зачем в JumpBall() и в BallMove() повторно проверять статус (они запускаются только если статус "нужный") и повторно проверять map>0 && map<=0 (опять же, функция вызывается только когда эти события уже выполнились) |
|||
Шарики Шарики. Анализ игры | + 20 | ||
вспомнил как создавать форму и рисовать картинки найти где в VS панель toolbox -- |
|||
Шарики Шарики. Вступление | + 20 | ||
подумал над схемой состояний игры, нарисовал её -- -- |
|||
Морской флот Протокол - Список команд | + 20 | ||
узнал какие будем отправлять запросы на сервер, составил примерный вид запросов-ответов -- вместо xml я бы наверное лучше использовал json |
|||
Морской флот База Морского Флота - Запросы SQL | + 1 | ||
посмотрел на запросы, которые будут использоваться в протоколе -- -- |
|||
Морской флот База Морского флота - Экспресс SQL | + 20 | ||
повторенье - мать ...заикания)))) все команды мне давно знакомы, правда вот show create table никогда не использовал, лез руками в структуру -- -- |
|||
Морской флот База Морского Флота - phpMyAdmin | + 20 | ||
вспомнил как там вообще выглядит phpmyadmin, создал таблицы, вспомнил разные типы, узнал что datatime(3) появилось только в 5.6.4, подкорректировал типы в таблицах -- -- |
|||
Морской флот База Морского Флота - GAME | + 20 | ||
нарисовал таблицу GameLog не совсем понял как сервак будет обращаться с этой таблицей, но думаю след.уроки помогут. или практика. -- |
|||
Морской флот База Морского Флота - SHIP | + 20 | ||
нарисовал таблицу БД с кораблями -- -- |
|||
Морской флот База Морского Флота - INFO | + 20 | ||
вспомнил правила игры, подумал над структурой БД -- -- |
|||
Морской флот Архитектура - Мышкой по кораблям | + 20 | ||
реализовал mouseClick через делегат, реализовал метод Fire в океане и море для стрельбы по клеткам -- -- |
|||
Морской флот Архитектура - Фабрика картинок | + 20 | ||
сформировал метод по определению иконки в зависимости от карты кораблей и выстрелов -- на уроке был небольшой глюк с изменениями размеров картинок, так вот это нормально - у нас же у моря были нарисованные границы, поэтому оставалась "лишняя" сетка. чинится настройками бэкграунда, на уроке сделали предположение но почти сразу отвергли, хотя решение вот: BackgroundImageLayout = ImageLayout.Stretch; |
|||
Морской флот Архитектура - Наследие картинок | + 20 | ||
сделал классы для картинок, расставил кучу кораблей -- -- |
|||
Морской флот Архитектура - Карта Пиратов | + 20 | ||
определился с набором enum'ов, вспомнил про то что в шарпе есть перегрузка методов. понять матрицу "Ship x Fire = Icon". На уроке не совсем очевидно было использование казалось бы дублирующих unknown и none, но после просмотра при попытке "родить решение задачи [написать игру]" всё стало очевидным. -- |
|||
Морской флот Архитектура - Перезагрузка проекта | + 20 | ||
начал переделывать проект, примерно прикинул структуру классов. плюс, перед дз решил посмотреть туториалы по UML слушать реальнобыстроговорящегоамериканца, красиво рассказывающего про UML мне кажется, тело Create нужно тоже в конструктор запихнуть, хотя, я могу и ошибаться. |
|||
Морской флот Анимация - Полёт по таймеру | + 20 | ||
переделал анимацию с задержкой перерисовки с помощью таймера вместо thread.sleep, настроил полёт от угла в выбранную ячейку -- я немного подредактил "распределение" картинок в момент полёта таким образом, чтобы анимация взрыва происходила строго в ячейке - т.е. все фреймы, кроме последних 5, распределяются по пути от x1,y1 до x2,y2, а последние 5 рисуются в финишной ячейке (см код на рис.) хотя это тоже всё условно, в идеале надо будет перерисовывать и перерассчитывать всё заново. |
|||
Морской флот Анимация - Отображение кадров | + 20 | ||
динамическое создание pictureBox'ов, анимация через подмену картинок -- -- |
|||
Морской флот Анимация - Полёт снаряда | + 1 | ||
создал кадры спрайта полёта снаряда -- -- |
|||
Морской флот Графика - Рефакторинг | + 20 | ||
исправил часть багов ещё до видеоурока, перенёс функционал отрисовки в отдельный класс -- проще было не создавать две функции DrawCell и DrawCell_NoRefresh, проще было добавить необязательный флаг со смыслом "нужно обновление после отрисовки ячейки" (см. скрин) |
|||
Морской флот Графика - Выстрелы по Кораблям | + 20 | ||
познакомился с Label и повторил TextBox. по игре - реализовал проведение сражения, отображение статистики, добавил возможность кастомных параметров игры -- пытался на поле 7х7 с 7 кораблями угадать где находятся каждый из них с первого выстрела. надоело. последний пункт дз я либо не понял, либо он странный. |
|||
Морской флот Графика - Карта Морского флота | + 20 | ||
создал enum для состояний карты, проинициализировал карту, расставил рандомно корабли, создал кнопку для расстановки и отображения кораблей -- -- |
|||
Морской флот Интерфейс - А на море корабли | + 20 | ||
поигрался с расстановкой кораблей -- -- |
|||
Морской флот Интерфейс - Первый кораблик | + 20 | ||
создал форму, приаттачил к проекту картинки, написал тестовые функции на события мыши -- -- |
|||
Морской Бой Олимпиада - Создание ИИ - Добивание корабля | + 2 | ||
доделал свой вариант реализации алгоритма в части добивания корабля. для обеспечения "пошаговой обработки" выстрелов запихнуть в глобали то, что у меня изначально было в "общем потоке выполнения" реализовано через while а где же окончание видеокурса с работающей программой в виде того, что мы делали на первых уроках с dataGridView ?? О_о |
|||
Морской Бой Олимпиада - Создание ИИ - Шаблон ударов | + 1 | ||
я не стал создавать два лишних массива, а определял следующую точку математически (для 4х-палубных - начинаем с 4й точки на первой строке, далее для каждой строки первая точка сдвигается влево, отдаётся на выстрел каждая четвёртая на очередной строке. когда строки заканчивались, математически определял точки для поиска 2х-палубных аналогично) поэтому я не делал всего что связано с массивом put. в основном переделывал свой алгоритм, чтобы он работал в проекте ShipMission долго отлавливал баги, связанные с заменой циклов while и переделыванием "кучи функций в одном потоке" на несколько функций, пошагово возварщающие нужные точки можно было бы не использовать массив put и ограничиться массивом shape, вкотором на очередном шаге ставить нули в нужных местах. |
|||
Морской Бой Олимпиада - Создание ИИ - Стратегия | + 20 | ||
переделал ранее написанную программу чтобы перенести алгоритм в проект ShipMission. переделать добивание корабля чтобы каждый раз возвращать результат в Program.cs -- |
|||
Морской Бой Олимпиада - Угадай число | + 20 | ||
дописал класс и метод угадывания - делением отрезка пополам. узнал крутую тему с возвратом параметра функции. не забыть отловить крайние значения путём прибавления\вычитания единицы к верхней\нижней границе отрезка я так понимаю, что этот урок был перед тем, в котором тестировались алгоритмы морского боя. немного сбивает нарушенный порядок видеоуроков, видимо не уловил смысл такой перестановки |
|||
Морской Бой Олимпиада - Самый лучший алгоритм | + 20 | ||
NEW: написал алгоритм, подробнее - в графе Замечания. Евгений Витольдович, пожалуйста, прочитайте) OLD: посмотрел варианты алгоритмов. почему-то перед уроком не продумал свой алгоритм, поэтому теперь невольно оглядываюсь на увиденное. понравилась аналитическая работа тёзки-земляка Александра-4394 и конечно же вариант Оранджа с весами рандомно расставленных кораблей (про хак с памятью и говорить нечего)) ) вроде ничего. алгоритм хочу написать сначала сам, прежде чем смотреть следующий урок. за основу возьму рассуждения Александра - логично простреливать сначала четвёрки, затем тройки. Но корабли буду сразу добивать и главное - добавлять точки вокруг подбитых кораблей в список "не стрелять", сократив т.о. теоретически посчитанное число прострелов. написал-таки алгоритм сам. прикрепляю проект (и картинку-напоминалку про алгоритм) - там есть замечательная кнопка Kill 10 000 maps, которая практически повторяет последний тест из видеоурока - в цикле 10000 раз ставитрандомные корабли и пытается их убить. после нажатия на кнопку прога подвешивается на время, но по окончании циклов выдаёт результаты min/avg/max, которые, внимание!, лучше чем из видео!! Евгений, просьба к вам: посмотреть, проверить лично) если честно, сам не верю... (остальные кнопки вроде понятны) |
|||
Сокобан Сокобан - Телефон - TCP/IP протокол | + 20 | ||
создал лисенер и клиент для передачи данных по tcp\ip делегаты и отдельный поток для обработки, надо будет через денёк пересмотреть и написать заново мало теории. иногда полезно бы услышать что для чего чуть поподробнее. например, данный урок можно было бы увеличить минут на 20 за счёт большего кол-ва теоретической инфы |
|||
Морской Бой Установка кораблей | + 20 | ||
поэкспериментировал с разными событиями грида, дописал забытые в моей английской версии функии Очистить**() запутался с невызванным вовремя ресетом, долго мучился с ошибкой в 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 |
|||
Морской Бой Делегаты отображения | + 20 | ||
узнал про делегаты - крутая штука. также разделил (перенёс часть) функциональность Моря и Редактора. переделал алгоритм случайной расстановки - отрабатывает за 20-50 итераций при расстановке 10 кораблей на поле 10х10 (против 15-250 итераций в реализации прошлого урока); имена переменных заменил на англ.; добавил кнопку для рандомного выстрела |
|||
Морской Бой Редактор и Сетка | + 20 | ||
узнал про datagridview, заметил пару ошибок в коде на видео, решил переписать алгоритм случайной расстановки из-за неэфективности предложенного неочевидное использование (и в принципе функциональность) методов грида. в дереве есть классы Sea, Ship - повторение предыд.урока |
|||
Морской Бой Море и Корабль | + 10 | ||
переписал классы и методы, протестил переключение языков йцукенг |
|||
Морской Бой Планирование | + 10 | ||
спроектировал в первом приближении классы игры. вспомнил создание пользовательских типов (через структуры) пока создавал классы, понял, что русское название переменных - крайне неудобная вещь - постоянные переключения языка. постоянно переключать язык не надо использовать русские переменные!! |
|||
Морской флот Вступление | + 1 | ||
узнал программу серии вебинаров, узнал правила разрабатываемой игры. рисовать на тачпаде ноутбука. ещё было сложно оторваться от постоянного подрисовывания вводный урок норм. единственное, я бы не стал настолько дробить уроки, но видимо так надо |
|||
Нано-игры Арканоид - Уровень и ракетка | |||
|