Си шарп с нуля

Формула программиста
основатель — Волосатов Евгений Витольдович




Сергей Лузум
  • Звание: Делегатор
  • Накопленный опыт: 258 часов
  • Не состоит в «Клубе формулистов»
  • Последний визит: 2016-12-06 12:59:02
  • Город проживания: Ставрополь

Видеокурсы

Дата активности Видеокурс Прогресс
2016-07-09 bilife Бинарная жизнь 5 из 6 84 %
2016-03-11 task3 Комбинаторика 17 из 22 78 %
2015-12-23 game2 Микроигры 1 из 15 7 %
2015-12-21 soft2 Новые технологии 1 из 17 6 %
2015-12-17 game6 Морской Бой 13 из 16 82 %
2015-12-03 game0 Демо игры все 9 100 %
2015-12-01 game1 Наноигры 5 из 10 50 %
2015-11-29 task4 Графические циклы 3 из 12 25 %
Итого: 54 из 107 51 %

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

Дата активности Консольный раздел Прогресс
2016-09-11 solo Java - Вывод данных 2 из 7 29 %
2016-09-11 club 24 - Муза Оля все 2 100 %
2016-09-10 solo HTML - тексты все 14 100 %
2016-09-10 solo Java - Циклы все 2 100 %
2016-09-09 solo HTML - таблицы все 5 100 %
2016-09-09 task2 Алгоритмика все 20 100 %
2016-09-07 club 10162 - Дмитрий Гринь 1 из 5 20 %
2016-09-06 solo C# набор все 15 100 %
2016-09-06 solo Java - Запуск 12 из 13 93 %
2016-07-02 olimp Олимпиада 5 из 32 16 %
2016-03-12 task5 pascal_for_1_norm все 9 100 %
2016-03-12 task5 pascal_for_2_good 2 из 27 8 %
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 task2d For-to-чки все 26 100 %
2016-01-03 task2c Условный оператор все 16 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 из 266 74 %
Сохранить страницу:

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. Сергей Лузум
Сергей Лузум
ответить

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

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


1. Евгений Витольдович
Евгений Витольдович
ответить

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. Lik_Kirill
Lik_Kirill
ответить
→  Сергей Лузум  # Наноигры / Устный счёт / 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. Lik_Kirill
Lik_Kirill
ответить
→  Сергей Лузум  # Наноигры / Игра Быстрощёлк / 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. Сергей Лузум
Сергей Лузум
ответить
→  Lik_Kirill  # Наноигры / Лабиринт 2D - игра / 2015-11-20 09:42

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


6452. Lik_Kirill
Lik_Kirill
ответить
→  Сергей Лузум  # Наноигры / Лабиринт 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

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

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Выполнять модульное тестирование
Трудности: Прозевал, где именно добавляли модификатор public, а потом сам долго из-за этого не мог достучаться до методов класса Calc.
Всё понятно! Недавно решал консольную задачку про катящийся кубик - для её отладки очень бы пригодилось такое тестирование.
Научился: Скорее, не научился, а большой заряд позитива и желание изменить распорядок своей жизни и самого себя.)
Трудности: Ничего.
Всё отлично!