Дата активности | Видеокурс | Прогресс | ||
---|---|---|---|---|
2016-09-26 | soft0 | Демо софт | 100 % | |
2016-09-24 | soft1 | Нанософт | 30 % | |
2016-09-06 | game6 | Морской Бой | 100 % | |
2016-08-27 | game2 | Микроигры | 87 % | |
2016-08-25 | game7 | Морской флот | 99 % | |
2016-08-08 | task3 | Комбинаторика | 96 % | |
2016-08-04 | sokoban | Сокобан | 96 % | |
2016-04-21 | words | Игры со словами | 72 % | |
2016-04-01 | soft3 | Теория ООП | 98 % | |
2015-12-22 | soft2 | Новые технологии | 20 % | |
2015-12-14 | memory | Карточки памяти | % | |
2015-12-14 | task4 | Графические циклы | 70 % | |
2015-12-09 | game1 | Нано-игры | 80 % | |
2015-12-06 | game0 | Демо игры | 70 % | |
2015-11-07 | game4 | Игры со Спрайтами | 100 % | |
Итого: | 83 % |
Дата активности | Консольный раздел | Прогресс | ||
---|---|---|---|---|
2016-03-06 | task2 | Динамика | 100 % | |
2016-02-23 | task2 | Комбинаторика | 100 % | |
2016-02-08 | task2 | Рекурсия | 100 % | |
2016-01-09 | task2 | Подпрограммы | 72 % | |
2016-01-09 | olimp | Олимпиада | 3 % | |
2016-01-08 | task1 | Календарь | 100 % | |
2016-01-07 | task1 | Целые задачи | 100 % | |
2016-01-04 | task2 | Алгоритмика | 80 % | |
2016-01-04 | task2 | Простые массивы | 100 % | |
2016-01-03 | task2 | Матрёшки | 89 % | |
2015-12-31 | task2 | По цифрам | 100 % | |
2015-12-30 | task2 | Последовательность | 100 % | |
2015-12-30 | task2 | Математика | 100 % | |
2015-12-30 | task2 | Любимые циклы | 100 % | |
2015-12-29 | task2 | Вечность | 80 % | |
2015-12-29 | task2 | Точка и плоскость | 100 % | |
2015-12-29 | task2 | Узник цикла IF | 100 % | |
2015-12-28 | task2 | Обман цикла | 100 % | |
2015-12-20 | task2 | Пока-цикл | 100 % | |
2015-12-20 | task2 | Do-рацикл | 100 % | |
2015-12-19 | task2 | For-to-чки | 100 % | |
2015-12-18 | task2 | Условный оператор | 100 % | |
2015-12-16 | task2 | Логика | 100 % | |
2015-12-15 | task2 | Типы данных | 100 % | |
2015-11-30 | task1 | Лирика | 86 % | |
2015-11-28 | task1 | Цифры | 92 % | |
2015-11-26 | task1 | Символы | 100 % | |
2015-11-26 | task1 | Геометрия | 100 % | |
2015-10-11 | task1 | Формулы | 89 % | |
2015-09-26 | task1 | Целые числа | 100 % | |
2015-09-23 | task1 | Строки | 100 % | |
2015-09-22 | task1 | Семантика | 100 % | |
Итого: | 85 % |
Ильшат, картинки прикреплены не в том формате. Надо бы переформатировать, чтобы можно было их здесь увидеть
В кьюте насколько мне известно можно использовать CSS. Подход как в яве: lbl. getStyleClass( ) . addAll( "game-label", "game-title") ;
Поздравляю финальный урок этот как камень с плечь особенно если курс был тяжелый в освоении.
Спасибо, отличные ответы.
Опубликовал у себя в соц-сети.
1. Недавно исполнился год как зарегистрировался и активно занимаюсь.
2. Сокобан, Морской флот, программки из курса Микроигры.
3. Что-нибудь клиент-серверное (раньше хотел 3D-игру) с клиентом на c++ и серверной частью (как вариант на php).
4. За год обучения неплохо прокачался, было много разнообразной практики.
5. Сначала пройти курсы Демо игры, Демо-софт, опробовать раздел консоль. Дальше на свое усмотрение. Больше практики, как говорит Евгений Витольдович - "Меньше думай, больше делай" или "Делай, Делай, Думай, Делай", а не "Думай, Думай, Не делай, Думай". Всем успехов!)
Спасибо, Qt удобен, большое количество полезных классов для создания прикладных программ.
Ого отличная практика что сделали на Qt
Как успехи с Qt?
Ильшат, круто!!! Как всегда восхищаюсь твоей работой!!! :)
Да, с апреля выполняю видеоуроки на c++, прошел так Микроигры, Морской флот и Морской бой.
Да, использую. Формат уроков интересный, если где-то ошибся, то можно быстро найти место ошибки, на видео это занимает больше времени.
Ты для работы qt используешь?
С интересом посмотрел видео, поздравляю Вас с прошедшим днем рождения)
в любом случае, даже для воспроизведения mp3/mp4 уже полезно
Поправка: в уроке для воспроизведения медиа-файлов используется компонент Windows Media Player, поэтому формат файлов не ограничивается только mp3/mp4, а зависит от установленных в системе кодеков.
Спасибо, Оля, важна постоянная практика)
Отлично, значит в этом уроке даны знания по mp3/mp4 воспроизведению, добавил курс в очередь
Ильшат, классно что навыки твои совершенствуются! :)
Красиво и с душой сделано, молодец)
Нет, свой класс не писал, я использовал шаблон std::uniform_int_distribution из стандартной библиотеки. Внешний вид грида, я так полагаю, зависит от настроек стиля и от графической оболочки операционной системы, пока что не заморачивался с красотой)
Ильшат, а вы в функции placeRandom стандартную сишную функцию rand()% использовали или же свой класс для случайной расстановки писали? Вот кстати что тут грид некрасиво смотрится, что в вс...
Спасибо, здесь все по урокам:) Qt да, удобен, высокоуровневые классы облегчают и ускоряют разработку. Здесь я не использовал никаких игровых движков, Евгений Витольдович неоднократно показывал, что можно делать игрушки на обычном прикладном интерфейсе, это интересно. В качестве структуры хранения данных использовал матрицы из библиотеки boost ublas. Можно было std::array, но я решил пусть размеры игрового поля будут динамичными. А про то, что интересуетесь контейнерами и аллокаторами, то тут стоит задать себе вопрос чем хотите заниматься, для чего использовать язык. Если для быстрой разработки GUI, то следует сделать упор на Qt. Если тянет на исследование низкоуровневых фич, то может быть вообще GUI и не нужно изучать, а делать то, что нравится. Удачи:)
А вы грид как представляли через array или vector<vector<Grid::...> > ?
Очень круто написал!!! Вот для себя решил, что использовать кьют гораздо удобнее чем вс+глут...правда пока до разработки игр и другого по не дошел на плюсах. Пока с консолью работаю: делаю велосипедные контейнеры,простенькие аллокаторы и тд.
Конечно, мало кто не знает эту игру, но шлифовка требуется в любом случае =)
естественно, а ещё ИИ пишет человек и тоже может ошибиться в его логике, создав либо глупого либо мегамозга =)
Спасибо, Алексей, рекомендую данный курс, приятно поиграть со своей собственной программы)
Спасибо, здесь скорее заготовка для игрушки, отчетность о проделанной работе, так как пользователь, который впервые видит данную программу не сразу поймет назначение этих всех квадратиков :)
Спасибо, Евгений Витольдович, я решил в обзорах не рассказывать про код и ход разработки, а сместить акцент в сторону демонстрации возможностей программы, ее функционала. Попутно использую видео обзор как фиксацию всей проделанной работы по курсу, например, показываю работу редактора карты, использование ИИ и других необходимых требований к программе.
Спасибо, Владимир, здесь отчет по Морскому бою, локальная игра с компьютером, а ранее сдавал отчет по клиент-серверному Морскому флоту, вот он как раз затянутый, так как в нем мы рассмотрели многие технологии.
Спасибо, Елена, понравился Ваш алгоритм :)
Здесь особенность в том, что компьютер играет по четким правилам и выбирает наиболее оптимальное решение, а человек может ошибиться с выбором из-за невнимательности, торопливости. Компьютер такое не прощает)
Спасибо, Сергей, у меня были схожие ощущения, когда несколько раз проиграл своей программе "Крестики-нолики" из курса Микроигры. Там ощущения были более яркие, так как процесс игры очень быстрый и частенько проигрывал из-за невнимательности)
Спасибо, Николай, в отчетах пишу что сделал, что требуется по заданию. И Вам тоже успехов, побольше практики)
да, проиграть своей программе не сложно. ведь она знает как ты думаешь =)
Очень подробный Всеобъемлющий обзор. Ильшат, ты не только стал прекрасным программистом, но и стал значительно лучше записывать обзоры своих программ!
Поздравляю!!! Вспомнил свои ощущения, когда первый раз проиграл собственной программе!)))
Мне всегда интересно читать Ваши отчеты. Они нестандартны и часто оригинальны. Желаю дальнейших успехов!!!
На проекте два курса - Морской флот и Морской бой. Морской флот это клиент-серверное приложение, Морской бой это локальная игра с компьютером и реализацией ИИ. Я ранее проходил Морской флот, сейчас заканчиваю Морской бой, это разные проекты с разными целями)
Владимир, не совсем понял, что имеете ввиду под долго тянется?)
Я что-то смотрю Морской бой прям долго тянется....
Нравится то, что мы сначала подготовливаем желаемые данные, которые можем варьировать в зависимости от стратегии поиска)
Спасибо, Алексей, интересные уроки.
да,алгоритм хороший
Отлично справился)
Да, так и есть, перед каждым выстрелом динамически формируется матрица put, в которой хранятся веса. В алгоритме два режима - в первом мы ищем по все карте 4-палубники, заполняем матрицу put по приоритетным(диагональным) направлениям из статичного массива. После того, как попали по кораблю переходим во второй режим, в матрицу put устанавливаются только те ячейки, которые находятся в непосредственности близости от подбитой ячейки. А далее, независимо от режима алгоритма, из полученной матрицы put уже случайно выбирается ячейка.
скорее всего динамически-изменяемая приоритетная сетка вокруг раненых =) чтобы добить быстрее, да, идеально для этого дела =)
В следующем уроке было показано, как применить его для добивания раненых кораблей)
Да, алгоритм интересный, Молодец!
Отличный урок, отличный результат, Молодец =)
Полезная программа по локализации игры, молодец)
В уроке не было конкретного предложения решения этой задачи, это было небольшим самостоятельным заданием, разминкой, написать свой алгоритм отгадывания числа, я выбрал путь деления отрезка пополам)
В задании было сказано прикрепить скриншот программы без исходного кода, а алгоритм да, получился верный)
Ой классно - видимо рассказ шел про метод дитохомии - метод деления отрезка попалам.
Молодец, судя по скриншоту, верный алгоритм угадывания числа =) мы его ещё в школе проходили
Молодец, что справился =) а значит получил новые знания
Спасибо, Кирилл, цветовая стилистика подобрана из видео урока)
Максим, значит нужно сравнить примеры решения конкретной задачи с использованием делегата и без него, понять в чем его польза. В данной задаче это своего рода оптимизация. У нас имеется карта игрового поля - матрица 10 на 10. И есть соотвествующая ей матрица картинок, изображений и прочее. Между картой и отображением должна быть синхронизация. Что для этого нужно сделать? Обновлять содержимое матрицы картинок при изменении карты. Как этого можно добиться? 1) периодически (например, в таймере) класс формы будет получать всю игровую карту и полностью перерисовывать всю матрицу картинок - синхронизация, но это затратно по времени и может вызвать артефакты при отображении. 2) передать в класс логики игры ссылку на класс формы и только в нужный момент вызывать перерисовку - это уже хорошо, обновляет только нужную картинку, но есть зависимость от класса формы, это не гуд. 3) вместо ссылки на весь класс формы передать ссылку на некоторую абстрактную функцию перерисовки, которая не связана с формой - это и есть делегат.
Я вот вроде бы понимаю что такое делегаты, но на практике их применять не умею, молодец!
Linux Mint 17.3 Cinnamon 64bit
Ильшат, поделись, какая у тебя операционная система?
Спасибо, в Морском бое интересна реализация ИИ, скоро дойду до этих уроков.