Си шарп с нуля

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

основатель — Волосатов Евгений Витольдович
Только до конца месяца: Вступление в Клуб Формулистов с 50% + 20% скидкой.
Робот Шарп работает!

Сергей Лузум
  • Звание: Делегатор
  • Накопленный опыт: 260 часов
  • Баланс Мегахешей: собрано 0 Mh, потрачено 0 Mh
  • Баланс Байтов: нет
  • Не состоит в «Клубе формулистов»
  • Последний визит: 2017-11-20 23:59:29
  • Город проживания: Ставрополь

Видеокурсы

Дата активности Видеокурс Прогресс
2016-09-08 sweep Боты Сапёра 2 из 32 7 %
2016-08-23 soft0 Демо софт 2 из 8 29 %
2016-07-09 bilife Бинарная жизнь 5 из 7 84 %
2016-03-11 task3 Комбинаторика 17 из 22 78 %
2015-12-26 words Игры со словами 3 из 7 43 %
2015-12-21 soft2 Новые технологии 1 из 18 7 %
2015-12-17 game6 Морской Бой 13 из 16 82 %
2015-12-03 game0 Демо игры 8 из 10 80 %
2015-12-01 game1 Нано-игры 5 из 9 50 %
2015-11-29 task4 Графические циклы 3 из 13 24 %
Итого: 59 из 142 42 %

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

Дата активности Консольный раздел Прогресс
2016-09-11 solo Java - Вывод данных 2 из 7 29 %
2016-09-11 club 24 - Муза Оля 2 из 3 67 %
2016-09-10 solo HTML - тексты все 14 100 %
2016-09-10 solo Java - Циклы все 2 100 %
2016-09-09 task2 Алгоритмика все 20 100 %
2016-09-09 solo HTML - таблицы все 5 100 %
2016-09-07 club 10162 - Дмитрий Гринь 1 из 5 20 %
2016-09-06 solo Java - Запуск 12 из 13 93 %
2016-09-06 solo C# набор 15 из 17 89 %
2016-07-02 olimp Олимпиада 5 из 40 13 %
2016-03-12 task5 pascal_for_2_good 2 из 27 8 %
2016-03-12 task5 pascal_for_1_norm все 9 100 %
2016-03-11 task2 Динамика все 3 100 %
2016-03-04 task2 Комбинаторика все 9 100 %
2016-02-12 task2 Рекурсия все 4 100 %
2016-02-07 task2 Do-рацикл 1 из 4 25 %
2016-01-12 task2 Пока-цикл все 6 100 %
2016-01-03 task2 For-to-чки все 26 100 %
2016-01-03 task2 Условный оператор все 16 100 %
2015-12-31 task2 Логика все 13 100 %
2015-12-29 task2 Типы данных все 5 100 %
2015-12-26 task2 Матрёшки 4 из 9 45 %
2015-12-01 task1 Строки все 14 100 %
2015-11-16 task1 Семантика все 6 100 %
Итого: 196 из 277 71 %
Сохранить страницу:

7980. --
Сергей Лузум
Сергей Лузум
ответить
# Запуск пакета / Сегодня 256 День Программиста! / 2016-09-13 16:16

Ностальгия!))) Лет в 5 - 7 родители показали такую "игрушку", кажется, даже самодельную, собранную по схемам... И магнитофон, с которого грузили программы тоже очень напоминал этот.)) Уже потом - системник с 5-дюймовым дисководом в отдельном корпусе (тоже спектрум) - на нём начал пробовать самостоятельно писать программы на Бейсике.


10309. --
Станислав
Станислав
ответить
→  Сергей Лузум  # Запуск пакета / Сегодня 256 День Программиста! / 2016-09-13 14:45

Вот это тру комп! Мой первый спек был в таком корпусе. Ностальгия)


1232. --
Фомичева Наталья
Фомичева Наталья
ответить
→  Сергей Лузум  # Запуск пакета / Сегодня 256 День Программиста! / 2016-09-13 09:51

Был похожий магнитофон, только кассеты с русскими надписями.


10673. --
Алексей Хонин
Алексей Хонин
ответить
→  Сергей Лузум  # Запуск пакета / Сегодня 256 День Программиста! / 2016-09-13 09:16

Отличное поздравление!


10365. --
Rita
Rita
ответить
→  Сергей Лузум  # Сапёр на C# / Минная картотека / 2016-09-09 18:52

Молодец!


7980. --
Сергей Лузум
Сергей Лузум
ответить
# Консоль / Алгоритмика / Регулярные выражения / 2016-09-09 00:57

Действительно интересная и полезная задачка! Спасибо!!!


11017. --
Владимир Петреченко
Владимир Петреченко
ответить
→  Сергей Лузум  # Сапёр на C# / Минная картотека / 2016-09-09 00:09

Отлично!


7276. --
Ильшат
Ильшат
ответить
→  Сергей Лузум  # Морской Бой / Последний Бой! / 2016-09-07 12:45

Спасибо, Сергей, у меня были схожие ощущения, когда несколько раз проиграл своей программе "Крестики-нолики" из курса Микроигры. Там ощущения были более яркие, так как процесс игры очень быстрый и частенько проигрывал из-за невнимательности)


5649. --
Максим Лапшинов
Максим Лапшинов
ответить
→  Сергей Лузум  # Сапёр на C# / Счастливый сапёр / 2016-09-07 08:35

Да угадывать сложновото
Хорошо получилось так держать


7980. --
Сергей Лузум
Сергей Лузум
ответить
→  Ильшат  # Морской Бой / Последний Бой! / 2016-09-07 01:56

Поздравляю!!! Вспомнил свои ощущения, когда первый раз проиграл собственной программе!)))


7980. --
Сергей Лузум
Сергей Лузум
ответить
→  Евгений Волосатов  # Бинарная жизнь / Смысл жизни / 2016-07-09 02:26

Спасибо! Интересного много... Вполне возможные варианты - API ВКонтакте, Морской флот, Новые технологии.


1. KF
Евгений Волосатов
Евгений Волосатов
ответить
→  Сергей Лузум  # Бинарная жизнь / Смысл жизни / 2016-07-06 20:32

Молодец Сергей, поздравляю завершением ещё одного курса! Какой курс будешь проходить следующим?


24. --
Олюшка
Олюшка
ответить
→  Сергей Лузум  # Комбинаторика / Динамика. Выход из Лабиринта / 2016-03-11 14:44

Сергей, чудесно что этот урок принес тебе полезность! Рада что делаешь с удовольствием, так и продолжай! :)


2146. --
Иван
Иван
ответить
→  Сергей Лузум  # Комбинаторика / Динамика. Выход из Лабиринта / 2016-03-11 10:30

Здорово, что все просто получилось!



1. KF
Евгений Волосатов
Евгений Волосатов
ответить
→  Сергей Лузум  # Комбинаторика / Динамика. Выход из Лабиринта / 2016-03-11 00:38

Отличный результат, молодец!



7980. --
Сергей Лузум
Сергей Лузум
ответить
# Видеокурсы / Отзывы о вебинаре / 2016-03-07 02:11

Всё очень понятно и логично! Узнал, в чём заключается идея динамического программирования.  Сам пришёл практически к этому же решению, когда пытался самостоятельно написать программу для 10-значных чисел (искал решение в общем виде). Только я вместо 10-кратной перезаписи строк и сложения сразу стал складывать для каждой подсуммы (которых 9*N) по 10 (или меньше) подсумм  для  (N-1) - варианта. Получилось не так наглядно для понимания и с большим количеством особенностей при программировании. А вариант, рассмотренный на вебинаре, кажется, предельно наглядный!) Спасибо!


24. --
Олюшка
Олюшка
ответить
→  Сергей Лузум  # Комбинаторика / Комбинаторика. Математические операции / 2016-03-05 23:09

Сергей, отлично позанимался на этом уроке и рада что результат отличный! Молодец! :)


1. KF
Евгений Волосатов
Евгений Волосатов
ответить
→  Сергей Лузум  # Комбинаторика / Динамика. Поле дураков / 2016-03-05 15:16

Нач данные нулевого теста пишется под задачей


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

7980. --
Сергей Лузум
Сергей Лузум
ответить
→  Евгений Волосатов  # Комбинаторика / Комбинаторика. Сложение букв / 2016-03-04 12:27

Да я как-то прозевал этот момент (в уроке примерно с 31:39 по 31:41)... Зато теперь разобрался как следует!)))
А вообще, сейчас я стараюсь решать уроки так:
- сначала пробую решить задачу в общих чертах в уме (если легкая - сразу программу, если посложней - прикинуть возможные пути решения);
- потом смотрю видеоурок, надеясь найти в нём что-нибдь новое для себя;
- наконец, пытаюсь самостоятельно написать программу и отладить её;
- и только, если что-нибудь долго не получается, снова внимательно просматриваю урок, сверяясь с ним на каждом шагу.


1. KF
Евгений Волосатов
Евгений Волосатов
ответить
→  Сергей Лузум  # Комбинаторика / Комбинаторика. Сложение букв / 2016-03-04 08:43

На видео я делал подсказка, что начинать надо было с 9.


24. --
Олюшка
Олюшка
ответить
→  Сергей Лузум  # Комбинаторика / Комбинаторика. 4 x 4. Ладья x Ферзь / 2016-02-20 12:27

Сергей, Благодарю на подробный ответ, даже отчет, уверена что не одной мне он станет полезен! СПАСИБО! Молодец! :)


7980. --
Сергей Лузум
Сергей Лузум
ответить
→  Олюшка  # Комбинаторика / Комбинаторика. 4 x 4. Ладья x Ферзь / 2016-02-20 11:14

Спасибо!
Видеоурок я посмотрел  позже, уже после отправки отчёта: оказалось, что там разбирается решение в общем случае, с которым у меня возникли трудности при самостоятельном решении. Так что, в поле "Чему научился" надо было бы вписать это решение: идея с диагоналями в таком виде в голову не пришла. Я хотел на каждом шаге делать проверку для фигуры: стоит она под боем или нет. Для этого предусмотрена процедура, проверяющая совпадение вертикали, горизонтали или диагонали. Последняя проверяется в общем случае по правилу |ф1.x - ф2.x| == |ф1.y - ф2.y|. Но моё решение для N стало слишком запутанным. А программа для доски 4x4 вот такая:
//www.VideoSharp.info/Консоль/Комбинаторика/Четыре ферзя
using System;
class VideoSharp
{
        static void Main(string[] args)
        {
            ferz a = new ferz(0, 0),
                b = new ferz(0, 1),
                c = new ferz(0, 2),
                d = new ferz(0, 3);
            int result = 0;
           
            for (int i = 0; i < 4; ++i)
            for (int j = 0; j < 4; ++j)
            for (int k = 0; k < 4; ++k)
            for (int l = 0; l < 4; ++l)
            {
                a.x = i; b.x = j; c.x = k; d.x = l;
                if (!check(a,b) &&
                    !check(a,c) &&
                    !check(a,d) &&
                    !check(b,c) &&
                    !check(b,d) &&
                    !check(c,d))
                result++;
            }
            Console.WriteLine(result);
        }

        private static bool check(ferz a, ferz b)
        {
            if (a.x == b.x ||
                a.y == b.y ||
                b.y - a.y == Math.Abs(b.x - a.x))
            return true;
            return false;
        }
}
    class ferz
    {
        public int x, y;
        public ferz(int i, int j)
        {
            x = i;
            y = j;
        }
    }


24. --
Олюшка
Олюшка
ответить
→  Сергей Лузум  # Комбинаторика / Комбинаторика. 4 x 4. Ладья x Ферзь / 2016-02-18 11:14

Сергей, рада что тебе нравится и интересно, хотя ты так и не написала насколько твое решение лучше остальных и что в других решениях было полезно! :)
Молодец, рада что сам уже делаешь! :)


7980. --
Сергей Лузум
Сергей Лузум
ответить
# Комбинаторика / Комбинаторика. Счастливые билеты N / 2016-02-17 13:11

Чуть-чуть доработал:
namespace Combinatorics
{
    class Program
    {
        static void Main(string[] args)
        {
            long[] sum, sum2;// Массивы, хранящие количество комбинаций из N цифр для каждой возможной суммы цифр (диапазон 0..9*N)
            long S = 0;
            int N;

            N = int.Parse(Console.ReadLine());
            sum = new long[9 * N + 1];
            sum2 = new long[9 * N + 1]; //Здесь будем хранить значения для предыдущего N
           
            for (int i = 0; i <= 9*N; ++i)//Для N == 1 заполняем массив вручную
                if (i < 10)
                    sum[i] = 1;
                else
                    sum[i] = 0;

            if (N > 1)
                for (int k = 2; k <= N; ++k)
                {
                    sum.CopyTo(sum2, 0);
                    for (int i = 1; i <= 9 * k; ++i)
                        if (i < 10)
                            sum[i] += sum[i - 1];
                        else
                            sum[i] += sum[i - 1] - sum2[i - 10];
                }

            for (int i = 0; i <= 9 * N; ++i)//Считаем количество счастливых билетов для 2*N цифр
                S += sum[i] * sum[i];

            Console.WriteLine(S);
            Console.ReadKey();
        }
    }
}


2146. --
Иван
Иван
ответить
→  Сергей Лузум  # Комбинаторика / Комбинаторика. Счастливые билеты 6 / 2016-02-13 00:32

Оптимизация творит чудеса!


24. --
Олюшка
Олюшка
ответить
→  Сергей Лузум  # Комбинаторика / Рекурсия. Общий делитель / 2016-02-12 17:32

Сергей, уверена теперь ты уже знаешь и расширил своих понятия и знания! :)


7980. --
Сергей Лузум
Сергей Лузум
ответить
→  Евгений Волосатов   / 2016-02-12 12:34

Согласен, такой вариант, безусловно, эффективней. Только программа-то отрабатывает (даже довольно быстро) при вычислении разности прямо в параметре, но зависает при попытке сделать это отдельно в дополнительной переменной. Вот это уже и не понятно. Я пока не очень хорошо представляю, что при этом происходит в реальности.


1. KF
Евгений Волосатов
Евгений Волосатов
ответить
→  Сергей Лузум   / 2016-02-12 12:22

проблема не в переполнении, а в том, что от миллиарда отнимать десятку нужно очень, ОЧЕНЬ много раз.
Можешь добавить условие что-то вроде if (a > b * 1000) и тогда отнимать сразу 1000 раз b,
в 1000 раз ускоришь алгоритм :)


7980. --
Сергей Лузум
Сергей Лузум
ответить
→  Евгений Волосатов  # Комбинаторика / Рекурсия. Общий делитель / 2016-02-12 12:01

Я видел этот вариант, но ведь это уже принципиально другой алгоритм, резко сокращающий число ходов... А мне было интересно просто максимально ускорить все вычисления, АБСОЛЮТНО не меняя алгоритм. Да и просто сама причина такого поведения не понятна. Вроде, для переполнения long нужны гораздо большие значения...


1. KF
Евгений Волосатов
Евгений Волосатов
ответить
→  Сергей Лузум  # Комбинаторика / Рекурсия. Общий делитель / 2016-02-12 11:49

Используй операцию взятия остатка %, вместо вычитания.


24. --
Олюшка
Олюшка
ответить
→  Сергей Лузум  # Комбинаторика / Рекурсия. Числа Фибоначчи / 2016-02-11 19:17

Сергей, замечательно что урок понравился и принес пользу! :)


24. --
Олюшка
Олюшка
ответить
→  Сергей Лузум  # Комбинаторика / Рекурсия. Заливка области / 2016-02-11 16:51

Сергей, здорово что прочувствовал магию рекурсии, и выполнил урок замечательно! Отличные идеи у тебя! :)


7980. --
Сергей Лузум
Сергей Лузум
ответить
→  Евгений Волосатов  # Комбинаторика / Рекурсия. Заливка области / 2016-02-10 23:21

Есть. Пока я смотрел на раздел с задачками по Паскалю и думал, что он мог бы стать отличным тренажёром...


1. KF
Евгений Волосатов
Евгений Волосатов
ответить
→  Сергей Лузум  # Комбинаторика / Рекурсия. Заливка области / 2016-02-10 23:17

Сергей, есть ли у вас желание использовать наш сайт в школе для решения контрольных задач?


7980. --
Сергей Лузум
Сергей Лузум
ответить

24. --
Олюшка
Олюшка
ответить
→  Сергей Лузум  # Комбинаторика / Рекурсия. Вступление / 2016-02-09 23:57

Сергей, замечательно позанимался, и я рада тебя приветствовать на этом увлекательном и познавательном курсе! Поздравляю! :)


2146. --
Иван
Иван
ответить
→  Сергей Лузум  # Комбинаторика / Рекурсия. Вступление / 2016-02-09 23:50

Очень красивые картинки подобрал! Особенно верхняя!


7980. --
Сергей Лузум
Сергей Лузум
ответить
→  Александр   / 2016-01-03 16:16

Да просто задачки некоторые почти одинаковые... Ну и время свободное было спокойно посидеть, порешать!))


6458. --
Александр
Александр
ответить
→  Сергей Лузум   / 2016-01-03 15:31

ну и скорость у тебя, решаешь консоль словно семечки, класс )


7980. --
Сергей Лузум
Сергей Лузум
ответить
# Консоль / Условный оператор / Минимальное неотрицательное / 2016-01-03 02:04

Странно только, что в условии указан диапазон входных данных -10^9..10^9, а для правильного решения необходимо использовать тип long, а не int с его диапазоном -2 147 483 648 .. 2 147 483 647


7980. --
Сергей Лузум
Сергей Лузум
ответить
→  Иван  # Чашка кофе / Алгоритмика. Матрёшки. / 2015-12-27 12:10

Спасибо! Всех ещё раз с Новым годом!!!)


2146. --
Иван
Иван
ответить
→  Сергей Лузум  # Чашка кофе / Алгоритмика. Матрёшки. / 2015-12-27 11:47

Легко все получается! С Новым годом и новым опытом программирования!


8. --
Василевская Елена
Василевская Елена
ответить
→  Сергей Лузум  # Чашка кофе / Бот для игры БАЛДА / 2015-12-26 17:51

Сергей, уверена, у тебя все получится, главное есть желание. Удачи!


5649. --
Максим Лапшинов
Максим Лапшинов
ответить
→  Сергей Лузум  # Чашка кофе / Алгоритмика. Матрёшки. / 2015-12-26 13:55

И вас тоже с новым годом
Предоставте еще скриншот выполненых в алгоритмике темы Матрешка


7276. --
Ильшат
Ильшат
ответить
→  Сергей Лузум  # Чашка кофе / + Модульное тестирование / 2015-12-24 17:39

Спасибо, Сергей)


7980. --
Сергей Лузум
Сергей Лузум
ответить
→  Олюшка  # Чашка кофе / + Виселка. Поле чудес / 2015-12-24 15:58

Я частично сегодня разобрался с этим вопросом. Похоже, что это какие-то свойства операционной системы: при копировании с рабочего компьютера на домашний или при изменении имени файла на новое, которое раньше не использовалось, всё отображается правильно. Но на работе как в папке Debug, так и на рабочем столе (куда я тоже успел раньше кинуть копию) остаётся первый вариант иконки. При этом система где-то хранит даже прошлое имя файла (Viselka и Виселица), но когда тому же файлу на работе дал заведомо новое имя "Viselk", иконка сразу изменилась на текущую.


24. --
Олюшка
Олюшка
ответить
→  Сергей Лузум  # Чашка кофе / + Виселка. Поле чудес / 2015-12-24 15:34

Сергей, не совсем понимаю твоего вопроса, ведь иконка у тебя везде корректно отображается и на панели и на рабочем столе и в самой программе!
Все у тебя очень классно получилось, мне нравится твоя программа! Молодец! :)


2146. --
Иван
Иван
ответить
→  Сергей Лузум  # Чашка кофе / + Виселка. Поле чудес / 2015-12-24 14:46

Красиво получилось!


7980. --
Сергей Лузум
Сергей Лузум
ответить
→  Ильшат  # Чашка кофе / + Модульное тестирование / 2015-12-24 00:20

Вот так отчёт! Я даже и не заметил, что "стена" - прочитал всё с большим интересом и удовольствием!!!)


24. --
Олюшка
Олюшка
ответить
→  Сергей Лузум  # Чашка кофе / Игры со словами / 2015-12-22 20:17

Сергей, замечательные знания получил от этого урока и рада что ты уже делаешь самостоятельно! Молодец! :)


8. --
Василевская Елена
Василевская Елена
ответить
→  Сергей Лузум  # Чашка кофе / + Модульное тестирование / 2015-12-22 08:31

Сергей, хорошо, что ты разобрался с тестированием. На самом деле очень полезный урок. Молодец!


7980. --
Сергей Лузум
Сергей Лузум
ответить
# Чашка кофе / + Модульное тестирование / 2015-12-21 18:43

Я не заметил сразу, что нужно было все тесты сделать успешными. Нарочно оставил пару ошибочных, возникших из-за переполнения int.


6391. --
Владимир
Владимир
ответить
→  Сергей Лузум  # Чашка кофе / Поздравление с Новым 2016 годом! / 2015-12-21 12:37

Сергей, Спасибо за пожелания! Кстати, у нас тут растет команда сильных программистов, так что скоро мы сможем осилить большой проект!


1. KF
Евгений Волосатов
Евгений Волосатов
ответить
→  Сергей Лузум  # Чашка кофе / Поздравление с Новым 2016 годом! / 2015-12-21 09:59

Спасибо, Сергей.
Очень понравилась картинка, одна из моих мечт :)
Поставил на фон рабочего стола на работе.
Благодарю!


7980. --
Сергей Лузум
Сергей Лузум
ответить
# Морской Бой / Последний Бой! / 2015-12-18 22:16

Спасибо! Опыта и знаний, действительно, ощутимо прибавилось!) А насчёт увлекательности - самое интересное было , конечно, с олимпиадной частью, но ещё осталась доработка программы. Хочется доработать ИИ до уровня хорошего игрока, чтобы результат игры с человеком был примерно 50:50... Пока поразвлекался, заставил два разных ИИ играть друг против друга: мой вариант всё-таки уступает предложенному в уроке, но тем заманчивей придумать что-то более достойное!))


24. --
Олюшка
Олюшка
ответить
→  Сергей Лузум  # Морской Бой / Последний Бой! / 2015-12-18 17:10

Сергей, рада очень и Поздравляю с замечательной игрой и приобретенным опытом! Ты, Молодец! :)


2146. --
Иван
Иван
ответить
→  Сергей Лузум  # Морской Бой / Последний Бой! / 2015-12-18 02:25

Здорово! Поздравляю с завершением курса! Создание такой программы - увлекательное дело!


7980. --
Сергей Лузум
Сергей Лузум
ответить

8. --
Василевская Елена
Василевская Елена
ответить
→  Сергей Лузум  # Морской Бой / Последний Бой! / 2015-12-17 20:41

Молодец, Сергей! Красивая игра получилась.  Очень рада за тебя, что так уверенно осваиваешь материал и добиваешься отличных результатов. Успехов!


7980. --
Сергей Лузум
Сергей Лузум
ответить
→  Олюшка  # Морской Бой / Интерфейс игры / 2015-12-17 19:10

Спасибо!


24. --
Олюшка
Олюшка
ответить
→  Сергей Лузум  # Морской Бой / Интерфейс игры / 2015-12-17 18:41

Сергей, я рада что у тебя все уже отлично! Молодец! :)


7980. --
Сергей Лузум
Сергей Лузум
ответить
→  Евгений Волосатов  # Морской Бой / Интерфейс игры / 2015-12-17 12:06

Спасибо! Всё понял, исправил!


1. KF
Евгений Волосатов
Евгений Волосатов
ответить
→  Сергей Лузум  # Морской Бой / Интерфейс игры / 2015-12-17 11:16

Посмотри видеоурок "почем рандом возвращает одинаковые значения".
www.videosharp.info/webinar/answers/id=27


24. --
Олюшка
Олюшка
ответить
→  Сергей Лузум  # Морской Бой / Рефакторинг кода / 2015-12-16 17:31

Сергей, я очень рада твоим достижениям, это очень классно! Молодец! :)


1. KF
Евгений Волосатов
Евгений Волосатов
ответить
→  Сергей Лузум  # Морской Бой / Рефакторинг кода / 2015-12-16 07:19

Приятно осознавать


7980. --
Сергей Лузум
Сергей Лузум
ответить
→  Евгений Волосатов   / 2015-12-15 23:51

Спасибо!)


7980. --
Сергей Лузум
Сергей Лузум
ответить
→  Олюшка  # Морской Бой / Олимпиада - Создание ИИ - Шаблон ударов / 2015-12-15 23:51

Спасибо! При такой поддержке не может не получиться!!!))


24. --
Олюшка
Олюшка
ответить
→  Сергей Лузум  # Морской Бой / Олимпиада - Создание ИИ - Шаблон ударов / 2015-12-15 20:55

Сергей, спасибо за подробное объяснение! :)
Уверена что после реализации полностью игры ты тоже сделаешь рефакторинг, наведешь красоту и у себя! :)
На данном этапе главное что работает и об этого Евгений часто говорит: "для начало сделать чтобы работало"! Молодец! :)


1. KF
Евгений Волосатов
Евгений Волосатов
ответить
→  Сергей Лузум   / 2015-12-15 20:53

Отличное описание алгоритма и замечательная работа, Сергей, ты молодец!


7980. --
Сергей Лузум
Сергей Лузум
ответить
→  Олюшка  # Морской Бой / Олимпиада - Создание ИИ - Шаблон ударов / 2015-12-15 18:44

Попробую сравнить.)
Сами алгоритмы разные. Свой я описал в уроке "Самый лучший алгоритм", а реализованный здесь алгоритм разбирается в самом уроке. Поэтому подробно каждый из них описывать не стоит.
Дальше: что касается реализации моего алгоритма, то не всё удалось сделать так, как задумывал. Не получилось отмечать поля вокруг подбитого/ убитого корабля как "мимо". Была мысль, что хорошо бы ввести для этого свою матрицу (как, кстати, и сделано в алгоритме Евгения Витольдовича), но я побоялся сделать программу совсем запутанной. Теперь, просмотрев урок, прочувствовал всю пользу от такой "личной" карты.) Вместо этого я просто стал проверять, какие клетки окружают поле будущего выстрела и на месте решать: стрелять или нет. В отличие от разобранного здесь алгоритма, мой не отслеживал подбитые корабли (какой длины и сколько).
Ну и самое главное: разобранный здесь алгоритм очень аккуратно разделён на отдельные процедуры и функции, имеет чёткую структуру. Поэтому в нём намного легче ориентироваться. А в моём пока беспорядок, так как многое дорабатывалось по ходу  написания программы  и оставалось в том виде, в каком только-только переставало "глючить".
В общем, мой алгоритм вполне работоспособен, но очень плохо структурирован. Приведённый же в этом уроке алгоритм имеет хорошо продуманную структуру.
Именно такому подходу к написанию программ, такому мышлению я и пытаюсь научиться!)


24. --
Олюшка
Олюшка
ответить
→  Сергей Лузум  # Морской Бой / Олимпиада - Создание ИИ - Добивание корабля / 2015-12-15 17:06

Отличные знания получил, и классно что все получилось отлично! Молодец! :)


24. --
Олюшка
Олюшка
ответить
→  Сергей Лузум  # Морской Бой / Олимпиада - Создание ИИ - Шаблон ударов / 2015-12-15 16:47

Сергей, как я рада что все у тебя супер! Вот только ты сравнил, а не поделился впечатлениями? Интересно узнать твое мнение о предложенном в уроке коде!


24. --
Олюшка
Олюшка
ответить
→  Сергей Лузум  # Морской Бой / Олимпиада - Создание ИИ - Стратегия / 2015-12-14 18:00

Сергей, очень хорошо проработал урок и получил отличные знания! Молодец! :)


7980. --
Сергей Лузум
Сергей Лузум
ответить
→  Neverwinter 2  # Морской Бой / Олимпиада - Самый лучший алгоритм / 2015-12-13 11:03

Понятно!))) Разные цвета появлялись почти случайно. Я для себя помечал небольшие группы одним цветом, чтобы самому отслеживать равномерность и заполнения поля числами. А потом для облегчения повторного поиска внизу добавил шкалу с соответствием числовых диапазонов цветам.


1901. --
Neverwinter 2
Neverwinter 2
ответить
→  Сергей Лузум  # Морской Бой / Олимпиада - Самый лучший алгоритм / 2015-12-13 08:58

Здорово! Попробовал искать цифры 1, 2, 3, 4, 5,.... из-за смены цветов это оказалось непросто! Ищешь то старый цвет и думаешь - ну где же где же 13.... Красиво, молодец!


4814. --
Дмитрий
Дмитрий
ответить
→  Сергей Лузум  # Морской Бой / Олимпиада - Самый лучший алгоритм / 2015-12-13 05:23

Хороший алгоритм.
Понравилось, что достаточно быстро проверяются клетки на граничных линиях, на 5-12 ходах.
Опытные игроки отдают под бой многопалубные корабли и оставляют одиночным целых 60 клеток в распоряжение.
Чем раньше уничтожишь многопалубники, тем лучше.


2146. --
Иван
Иван
ответить
→  Сергей Лузум  # Морской Бой / Олимпиада - Самый лучший алгоритм / 2015-12-13 01:35

Красота! Очень здорово придумал.


24. --
Олюшка
Олюшка
ответить
→  Сергей Лузум  # Морской Бой / Олимпиада - Самый лучший алгоритм / 2015-12-12 23:53

Сергей, это очень круто! Вижу как ты старательно и усердно проработал урок! Молодец! :)


6391. --
Владимир
Владимир
ответить

7980. --
Сергей Лузум
Сергей Лузум
ответить
→  Олюшка  # Морской Бой / Делегаты отображения / 2015-12-11 19:56

Хотелось бы!)) Это действительно интересная, хотя и довольно запутанная конструкция.


24. --
Олюшка
Олюшка
ответить
→  Сергей Лузум  # Морской Бой / Делегаты отображения / 2015-12-11 18:49

Сергей, очень рада что ты познакомился с делегатами и у вас познала крепкая дружба, уверена что ты их дальше будешь применять! :)


7980. --
Сергей Лузум
Сергей Лузум
ответить
# Морской Бой / Редактор и Сетка / 2015-12-10 12:12

Согласен, расслабился. Думал, что в конце создания игры с оформлением разберусь, но раз уж так - обязательно поправлю на следующем уроке!!!)


2146. --
Иван
Иван
ответить
→  Сергей Лузум  # Морской Бой / Редактор и Сетка / 2015-12-10 00:24

Хорошо  получается! Но было бы хорошо все-таки давать осмысленные названия кнопкам. А иконку можно сделать на favicon.ru


24. --
Олюшка
Олюшка
ответить
→  Сергей Лузум  # Морской Бой / Море и Корабль / 2015-12-09 14:58

Серей, очень классно позанимался и рада что появились новые знания и много понимания!!! Молодец! :)


1. KF
Евгений Волосатов
Евгений Волосатов
ответить
→  Сергей Лузум  # Морской Бой / Море и Корабль / 2015-12-08 21:37

Отлично


24. --
Олюшка
Олюшка
ответить
→  Сергей Лузум  # Морской Бой / Планирование / 2015-12-08 18:09

Сергей, планирование это главный этап в жизни будущей программы, уверена ты это оценишь и поймешь как важен этот урок!
Поздравляю с началом этого классного курса!!! :)


6452. --
Кирилл Шмойлов
Кирилл Шмойлов
ответить
→  Сергей Лузум  # Наноигры / Устный счёт / 2015-12-03 03:58

Молодец! Хорошие доработки. Вот из таких мелочей и получаются шедевры! Так что если твоё внимание уже обращено на мелочи, значит в общем всё уже можешь сам!!!


24. --
Олюшка
Олюшка
ответить
→  Сергей Лузум  # Наноигры / Скорость реакции. Алгоритм и рекорд / 2015-12-01 14:46

Сергей, мне н нравится как ты позанимался на этом уроке и приобрел отличнейший опыт! Молодец! :)


7980. --
Сергей Лузум
Сергей Лузум
ответить
# Консоль / Строки / Remove / 2015-12-01 09:34

Здравствуйте!
Робот Шарп почему-то зависает ("запутался в проводах" :-( ), когда отправляю ему это решение:

        string s = Console.ReadLine(),
              s1 = Console.ReadLine();
        int index1 = s.IndexOf('(') + 1, index2 = s.IndexOf(')');
        Console.WriteLine(s.Remove(index1, index2 - index1).Insert(index1,s1));


7980. --
Сергей Лузум
Сергей Лузум
ответить
# Чашка кофе / Диагональные линии / 2015-11-30 11:01

Сейчас помню, что набирал RANDOMIZE USR 156??, заучив наизусть для каких-то целей. )) А для чего именно - забыл... Возможно, для загрузки программ с дискет (был 5-дюймовый привод).


1. KF
Евгений Волосатов
Евгений Волосатов
ответить
→  Сергей Лузум  # Чашка кофе / Диагональные линии / 2015-11-30 08:44

RANDOMIZE USR 15616
Говорит тебе о чём-нибудь? :)


2146. --
Иван
Иван
ответить
→  Сергей Лузум  # Наноигры / Арканоид - Шарик и кирпичики / 2015-11-30 01:38

Здорово получилось! Видно, что программа понравилась!


24. --
Олюшка
Олюшка
ответить
→  Сергей Лузум  # Наноигры / Арканоид - Шарик и кирпичики / 2015-11-29 20:15

Сергей, замечательно позанимался в этом уроке! Думаю ты сможешь реализовать отскакивая шарика самостоятельно! Попробуй, если сразу не получится, двигайся дальше, а потом вернись и знаю что обязательно получится! :)


2146. --
Иван
Иван
ответить
→  Сергей Лузум  # Наноигры / Полуфинальный урок. Отзыв о видеокурсе / 2015-11-29 01:04

Спасибо за отзыв, интересно было прочитать! Желаю успехов в этом увлекательном деле! И ждем новых отчетов о новых программах!


7980. --
Сергей Лузум
Сергей Лузум
ответить
→  Олюшка  # Наноигры / Камень ножницы бумага / 2015-11-28 22:47

Спасибо, посмотрю!)) Уточнение: сейчас картинка не меняется до ЗАВЕРШЕНИЯ следующего раунда.


24. --
Олюшка
Олюшка
ответить
→  Сергей Лузум  # Наноигры / Камень ножницы бумага / 2015-11-28 22:33

Сергей, классно придумал, а для ничья, посмотрен как у меня в отчете крестики-нолики, такое дружественное рукопожатие может подойдет или что-то в этом духе!!!


7980. --
Сергей Лузум
Сергей Лузум
ответить
→  Олюшка  # Наноигры / Камень ножницы бумага / 2015-11-28 22:30

В случае победы или проигрыша до начала следующего раунда посередине отображается результат игры (соответствующим образом сориентированная картинка). Для "ничьей" пока ничего не придумал.


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

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

Формулист За сегодня За неделю
Разминка Обучение Бонусы Сумма
1 KF Dmitry Sinitsin 17947 390
2 -- Степан 18842 6 5 11 309
3 KF Яков 6401 290
4 KF Николай Миролюбов 6203 255
5 KF Игорь Бойко 23687 154
6 KF ES35 22133 118
7 KF Vladimir 22955 5 10 15 106
8 -- Андрей 162 90
9 KF ser2018 17425 71
10 -- Алексей 23591 39
11 -- Валерий Жданов 791 5 5 38
12 -- Посетитель 0 5 5 35
13 KF Антон Кравченко 5502 5 5 35
14 -- Anasstka 23566 5 5 35
15 KF Yefim 11589 5 5 33
16 -- Дмитрий 21929 30
17 -- Степан 1710 26
18 KF Den Andreevich 6861 24
19 -- Алексей|BrisK|Кривицкий 3506 21
20 -- Daniil 23442 21
21 -- Владимир 23764 21
22 KF Glebov Alexandr Leonidovich 23309 20
23 -- Ибрагим 23460 20
24 KF Dmitry-BY 19391 19
25 KF Дмитрий 20302 17
26 -- Maxspell 20570 16
27 -- Oleg Didok 10418 15
28 -- Даниил Лаутеншлегер 20061 15
29 -- Hacker228 23579 15
30 -- Иван 2146 14
31 -- Новопашин Владимир 7119 12
32 -- mardul 23714 12
33 -- Сергей 10165 10 10 10
34 -- Тимур 23775 5 5 10
35 KF Сергей Сергеев 10713 10
36 -- KpucTo6aJlb 13385 10
37 -- Тимур Зарипов 22417 10
38 -- Тимур 23707 10
39 -- Василий 23718 10
40 -- Данил 23750 8
41 -- Николай 21753 6
42 -- Мурат Валиев 23716 6
43 -- Иван 23782 5 5 5
44 -- Evgenii Kudriavtcev 18493 5
45 -- Никита 23678 5
46 -- tlolda 23713 5
47 -- Диана 23731 5
48 KF Евгений Волосатов 1 4
49 -- Никита 23587 3
50 -- Григорий 3850 2
51 -- Егор 23740 2
52 -- Николай Денисов 9014 1
53 -- Родион 11582 1
54 -- mr. Bat 22062 1
55 -- Андрей 23725 1
56 -- s1v1s 23727 1
57 -- Ульяна 23728 1
58 -- Кирилл 23730 1
59 -- Amir 23741 1
60 -- Taras 23751 1
61 -- Gevorg 23753 1
62 -- Neo 23754 1
63 -- Мурад 23756 1
64 -- Мария 23757 1
65 -- Максим 23758 1
66 -- А А 23759 1
67 -- Игорь 23762 1
68 -- Bakha 23770 1
69 -- Лев 23771 1
70 -- yasuraoka 23779 1
71 -- Serhii 23780 1

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

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

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

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

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

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





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

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

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

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


Научился: Выводить разные изображения в определённую область окна. Закрепил явное преобразование типов.
Можно добавить главное меню.


Научился: Прояснил для себя смысл занятий здесь.
Трудности: Отправить первый отчёт.
Здравствуйте, Евгений Витольдович! Я узнал о проекте почти случайно: по рекламной ссылке на сайте. Прочитав о нескольких бесплатных видеоуроках, для получения которых необходима регистрация, вспомнил, где обычно бывает "бесплатный сыр". Поэтому специально для регистрации завёл новую почту и указал там нейтральную информацию - позже, разобравшись, что к чему, исправил на настоящую. Проект заинтересовал меня по нескольким причинам: -интересная подача материала; -доброжелательная атмосфера и увлечённые участники; -Ваша искренняя заинтересованность проектом (не только коммерческая) и программированием вообще - мощный стимул заниматься дальше; -подробные объяснения на первых уроках; -требование отчётов о выполненной работе и всевозможные поощрения активности; -множество курсов самого разного уровня. Результат - желание активно работать с доступным материалом. Спасибо!!!