Си шарп с нуля

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




ironsavior
  • Звание: Нанопрогер
  • Накопленный опыт: 18 часов
  • Не состоит в «Клубе формулистов»
  • Последний визит: 2016-12-09 09:28:17
  • Город проживания: Ставрополь

Видеокурсы

Дата активности Видеокурс Прогресс
2016-03-07 game2 Микроигры 5 из 15 34 %
2016-01-21 game6 Морской Бой 13 из 16 82 %
Итого: 18 из 31 59 %

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

Этот формулист не решил ни одной консольной задачи
Сохранить страницу:

8322. ironsavior
ironsavior
ответить
→  Ильшат  # Микроигры / Виселка. Поле чудес / 2016-10-04 00:45

В кьюте насколько мне известно можно использовать CSS. Подход как в яве: lbl. getStyleClass( ) . addAll( "game-label", "game-title") ;


7276. Ильшат
Ильшат
ответить
→  ironsavior  # Морской Бой / Интерфейс игры / 2016-09-21 15:54

Нет, свой класс не писал, я использовал шаблон std::uniform_int_distribution из стандартной библиотеки. Внешний вид грида, я так полагаю, зависит от настроек стиля и от графической оболочки операционной системы, пока что не заморачивался с красотой)


8322. ironsavior
ironsavior
ответить
→  Ильшат  # Морской Бой / Интерфейс игры / 2016-09-20 13:48

Ильшат, а вы в функции placeRandom стандартную сишную функцию rand()% использовали или же свой класс для случайной расстановки писали? Вот кстати что тут грид некрасиво смотрится, что в вс...


7276. Ильшат
Ильшат
ответить
→  ironsavior  # Морской Бой / ФИНАЛЬНЫЙ УРОК / 2016-09-19 22:35

Спасибо, здесь все по урокам:) Qt да, удобен, высокоуровневые классы облегчают и ускоряют разработку. Здесь я не использовал никаких игровых движков, Евгений Витольдович неоднократно показывал, что можно делать игрушки на обычном прикладном интерфейсе, это интересно. В качестве структуры хранения данных использовал матрицы из библиотеки boost ublas. Можно было std::array, но я решил пусть размеры игрового поля будут динамичными. А про то, что интересуетесь контейнерами и аллокаторами, то тут стоит задать себе вопрос чем хотите заниматься, для чего использовать язык. Если для быстрой разработки GUI, то следует сделать упор на Qt. Если тянет на исследование низкоуровневых фич, то может быть вообще GUI и не нужно изучать, а делать то, что нравится. Удачи:)


8322. ironsavior
ironsavior
ответить
→  Ильшат  # Морской Бой / ФИНАЛЬНЫЙ УРОК / 2016-09-19 16:08

А вы грид как представляли через array или vector<vector<Grid::...> > ?


8322. ironsavior
ironsavior
ответить
→  Ильшат  # Морской Бой / ФИНАЛЬНЫЙ УРОК / 2016-09-19 16:07

Очень круто написал!!! Вот для себя решил, что использовать кьют гораздо удобнее чем вс+глут...правда пока до разработки игр и другого по не дошел на плюсах. Пока с консолью работаю: делаю велосипедные контейнеры,простенькие аллокаторы и тд.


8322. ironsavior
ironsavior
ответить
→  looker   / 2016-05-27 16:50

Буду рад!


4972. looker
looker
ответить
→  ironsavior   / 2016-05-26 11:48

Привет, привет.
Могу скинуть ссылку на ГитХаб. Там посмотришь код.


8322. ironsavior
ironsavior
ответить
→  looker  # Микроигры / 2048 - Логика / 2016-05-20 18:29

А можно на класс со статистикой взглянуть? Интересен ваш метод...


8322. ironsavior
ironsavior
ответить
→  Ильшат   / 2016-05-09 23:35

Спасибо...а вы не в курсе, как в шарпе можно свечение краев у лейбла сделать ? В кьюте есть SetStyleSheet, а в студии такого, к сожалению, нет...


7276. Ильшат
Ильшат
ответить
→  ironsavior   / 2016-04-30 22:31

Да, можно подключать без Qt. Qt сама по себе обычная "большая библиотека". OpenGL можно без Qt использовать.


8322. ironsavior
ironsavior
ответить
→  Ильшат   / 2016-04-28 21:54

А без кьюта есть возможность подключать какие-либо графические библиотеки и всякие оболочки ? (про опенгл я знаю:)) )


8322. ironsavior
ironsavior
ответить
→  Ильшат   / 2016-04-23 19:21

Спасибо ВАМ, я недано приобрел книгу Бьерна, но это издание 2010 года, по вашей рекомендации буду изучать и эту.


7276. Ильшат
Ильшат
ответить
→  ironsavior   / 2016-04-23 19:00

Добрый день, вот ссылка на архив с исходниками https://drive.google.com/file/d/0B_Obr1K-Hp4YalVpZ3BTYldvb0E/view?usp=sharing Посмотрите, хотя здесь частично используется библиотека Qt, а это не настоящий чистый C++, я бы сказал даже так, java-like. Если вы серьезно хотите сесть за плюсы, то рекомендую прочитать эту книгу http://stroustrup.com/programming.html Она на английском, если с этим туго, то можно поискать первое издание этой книги, она переведена, правда там не совсем свежая версия языка. Обе книги хороши, написаны самим автором C++ и информация не будет вводить в заблуждение, как часто встречается на просторах сети в других источниках. Еще плюс этой книги в том, в конце главы имеется список упражнений, они не сложные, как раз то что нужно, практика, советую все прорешать, сильно прокачивает. Причем объясняются не только свойства языка и для чего они применяются, но и в целом подходы к программированию, это здорово. А дальше можно прочитать http://stroustrup.com/4th.html Удачи.


8322. ironsavior
ironsavior
ответить
→  Ильшат   / 2016-04-23 16:07

Ильшат, добрый день! Я извиняюсь за свою беспардонность, но...можно взглянуть на ваш проект 2048, который вы в кьюте писали. Я недавно начал изучать плюсы и пока во многих вещах не разобрался, а в интернете таких вещей очень мало.
Заранее спасибо !!!


8322. ironsavior
ironsavior
ответить
→  Сергей  # Микроигры / Виселка. Алгоритм помощника / 2016-03-12 23:40

классно ! а кнопки через массивчик делал ?


1. Евгений Витольдович
Евгений Витольдович
ответить
→  ironsavior  # Микроигры / 2048 - Интерфейс / 2016-03-07 09:50

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


8322. ironsavior
ironsavior
ответить
# Микроигры / 2048 - Интерфейс / 2016-03-07 01:00

Забыл добавить : при наведении на кнопки появляется свечение для красоты ))


459. Сергей Сергеевич
Сергей Сергеевич
ответить
→  ironsavior   / 2016-02-24 12:55

вот маленько повозился, все работает, можешь качать и смотреть что да и как https://yadi.sk/d/t9fsD4g0pQKUH


459. Сергей Сергеевич
Сергей Сергеевич
ответить
→  ironsavior   / 2016-02-24 10:43

А как делаешь событие?


8322. ironsavior
ironsavior
ответить
→  Сергей Сергеевич   / 2016-02-24 09:50

да я сам голову об эту проблему сломал...сами лейблики появляются, а события движения не работают...


459. Сергей Сергеевич
Сергей Сергеевич
ответить
→  ironsavior   / 2016-02-23 16:10

Пока сам не понял почему не срабатывает


459. Сергей Сергеевич
Сергей Сергеевич
ответить
→  ironsavior   / 2016-02-23 16:09

И тебя с праздником, наследуйся от Label и все будет работать


8322. ironsavior
ironsavior
ответить
→  Сергей Сергеевич   / 2016-02-23 13:13

совсем забыл...с праздником ВАС!


8322. ironsavior
ironsavior
ответить
→  Сергей Сергеевич   / 2016-02-23 12:46

теперь событие кейдата не работает...ни кейпревью ни кейап....т.е лейблики вообще не двигаются


459. Сергей Сергеевич
Сергей Сергеевич
ответить
→  ironsavior   / 2016-02-19 21:15

Как сделаешь программу пришли скрин) интересно посмотреть что ты сделал)


459. Сергей Сергеевич
Сергей Сергеевич
ответить
→  ironsavior   / 2016-02-19 21:00

Получилось?


8322. ironsavior
ironsavior
ответить
→  Сергей Сергеевич   / 2016-02-19 20:53

спасибо !!!!!!!!! разобрался наконец


459. Сергей Сергеевич
Сергей Сергеевич
ответить
→  ironsavior   / 2016-02-19 20:19

вот ссылка на исходник https://yadi.sk/d/25XZsC9Up8fhu, а это на видео https://youtu.be/1qviesmXaUo, маленько нервничал поэтому не обращай внимания как обьясняю)


8322. ironsavior
ironsavior
ответить
→  Сергей Сергеевич   / 2016-02-19 19:14

спасибо вам огромное !!!!!!!!!!!


459. Сергей Сергеевич
Сергей Сергеевич
ответить
→  ironsavior   / 2016-02-19 19:02

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


8322. ironsavior
ironsavior
ответить
→  Сергей Сергеевич   / 2016-02-19 18:57

да с лейблами все отлично....я не могу понять почему при добавлении контрола у меня вылетает ошибка (ранее писал) вот и все


8322. ironsavior
ironsavior
ответить
→  Сергей Сергеевич   / 2016-02-19 18:54

можно, если не трудно...


459. Сергей Сергеевич
Сергей Сергеевич
ответить
→  ironsavior   / 2016-02-19 18:24

могу видео записать для тебя как все это сделать


459. Сергей Сергеевич
Сергей Сергеевич
ответить
→  ironsavior   / 2016-02-19 18:23

Я бы рад помочь, но понимаешь курс платный, и евгению витольдовичу не понравится, что его проекты передают друг другу, это не правильно. Ты скажи что конкретно ты хочешь от лейблов? что не так с ними. я могу тебе помочь скинуть исходник, в самом проекте тебе нужно создать custom control и вписать код с исходника, потом его скомпилируешь, и в главный проект добавишь, и там сможешь манипулировать как тебе угодно


8322. ironsavior
ironsavior
ответить
→  Сергей Сергеевич   / 2016-02-19 18:19

Добрый вечер, Сергей! Я вас ещё раз по поводу лейблов беспокою...ну вот ради интереса вожусь с ними 2 неделю и никакого толка. Возможно вам сбросить проект, чтобы вы встроили лейблы, ибо вы говорили что у вас все работает. Заранее спасибо !


8322. ironsavior
ironsavior
ответить
→  deltamc  # Микроигры / 2048 - Логика / 2016-02-17 20:49

класс!!!! а можете код с закруглением лейблов скинуть ?


8322. ironsavior
ironsavior
ответить
→  Михаил Ермишин   / 2016-02-16 23:42

ну ок


8886. Михаил Ермишин
Михаил Ермишин
ответить
→  ironsavior   / 2016-02-16 23:39

Го в вк. vk.com/mikhail158


5649. Максим Лапшинов
Максим Лапшинов
ответить
→  ironsavior  # Микроигры / 2048 - Логика / 2016-02-16 23:34

Уже будит легче писать может сперва на windows mobile10 потом на андройде а потом уже на свифте


8322. ironsavior
ironsavior
ответить
→  Михаил Ермишин   / 2016-02-16 23:32

у меня по крайней мере не работает и не сглаживается


8322. ironsavior
ironsavior
ответить
→  Михаил Ермишин   / 2016-02-16 23:31

ну фиг его тогда...вот мой код

public delegate void DelegateShow(int x, int y, int number);
    public partial class Form1 : Form
    {
        static int size = 4;
        Label[,] box;
        Dictionary<int, Font> size_fonts;
        Dictionary<int, Color> back_colors;
        Dictionary<int, Color> fore_colors;
        Logic logic;

        public class AntiAliasLabel : Label
        {
            protected override void OnPaint(PaintEventArgs e)
            {
                e.Graphics.TextRenderingHint = TextRenderingHint.AntiAlias;
                base.OnPaint(e);
            }
        }
        public Form1()
        {
            InitializeComponent();
            InitLabels();
            InitColors();
            InitForeColors();
            logic = new Logic(size, Show);
            logic.init_board();
            lbl2.Text = logic.highscore.ToString();
        }

        private void InitColors() //цвет плиток
        {
            back_colors = new Dictionary<int, Color>();
            back_colors.Add(0, Color.FromArgb(205, 193, 180));
            back_colors.Add(2, Color.FromArgb(238, 228, 218));
            back_colors.Add(4, Color.FromArgb(236, 224, 200));
            back_colors.Add(8, Color.FromArgb(242, 177, 121));
            back_colors.Add(16, Color.FromArgb(245, 149, 99));
            back_colors.Add(32, Color.FromArgb(246, 124, 95));
            back_colors.Add(64, Color.FromArgb(246, 94, 59));
            back_colors.Add(128, Color.FromArgb(237, 206, 113));
            back_colors.Add(256, Color.FromArgb(237, 204, 97));
            back_colors.Add(512, Color.FromArgb(236, 200, 80));
            back_colors.Add(1024, Color.FromArgb(237, 197, 63));
            back_colors.Add(2048, Color.FromArgb(238, 194, 46));
            back_colors.Add(4096, Color.FromArgb(239, 102, 109));
            back_colors.Add(8192, Color.FromArgb(238, 76, 89));
            back_colors.Add(16384, Color.FromArgb(244, 65, 68));
            back_colors.Add(32768, Color.FromArgb(114, 180, 214));
            back_colors.Add(65536, Color.FromArgb(95, 160, 224));
            back_colors.Add(131072, Color.FromArgb(27, 132, 200));
        }

        private void InitForeColors() //цвет шрифта
        {
            fore_colors = new Dictionary<int, Color>();
            fore_colors.Add(0, ForeColor = Color.FromArgb(202, 184, 169));
            fore_colors.Add(2, ForeColor = Color.FromArgb(119, 110, 101));
            fore_colors.Add(4, ForeColor = Color.FromArgb(119, 110, 101));
            fore_colors.Add(8, ForeColor = Color.FromArgb(249, 246, 242));
            fore_colors.Add(16, ForeColor = Color.FromArgb(249, 246, 242));
            fore_colors.Add(32, ForeColor = Color.FromArgb(249, 246, 242));
            fore_colors.Add(64, ForeColor = Color.FromArgb(249, 246, 242));
            fore_colors.Add(128, ForeColor = Color.FromArgb(249, 246, 242));
            fore_colors.Add(256, ForeColor = Color.FromArgb(249, 246, 242));
            fore_colors.Add(512, ForeColor = Color.FromArgb(249, 246, 242));
            fore_colors.Add(1024, ForeColor = Color.FromArgb(249, 246, 242));
            fore_colors.Add(2048, ForeColor = Color.FromArgb(249, 246, 242));
            fore_colors.Add(4096, ForeColor = Color.FromArgb(249, 246, 242));
            fore_colors.Add(8192, ForeColor = Color.FromArgb(249, 246, 242));
            fore_colors.Add(16384, ForeColor = Color.FromArgb(249, 246, 242));
            fore_colors.Add(32768, ForeColor = Color.FromArgb(249, 246, 242));
            fore_colors.Add(65536, ForeColor = Color.FromArgb(249, 246, 242));
            fore_colors.Add(131072, ForeColor = Color.FromArgb(249, 246, 242));
        }

        private void InitSizesFonts() //размер шрифта
        {
            size_fonts = new Dictionary<int, Font>();
            size_fonts.Add(0, Font = new Font("Clear Sans", 37F, FontStyle.Bold));
            size_fonts.Add(2, Font = new Font("Clear Sans", 37F, FontStyle.Bold));
            size_fonts.Add(4, Font = new Font("Clear Sans", 37F, FontStyle.Bold));
            size_fonts.Add(8, Font = new Font("Clear Sans", 37F, FontStyle.Bold));
            size_fonts.Add(16, Font = new Font("Clear Sans", 35F, FontStyle.Bold));
            size_fonts.Add(32, Font = new Font("Clear Sans", 35F, FontStyle.Bold));
            size_fonts.Add(64, Font = new Font("Clear Sans", 35F, FontStyle.Bold));
            size_fonts.Add(128, Font = new Font("Clear Sans", 28F, FontStyle.Bold));
            size_fonts.Add(256, Font = new Font("Clear Sans", 28F, FontStyle.Bold));
            size_fonts.Add(512, Font = new Font("Clear Sans", 28F, FontStyle.Bold));
            size_fonts.Add(1024, Font = new Font("Clear Sans", 23F, FontStyle.Bold));
            size_fonts.Add(2048, Font = new Font("Clear Sans", 23F, FontStyle.Bold));
            size_fonts.Add(4096, Font = new Font("Clear Sans", 23F, FontStyle.Bold));
            size_fonts.Add(8192, Font = new Font("Clear Sans", 23F, FontStyle.Bold));
            size_fonts.Add(16384, Font = new Font("Clear Sans", 20F, FontStyle.Bold));
            size_fonts.Add(32768, Font = new Font("Clear Sans", 20F, FontStyle.Bold));
            size_fonts.Add(65536, Font = new Font("Clear Sans", 20F, FontStyle.Bold));
            size_fonts.Add(131072, Font = new Font("Clear Sans", 17F, FontStyle.Bold));
        }
        private void InitLabels()
        {
            int w = pnl1.Width / size;
            int h = pnl1.Height / size;
            box = new Label[size, size];
            for (int x = 0; x < size; x++)
                for (int y = 0; y < size; y++)
                {
                    box[x, y] = CreateLabel();
                    box[x, y].Size = new System.Drawing.Size(w - 13, h - 13);
                    box[x, y].Location = new Point(x * w + 13, y * h + 13);
                    pnl1.Controls.Add(box[x, y]);
                }
        }

        private Label CreateLabel()
        {
            Label label = new Label();
            //OnPaint(e);
            //InitSizesFonts();
            InitForeColors();
            label.Font = new System.Drawing.Font("Clear Sans", 36F, System.Drawing.FontStyle.Bold);
            label.TextAlign = ContentAlignment.MiddleCenter;
            return label;
        }

        public void Show(int x, int y, int number)
        {
            //box[x, y].Font = number > 0 ? size_fonts[number] : Font = new System.Drawing.Font("Clear Sans", 10F, System.Drawing.FontStyle.Bold);
            box[x, y].Text = number > 0 ? number.ToString() : "";
            box[x, y].BackColor = back_colors[number];
            box[x, y].ForeColor = fore_colors[number];
        }


8886. Михаил Ермишин
Михаил Ермишин
ответить
→  ironsavior   / 2016-02-16 23:28

Оно унаследует базовый класс. Тоесть всё будет 1 в 1 кук у лейбла, только метод OnPain мы перехватываем, делаем нужные нам вещи, а затем возвращаем управление базовому методу НО С новыми параметрами :~)


8322. ironsavior
ironsavior
ответить
→  Максим Лапшинов  # Микроигры / 2048 - Логика / 2016-02-16 23:25

классно то классно...в идеале нужно на свифте написать и на айфон))


8322. ironsavior
ironsavior
ответить
→  Михаил Ермишин   / 2016-02-16 23:24

не ну может я чегото не догоняю....
public class AntiAliasLabel : Label
        {
            protected override void OnPaint(PaintEventArgs e)
            {
                e.Graphics.TextRenderingHint = TextRenderingHint.AntiAlias;
                base.OnPaint(e);
            }
        }
и все ?
у нас оно будет само инициализироваться при создании лейбла без вызова ?


5649. Максим Лапшинов
Максим Лапшинов
ответить
→  ironsavior  # Микроигры / 2048 - Логика / 2016-02-16 23:23

Классно получилось


8886. Михаил Ермишин
Михаил Ермишин
ответить
→  ironsavior   / 2016-02-16 23:21

Не знаю. У меня почти всё работает


8322. ironsavior
ironsavior
ответить
→  Михаил Ермишин   / 2016-02-16 23:18

в принципе, ничего не работает, мне пришлось на лейблы ещё картинки с текстом насаживать мб есть другой способ ?


8322. ironsavior
ironsavior
ответить
→  Михаил Ермишин   / 2016-02-15 09:04

Михаил, ну я так пробовал раньше делать, но немного по-другому...в принципе не вижу никакой разницы


8886. Михаил Ермишин
Михаил Ермишин
ответить
→  ironsavior  # Морской Бой / ФИНАЛЬНЫЙ УРОК / 2016-02-14 22:56

Смотри, дело вот в чём;
Мы при рисовании перехватываем событие рисования
Далее мы устанавливаем сглаживание
И вызываем базовую функцию.
В итоге: Всё работает как и в обычном Label, только со сглаживанием :~)


8886. Михаил Ермишин
Михаил Ермишин
ответить
→  ironsavior  # Морской Бой / ФИНАЛЬНЫЙ УРОК / 2016-02-14 22:54

Смотри, есть вариант создать свой класс типа Label и в нём функцию OnPain() перезаписать. Пример:
public class AntiAliasLabel : Label
{
    protected override OnPaint(PaintEventArgs e)
    {
        e.Graphics.TextRenderingHint = TextRenderingHint.AntiAlias;
        base.OnPaint(e);
    }
}


8322. ironsavior
ironsavior
ответить
→  Сергей Сергеевич   / 2016-02-08 18:00

ну чет у меня не работает ни тот ни другой опять вылазеет

Необработанное исключение типа "System.IO.FileNotFoundException" в WindowsFormsApplication2.exe

Дополнительные сведения: Не удалось загрузить файл или сборку "NewLabel, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" либо одну из их зависимостей. Не удается найти указанный файл.

Буду сам разбираться, спасибо !!!!


459. Сергей Сергеевич
Сергей Сергеевич
ответить
→  ironsavior   / 2016-02-08 14:53

По новый сделал маленько по другому, попробуй, проверял  у меня работает на любой версии фрэймворке, ни какких линий или текстур не наблюдал, на всякий случай даю две ссылки на 4.5 и на 4.6 https://yadi.sk/d/XLo9QQAkoVTRf -> 4.6 и https://yadi.sk/d/jdWRYJj9oVUAF -> 4.5. Если что посмотри и сделай скрин если что опять не так будет


459. Сергей Сергеевич
Сергей Сергеевич
ответить
→  ironsavior   / 2016-02-07 16:44

я попробую исправить, просто времени нет, я тоже заметил, но это остаток текстуры, когда форму растягиваешь оно перерисовывается, посмотрю что можно сделать


8322. ironsavior
ironsavior
ответить
→  Сергей Сергеевич   / 2016-02-07 15:51

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


8322. ironsavior
ironsavior
ответить
→  Сергей Сергеевич   / 2016-02-07 15:48

нет, также все осталось

http://s017.radikal.ru/i428/1602/81/82feebe28782.jpg


459. Сергей Сергеевич
Сергей Сергеевич
ответить
→  ironsavior   / 2016-02-07 15:00

Вот держи https://yadi.sk/d/2VslNxoLoSLML Ты хотя бы скрин делай, чтобы просмотреть проблему, потому что я говорю я ее написал на быструю руку и ни чего не проверял на баги и прорисовку компонента, поэтому если не трудно присылай скрин чтобы посмотреть что да как)


8322. ironsavior
ironsavior
ответить
→  Сергей Сергеевич   / 2016-02-07 13:21

тут вот ещё проблема : у элемента выступает квадратная окантовка, можете ссылку кинуть на 4.6 фрейм, там на вашем скриншоте ее нет, а та ссылка не действительна


459. Сергей Сергеевич
Сергей Сергеевич
ответить
→  ironsavior   / 2016-02-07 01:22

Да не за что)


8322. ironsavior
ironsavior
ответить
→  Сергей Сергеевич   / 2016-02-07 01:11

ой сорьки....чет я туплю сегодня....уже порядок, все работает!!!! огромное тебе спасибо за помощь!!!!!!!!!


459. Сергей Сергеевич
Сергей Сергеевич
ответить
→  ironsavior   / 2016-02-07 00:31

Ну надеюсь разобрался)


8322. ironsavior
ironsavior
ответить
→  Сергей Сергеевич   / 2016-02-07 00:01

охтыж блин в папке 4.5 есть папка 4.5.2 соррри


8322. ironsavior
ironsavior
ответить
→  Сергей Сергеевич   / 2016-02-06 23:52

да, 4.5 ну фиг с ним так сойдет


459. Сергей Сергеевич
Сергей Сергеевич
ответить
→  ironsavior   / 2016-02-06 23:49

Значит проблем не должно быть, у меня тоже 7 х64, а версия фреймворка точно 4.5?


8322. ironsavior
ironsavior
ответить
→  Сергей Сергеевич   / 2016-02-06 22:31

7 64


459. Сергей Сергеевич
Сергей Сергеевич
ответить
→  ironsavior   / 2016-02-06 21:38

У тебя винда какая х64 или х86


8322. ironsavior
ironsavior
ответить
→  Сергей Сергеевич   / 2016-02-06 20:23

спасибо, я вот что-то не вкатил как их объявлять при запуске...через  InitializeComponent() ?
вот что вылазеет :


Не удалось загрузить файл или сборку "MyControl, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" либо одну из их зависимостей. Не удается найти указанный файл. 


459. Сергей Сергеевич
Сергей Сергеевич
ответить
→  ironsavior   / 2016-02-06 19:36

Держи, для Net 4.5 https://yadi.sk/d/nb54ffewoQaTe


459. Сергей Сергеевич
Сергей Сергеевич
ответить
→  ironsavior   / 2016-02-06 19:25

Да мне не трудно, я поэтому написал обращайся)


8322. ironsavior
ironsavior
ответить
→  Сергей Сергеевич   / 2016-02-06 19:18

если не сильно затруднит, больше не буду досаждать своими вопросами )))


459. Сергей Сергеевич
Сергей Сергеевич
ответить
→  ironsavior   / 2016-02-06 18:53

Давай на ты, мне всего лишь 29 лет) Да я создавал на 4.6, могу скомпилировать под 4.5 если есть проблемы с версиями, просто как то не стал проверять


8322. ironsavior
ironsavior
ответить
→  Сергей Сергеевич   / 2016-02-06 17:52

а вы на фреймворке 4.6 создавали ? у меня просто стоит 4.5.2


459. Сергей Сергеевич
Сергей Сергеевич
ответить
→  ironsavior   / 2016-02-06 01:25

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


3397. Sergey
Sergey
ответить
→  ironsavior  # Микроигры / 2048 - Логика / 2016-02-05 23:39

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


8322. ironsavior
ironsavior
ответить
→  Сергей Сергеевич   / 2016-02-05 22:57

спасибо!!!


459. Сергей Сергеевич
Сергей Сергеевич
ответить
→  ironsavior   / 2016-02-05 22:33

создавал через usercontrol winforms, рад был помочь) Через WPF там по другому делается, пока не со всем разобрался


8322. ironsavior
ironsavior
ответить
→  Сергей Сергеевич   / 2016-02-05 21:28

класс! а где создаете экземпляры ? в бленде ?


459. Сергей Сергеевич
Сергей Сергеевич
ответить
→  ironsavior   / 2016-02-05 16:41

Сейчас скачай другую библиотеку https://yadi.sk/d/UweigJAyoLzHD, маленько переделал, на форме не забудь сделать DoubleBuffered


8322. ironsavior
ironsavior
ответить
→  Сергей Сергеевич   / 2016-02-05 14:33

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


3664. данила
данила
ответить
→  ironsavior  # Микроигры / 2048 - Логика / 2016-02-04 16:56

Используй WPF там можно хоть как извращаться. Есть еще программа Visual Blend, там можно создавать свои элементы управления различной формы


459. Сергей Сергеевич
Сергей Сергеевич
ответить
→  ironsavior  # Микроигры / 2048 - Логика / 2016-02-03 22:27

Сделал лэйбел для тебя от прямого лейбла до круглого, вот ссылка на dll https://yadi.sk/d/84eT-OAloFSWC 
Вот скриншот http://s020.radikal.ru/i718/1602/9d/6ec31cef5729.png, обрати внимание на фото где я выделил "Выбрать элементы" в любом месте панели элементов добавить MyControl .dll и все перетаскиваешь на форму и настраиваешь как тебе удобно, на фото справа видно что я добавил в свойства дополнительные настройки, где написано GradusUgol там ставишь число целое, он задает как сильно закруглять углы, далее добавил еще свойство ShapeType по умолчание стоит Radius, если поставить не Radius, а Rectangle, то будет просто квадратный лэйбел. Надеюсь помог, если буду вопросы пиши.


24. Оля
Оля
ответить
→  ironsavior  # Микроигры / 2048 - Логика / 2016-02-01 21:47

Классно получилось! Такого еще не видела, прямо имитация! Молодец! :)


8322. ironsavior
ironsavior
ответить
→  Владимир Борисенко  # Микроигры / 2048 - Логика / 2016-02-01 19:15

Ну я так и понял и уже все готово, спасибо!


6696. Владимир Борисенко
Владимир Борисенко
ответить
→  ironsavior  # Микроигры / 2048 - Логика / 2016-02-01 19:11

У лейблов углы не закруглить.
Я вижу решение заменить лейблы на PictureBox или несколько PictureBox ов и пользоваться заготовленными картинками.
А там уже и до анимации недалеко.


24. Оля
Оля
ответить
→  ironsavior  # Микроигры / 2048 - Интерфейс / 2016-02-01 00:40

очень круто, возможно ты в финале покажешь и расскажешь про свое творение! :)


8322. ironsavior
ironsavior
ответить
→  Оля  # Микроигры / 2048 - Интерфейс / 2016-02-01 00:23

Спасибо!  Игра на 80 процентов готова...осталось закруглить лейблы, добавить анимацию на перемещение плиток и на увеличение счета...
В планах сделать поле 2 на 2 с возможностью игры по сети на скорость


24. Оля
Оля
ответить
→  ironsavior  # Микроигры / 2048 - Интерфейс / 2016-01-31 23:38

Очень интересно уже посмотреть на итог игры!
Прямо волшебство, в это же время мой телефон выдал вообще нее чтобы я сыграла в игру 2048!!! :)


8886. Михаил Ермишин
Михаил Ермишин
ответить
→  ironsavior  # Микроигры / 2048 - Интерфейс / 2016-01-31 17:45

Очень красивый дизайн! :~)


24. Оля
Оля
ответить
→  ironsavior  # Микроигры / Игра 15 - Кнопки / 2016-01-31 00:00

Здорово кнопки уже готовы, а дальше самое интересное! Вперед! :)


2146. Иван
Иван
ответить
→  ironsavior  # Микроигры / Игра 15 - Алгоритм / 2016-01-30 23:20

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


1. Евгений Витольдович
Евгений Витольдович
ответить
→  ironsavior  # Микроигры / Игра 15 - Картинка / 2016-01-30 17:44

Я не вижу мозаику.


6452. Lik_Kirill
Lik_Kirill
ответить
→  ironsavior   / 2016-01-27 05:17

т.е. когда у тебя вернется что Убил, ты проходишь по карте и раньше где у твоего убитого корабля был статус Ранен, теперь сменился на Убит, поэтому при передаче на Грид уже нового статуса этих клеток и цвет у них обновится!


8322. ironsavior
ironsavior
ответить
→  Lik_Kirill   / 2016-01-26 19:36

То биш после проверки на убийство заново проходим по карте выстрелов и меняем статусы ранил на убил ? Так ?


6452. Lik_Kirill
Lik_Kirill
ответить
→  ironsavior  # Морской Бой / Последний Бой! / 2016-01-23 07:16

В классе Море, в методе Выстрел идет проверка на Убил, и если Убил то проверяется Победил-ли. После этой проверки я добавил хождение по всему полю и проставляю им Статус. Раньше возвращался только последний, а я, пробегаясь по всей карте, заново им выставляю статусы, и у уже Убитого корабля на всех его палубах выставится корректный цвет - красный!


8322. ironsavior
ironsavior
ответить
→  Lik_Kirill  # Морской Бой / Последний Бой! / 2016-01-22 14:45

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


24. Оля
Оля
ответить
→  ironsavior  # Морской Бой / Олимпиада - Создание ИИ - Шаблон ударов / 2016-01-22 00:29

Отлично позанимался! Молодец! :)


24. Оля
Оля
ответить
→  ironsavior  # Морской Бой / Олимпиада - Создание ИИ - Стратегия / 2016-01-22 00:21

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


24. Оля
Оля
ответить
→  ironsavior  # Морской Бой / ПОСЛЕДНИЙ БОЙ / 2015-12-14 22:13

Поздравляю! Рада что ты победил и одолел бота! Молодец! :)


1. Евгений Витольдович
Евгений Витольдович
ответить
→  ironsavior  # Морской Бой / ПОСЛЕДНИЙ БОЙ / 2015-12-14 20:11

Мои поздравления!


6452. Lik_Kirill
Lik_Kirill
ответить
→  ironsavior  # Морской Бой / ПОСЛЕДНИЙ БОЙ / 2015-12-12 18:21

Там же где меняется Mode программы, при переходе хода. Если ход компьютера, то пропадает(Visible=false) "Ваш ход" и поле с кораблями компьютера становится не Enabled, когда ход человека - наоборот.


8322. ironsavior
ironsavior
ответить
→  Lik_Kirill  # Морской Бой / ПОСЛЕДНИЙ БОЙ / 2015-12-12 16:25

Очень классно! А как вы сделали динамический лейбл с указанием чей ход?


24. Оля
Оля
ответить
→  ironsavior  # Морской Бой / Интерфейс игры / 2015-12-07 18:58

Отлично позанимался на этом уроке, уверена что скоро и финал твой увидем! :)


2146. Иван
Иван
ответить
→  ironsavior  # Морской Бой / Олимпиада - Угадай число / 2015-12-07 01:11

Хорошая и несложная разминка получилась.


2146. Иван
Иван
ответить
→  ironsavior  # Морской Бой / Интерфейс игры / 2015-12-07 00:55

Здорово, что все довольно просто получается!


24. Оля
Оля
ответить
→  ironsavior  # Морской Бой / Олимпиада - Создание ИИ - Добивание корабля / 2015-12-06 19:30

Молодец, очень рада что у тебя все замечательно! :)


24. Оля
Оля
ответить
→  ironsavior  # Морской Бой / Олимпиада - Создание ИИ - Стратегия / 2015-12-06 16:40

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


2146. Иван
Иван
ответить
→  ironsavior  # Морской Бой / Делегаты отображения / 2015-12-06 00:22

С видео все просто! Всегда можно или остановить, или перемотать.


2146. Иван
Иван
ответить
→  ironsavior  # Морской Бой / Установка кораблей / 2015-12-06 00:17

Здорово, еще знаний в копилочке прибавилось.


24. Оля
Оля
ответить
→  ironsavior  # Морской Бой / Планирование / 2015-12-05 22:40

Классно что познакомился с таким полезным и интересным элементом как DataGridView! :)


24. Оля
Оля
ответить
→  ironsavior  # Морской Бой / Установка кораблей / 2015-12-05 22:36

Отличная работа! :)


24. Оля
Оля
ответить
→  ironsavior  # Морской Бой / Редактор и Сетка / 2015-12-05 21:40

Рада что в итоге все получилось! :)


1. Евгений Витольдович
Евгений Витольдович
ответить
→  ironsavior  # Морской Бой / Планирование / 2015-12-05 20:54

Молодец.


24. Оля
Оля
ответить
→  ironsavior  # Морской Бой / Делегаты отображения / 2015-12-05 20:41

Очень рада что получил отличные знания и все легко и хорошо! :)

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Просмотрел очень много хороших алгоритмов для бота и сверстал свой собственный, к сожалению, не такой крутой и эффективный. Про алг. Оранджа даже и говорить нечего : просто крышеснос!
Трудности: Написать толковый и эффективный с точки зрения памяти алгоритм.
За урок 5 +++++ Пока что самый интересный для меня.
Научился: Реализовал классы Sea and Ship. Узнал об очень полезном элементе : DataGridView.
Трудности: Особых сложностей не возникло
Все отлично и понятно!!! Планирую дальше развиваться и совершенствовать свои навыки.