Си шарп с нуля

Формула программиста
основатель — Волосатов Евгений Витольдович
Видео про Архитектуру Шахматного клиент-сервера.

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

Видеокурсы

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

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

Дата активности Консольный раздел Прогресс
2016-09-11 club 24 - Муза Оля 2 из 3 67 %
2016-09-11 solo Java - Вывод данных 2 из 7 29 %
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 task3 Динамика все 3 100 %
2016-03-04 task3 Комбинаторика все 9 100 %
2016-02-12 task3 Рекурсия все 4 100 %
2016-02-07 task2f Do-рацикл 1 из 4 25 %
2016-01-12 task2e Пока-цикл все 6 100 %
2016-01-03 task2c Условный оператор все 16 100 %
2016-01-03 task2d For-to-чки все 26 100 %
2015-12-31 task2b Логика все 13 100 %
2015-12-29 task2a Типы данных все 5 100 %
2015-12-26 task2o Матрёшки 4 из 9 45 %
2015-12-01 task1b Строки все 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. Евгений Волосатов
Евгений Волосатов
ответить
→  Сергей Лузум  # Бинарная жизнь / Смысл жизни / 2016-07-06 20:32

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


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

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


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

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



1. Евгений Волосатов
Евгений Волосатов
ответить
→  Сергей Лузум  # Комбинаторика / Динамика. Выход из Лабиринта / 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. Евгений Волосатов
Евгений Волосатов
ответить
→  Сергей Лузум  # Комбинаторика / Динамика. Поле дураков / 2016-03-05 15:16

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



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

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


1. Евгений Волосатов
Евгений Волосатов
ответить
→  Сергей Лузум  # Комбинаторика / Комбинаторика. Сложение букв / 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. Евгений Волосатов
Евгений Волосатов
ответить
→  Сергей Лузум   / 2016-02-12 12:22

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


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

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


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

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


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

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


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

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


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

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


1. Евгений Волосатов
Евгений Волосатов
ответить
→  Сергей Лузум  # Комбинаторика / Рекурсия. Заливка области / 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. Евгений Волосатов
Евгений Волосатов
ответить
→  Сергей Лузум  # Чашка кофе / Поздравление с Новым 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. Евгений Волосатов
Евгений Волосатов
ответить
→  Сергей Лузум  # Морской Бой / Интерфейс игры / 2015-12-17 11:16

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


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

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


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

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


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

Спасибо!)


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

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


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

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


1. Евгений Волосатов
Евгений Волосатов
ответить
→  Сергей Лузум   / 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. Евгений Волосатов
Евгений Волосатов
ответить
→  Сергей Лузум  # Морской Бой / Море и Корабль / 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. Евгений Волосатов
Евгений Волосатов
ответить
→  Сергей Лузум  # Чашка кофе / Диагональные линии / 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

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


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

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


6452. Кирилл Шмойлов
Кирилл Шмойлов
ответить
→  Сергей Лузум  # Наноигры / Игра Быстрощёлк / 2015-11-21 05:03

Ну вот, отложил для себя работу с "тиками", в будущем пригодится!


2146. Иван
Иван
ответить
→  Сергей Лузум  # Чашка кофе / Подготовка графики / 2015-11-21 01:58

Отлично получается. Мне очень понравились эти уроки.


7980. Сергей Лузум
Сергей Лузум
ответить
→  Alexander  # Наноигры / Лабиринт 2D - меню / 2015-11-21 00:59

Да, конечно, согласен! Просто я в самом начале урока думал, что будет два независимых уровня, и решил сделать для них кнопки в виде табличек над арками. С тех пор их оформления больше не касался - вот и осталось такое...


6458. Илья
Илья
ответить
→  Сергей Лузум  # Наноигры / Лабиринт 2D - игра / 2015-11-20 14:08

Ухты, класс, молодец, постарался и получилось клёва! )


7980. Сергей Лузум
Сергей Лузум
ответить
→  Кирилл Шмойлов  # Наноигры / Лабиринт 2D - игра / 2015-11-20 09:42

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


6452. Кирилл Шмойлов
Кирилл Шмойлов
ответить
→  Сергей Лузум  # Наноигры / Лабиринт 2D - игра / 2015-11-20 03:10

Вопрос на засыпку: а как собрать левую нижнюю звезду?


7760. Alexander
Alexander
ответить

7760. Alexander
Alexander
ответить
→  Сергей Лузум  # Наноигры / Лабиринт 2D - меню / 2015-11-20 01:32

Я бы кнопочки начать/выйти сделал побольше и заметнее, а так супер)


24. Олюшка
Олюшка
ответить
→  Сергей Лузум  # Наноигры / Картинка с секретом / 2015-11-20 01:31

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


7760. Alexander
Alexander
ответить
→  Сергей Лузум  # Наноигры / Лабиринт 2D - игра / 2015-11-20 01:31

Супер! Особенно хочу отметить затраченное время - сразу видно, старался и было интересно


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

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


24. Олюшка
Олюшка
ответить
→  Сергей Лузум  # Наноигры / Лабиринт 2D - игра / 2015-11-20 01:26

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


24. Олюшка
Олюшка
ответить
→  Сергей Лузум  # Наноигры / Лабиринт 2D - меню / 2015-11-20 01:22

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


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

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

Формулист За сегодня За неделю
Разминка Обучение Бонусы Сумма
1 chokayes 9752 1 1 361
2 vip 9913 1 10 10 21 170
3 Андрей Шевченко 16533 5 5 165
4 Tekashnik 8275 1 1 161
5 Иван Воронин 10558 160
6 Новопашин Владимир 7119 140
7 Алексей В. 10494 129
8 Pavlin 16496 5 15 5 25 125
9 FireWolf 10080 1 1 124
10 Дмитрий 4814 5 10 5 20 120
11 Александр 16653 120
12 Anna 17181 106
13 Дмитрий 16218 81
14 gorynych 8877 79
15 Александр 3922 75
16 Григорий 3850 67
17 Алекс 8932 64
18 Константин Мельников 17022 61
19 Николай Денисов 9014 57
20 Николай 17038 57
21 Андрей 162 55
22 Алексей Хонин 10673 54
23 Виталий 16268 5 5 10 44
24 Timoha 9980 43
25 Pavel 11353 41
26 Володимир 8707 36
27 Родион Глушков 11582 36
28 Yefim 11589 36
29 Андрей Гришагин 17240 33
30 Денис Корнеев 16989 32
31 Margarita 16911 31
32 DimkaKMS 9156 30
33 Денис 13665 30
34 DimanDOS 14981 30
35 WildOrc 17443 29
36 jin 17093 28
37 Николай (nick27m) 6203 27
38 Protos 16459 27
39 Антон Кравченко 5502 1 1 26
40 Алексей|BrisK|Кривицкий 3506 26
41 Константин 16880 26
42 Виктор Си 5923 25
43 Илья 17343 25
44 Евгений Волосатов 1 23
45 Степан 1710 22
46 Ivan 4038 21
47 Сергей Стефаненко 13131 21
48 Сергей Сергеевич 459 20
49 Денис 4395 20
50 Кирилл Шмойлов 6452 20
51 Наталья 7226 20
52 Петя 7652 20
53 Zebos 13846 20
54 Семен 17051 20
55 Piligrim 8066 19
56 ser2018 17425 18
57 Сергей Соколов 10670 17
58 KonstantinK 17456 17
59 nikolay famin 402 15
60 Дмитрий 17348 5 5 12
61 ZerGo 17448 11
62 Антон 17457 11
63 Фомичева Наталья 1232 10
64 Андрей 9732 10
65 Danil42Russia 10895 10
66 Роман 14462 10
67 Кирилл 17402 10
68 Abc 17438 10
69 norton 17440 8
70 Дмитрий 11604 1 5 6 7
71 Roman Liss 12800 6
72 Дмитрий Трамп 16246 6
73 Дмитрий 16253 6
74 Vlad179 17098 6
75 Артём 17408 6
76 Петров Артем Александрович 17465 6
77 Yuracik 44 5
78 Neverwinter 2 1901 5
79 Владислав 8036 5
80 Kapitanov Dmitrij 9368 5
81 Андрей Суслов 11868 5
82 eldarovich99 16516 5
83 sense1997 17446 5
84 ILIFAST 17458 5
85 Константин 17476 5
86 Дроннченко 17483 5
87 alex_kag 10591 4
88 Oleg 16132 3 3 3
89 Павел 5263 3
90 Александр 9858 3
91 Иван 2146 2
92 zhikharevav 8380 2
93 Анатолий 15610 2
94 Владислав 15740 2
95 Валерий 1305 1
96 Александр 6614 1
97 Евгений 12238 1
98 Василь Воронін 12306 1
99 Денис 16396 1
100 Мурат 16675 1
101 vjacheslav 16906 1
102 Qwerty123 17435 1
103 Alex 17504 1
104 Gera 17507 1

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

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

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

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

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

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




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: 1. Примерно понял алгоритм сапёра 2. Взял на заметку результаты "упражнения" - действительно, настроение очень сильно зависит от физического состояния.))
Трудности: Вычислить, где спрятаны оставшиеся мины... Верней - правильно угадать их расположение, так как было 2 возможных варианта)))
Всё написал выше.
Научился: Можно много рассуждать и планировать, но ничего не делать, а можно бездумно растрачивать силы впустую. И в первом, и во втором случае результат почти нулевой... Главное - научиться во всём соблюдать баланс, находить "золотую середину".
Если даже модель жизни столь разнообразна, то можно только догадываться, насколько непредсказуема и многогранна реальная жизнь! Хорошо бы об этом вспоминать каждый раз, когда кажется, что всё серо и уныло.))