Си шарп с нуля

Формула программиста
основатель — Волосатов Евгений Витольдович
Вступай в Телеграм чат проекта
Вебинар «Мы начинаем PHP + Yii2» начнётся через 1  день 17 час. 54 мин.

Александр Акилин
  • Звание: Нанопрогер
  • Накопленный опыт: 14 часов
  • Баланс Мегахешей: собрано 0 Mh, потрачено 0 Mh
  • Баланс Байтов: нет
  • Не состоит в «Клубе формулистов»
  • Последний визит: 2015-05-17 20:25:45
  • Город проживания: Люберцы

Видеокурсы

Дата активности Видеокурс Прогресс
2015-05-28 game0 Демо игры 8 из 10 80 %
2015-05-16 soft0 Демо софт 1 из 7 15 %
Итого: 9 из 17 53 %

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

Дата активности Консольный раздел Прогресс
2015-05-25 task1 Семантика 5 из 6 84 %
Итого: 5 из 6 84 %
Сохранить страницу:

1. Евгений Волосатов
Евгений Волосатов
ответить
→  Александр Акилин   / 2015-05-29 13:26

Александр, кажется я догадался, в чём может быть ошибка.
Поле для ввода данных имеет статус "мульти лайн"?
Ты его очищаешь после правильного ответа?
Если нет, может оказаться так, что новое число ты вводишь второй строчкой.
Попробуй расширить поле для ввода ответа на несколько строк и попробовать снова.


4699. Сергей Витальевич
Сергей Витальевич
ответить
→  Александр Акилин  # Мини игры / Устный счёт / 2015-05-28 17:07

А за что все, собственно, ставят "хорошо"? Как уже было сказано ранее нет кода - нет помощи. Видимо ошибка банальная, но без кода увы.


24. Олюшка
Олюшка
ответить
→  Александр Акилин  # Мини игры / Устный счёт / 2015-05-28 16:46

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


5166. Александр Акилин
Александр Акилин
ответить
→  Дмитрий  # Мини игры / Вступительное слово / 2015-05-28 16:20

Тогда такие тугодумы как я ничего не поймут


1. Евгений Волосатов
Евгений Волосатов
ответить
→  Александр Акилин   / 2015-05-26 18:26

Александр, нельзя себя так загонять.
Ты в тупике, ты понял это. Значит, надо переключить внимание.
Отправь отчёт, напиши правду, приложи скриншот, 99% что тебя пропустят дальше.
А вернёшься к этому уроку через неделю, на свежую голову.
И всё получится с первого раза. Я не стал бы тебе
сейчас помогать, даже если бы было время.
Нужно уметь правильно выходить из тупиковых вариантов, программирование тут не при чём.
Удачи!


5166. Александр Акилин
Александр Акилин
ответить
→  Евгений Волосатов   / 2015-05-26 17:43

Евгений Витольдович, выручайте! На сложение-вычитание-умножение-деление потратил уже 7.5 часов. Не могу найти ошибку. При старте один пример обрабатывается отлично, статус бар продвигается на одно деление. Но на втором примере выкидывает, что я лузер и проиграл, хотя я записываю правильный ответ. При чём при пошаговом дебаге всё нормально отрабатывается. Однако заметил одну особенность: при каждом проходе кода я могу в поле ответа записать только 1 символ (например, если правильный ответ 17, то при первом проходе он не даёт ввести никакой символ, при втором проходе он даёт ввести "1", при третьем проходе даёт ввести "7", дальше каунт++ тикает и продолжается). Я понимаю, что Вы никому ничего не обязаны, но 7.5 часов я танцую вокруг этой игрушки. Помогите!

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        int count;
        int min = 1;
        int max = 10;
        int count_max = 3;
        string mode = "";
        Random rnd = new Random();
        string answer;

        public Form1()
        {
            InitializeComponent();
            text_max.Text = max.ToString();
        }

        private void button_plus_Click(object sender, EventArgs e)
        {
            start("plus");
        }

        private void start(string my_mode)
        {
            mode = my_mode;
            button_plus.Visible = false;
            button_minus.Visible = false;
            button_mult.Visible = false;
            button_divs.Visible = false;
            progress.Visible = true;
            text_answer.Focus();
            text_max.Enabled = false;
            label_think.Enabled = true;
            text_answer.Enabled = true;
            progress.Minimum = 0;
            progress.Maximum = count_max;
            progress.Value = 0;
            count = 0;
            try
            {
                max = Convert.ToInt16(text_max.Text);
            }
            catch
            {
                max = 10;
                text_max.Text = max.ToString();
            }
            think();

        }
        private void think()
        {

            int a, b;
            a = rnd.Next(min, max+1);
            b = rnd.Next(min, max+1);
            if (mode == "plus")
            {
                label_think.Text = a.ToString() + "+" + b.ToString() + "=";
                answer = (a + b).ToString();
            }
            if (mode == "minus")
            {
                if (a < b)
                {
                    int x = a;
                    a = b;
                    b = x;
                }
                label_think.Text = a.ToString() + "-" + b.ToString() + "=";
                answer = (a - b).ToString();
            }
            if (mode == "mult")
            {
                label_think.Text = a.ToString() + "x" + b.ToString() + "=";
                answer = (a * b).ToString();
            }
            if (mode == "divs")
            {
                label_think.Text = (a*b).ToString() + "/" + b.ToString() + "=";
                answer = (a).ToString();
            }

            count++;
        }

        private void text_answer_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                if (text_answer.Text == answer)
                {
                    progress.Value = count;
                    if (count == count_max)
                        gamewins();
                    else
                    {
                        text_answer.Text = "";
                        think();
                    }
                }

                else
                {
                    gameover();
                }
            }
        }
          private void gameover()
            {
                text_answer.Text = answer;
                MessageBox.Show("Думай, форест, думай!", "Пиписька!");
                done();

            }
                  private void gamewins()
            {
                MessageBox.Show("Вы победили! Ура!", "Победа!");
                done();
             
            }
                    private void done()
                  {
                      button_plus.Visible = true;
                      button_minus.Visible = true;
                      button_mult.Visible = true;
                      button_divs.Visible = true;
                      text_max.Enabled = true;
                      progress.Visible = false;
                      label_think.Enabled = false;
                      text_answer.Enabled = false;
                      button_plus.Focus();
                  }

                    private void button_mult_Click(object sender, EventArgs e)
                    {
                        start("mult");
                    }

                    private void button_minus_Click(object sender, EventArgs e)
                    {
                        start("minus");
                    }

                    private void button_divs_Click(object sender, EventArgs e)
                    {
                        start("divs");
                    }



                   


    }
}


5166. Александр Акилин
Александр Акилин
ответить
→  Вадим  # Мини игры / Картинка с секретом / 2015-05-26 17:32

БХАХХХАХАХАХАХ


5166. Александр Акилин
Александр Акилин
ответить
# Начало / Мои успехи / 2015-05-26 17:26

1. Неделю
2. Лабиринт
3. Сниф, который живёт на свитче.
4. Я тупой.
5. Учите матчасть


5166. Александр Акилин
Александр Акилин
ответить
→  Олюшка   / 2015-05-25 15:14

Я ни одного дела в своей жизни до конца не довёл. Кто знает, может, пришло это время?


24. Олюшка
Олюшка
ответить
→  Александр Акилин  # Мини игры / Отзыв о видеокурсе / 2015-05-25 15:12

Александр! Чудесный и очень трогательный отзыв!)


5166. Александр Акилин
Александр Акилин
ответить
→  Олюшка   / 2015-05-25 15:08

С функцией рандом у меня взаимоотношения не складывались ещё с МГТУ, а тут, вроде, понятно стало. А вот тэги я так и не понял, как применяются.


5166. Александр Акилин
Александр Акилин
ответить
→  f0r3st3r   / 2015-05-25 15:06

Я не стал ничего придумывать, и 2 уровня слил в 1. Прикольно получилось. Рекомендую попробовать :)


5530. f0r3st3r
f0r3st3r
ответить
→  Александр Акилин   / 2015-05-25 14:19

Он ещё в бета тесте ;)


24. Олюшка
Олюшка
ответить
→  Александр Акилин  # Мини игры / Камень ножницы бумага / 2015-05-25 13:39

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


5166. Александр Акилин
Александр Акилин
ответить
→  f0r3st3r  # Мини игры / Лабиринт 2D - игра / 2015-05-25 13:11

А покажите 3 лвл? :)


5166. Александр Акилин
Александр Акилин
ответить
→  Олюшка   / 2015-05-24 17:13

для  СЕОшников :)


24. Олюшка
Олюшка
ответить
→  Александр Акилин  # Мини игры / Бот для Быстрощёлка / 2015-05-24 17:10

Александр, думаю найдется еще где-нибудь применение этой программы)


5166. Александр Акилин
Александр Акилин
ответить
→  Иван   / 2015-05-24 17:09

Я буду с Вас пример брать


2146. Иван
Иван
ответить
→  Александр Акилин  # Мини игры / Бот для Быстрощёлка / 2015-05-24 17:07

Писать комментарии - очень хорошая мысль. Я так частенько делаю. Записываю, что рассказывает Евгений Витольдович.


5166. Александр Акилин
Александр Акилин
ответить
→  Олюшка   / 2015-05-24 15:55

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


24. Олюшка
Олюшка
ответить
→  Александр Акилин  # Новые технологии / Делегаты на кубиках / 2015-05-24 15:38

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


24. Олюшка
Олюшка
ответить
→  Александр Акилин  # Мини игры / Игра Быстрощёлк / 2015-05-24 15:36

Александр, слизали замечательно! Могу только сказать, что только когда нравиться, то и делать хочется, а нравиться и удовольствие мы получаем когда не напрягаемся и это именно в игре, по этому и запоминание не напрягает и устаивается хорошо. Все дети учатся через игру, так почему нам взрослым так не учиться, "Кто сказал что должно быть все сложно и серьезно?" ;) Я всегда делаю из всего забавную игру так училась и учусь  и методика Евгения мне очень близка и она работает, так что делайте игру-обучения и постоянно занимайтесь и у вас уже все получается! :)


5166. Александр Акилин
Александр Акилин
ответить
→  Олюшка  # Новые технологии / Делегаты на кубиках / 2015-05-24 15:21

Летите вперёд, словно флагман. Вот уж кто по-настоящему мотивирует


1424. Татьяна
Татьяна
ответить
→  Александр Акилин   / 2015-05-20 19:06

Ура! :) Так держать, Александр!


24. Олюшка
Олюшка
ответить
→  Александр Акилин  # Мини игры / Лабиринт 2D - игра / 2015-05-20 17:28

Александр, что тут сказать, вы большой Молодец! Мне нравится ваш настрой и ваше терпение, это очень мотивирует! Так держать, у вас все уже замечательно!


2146. Иван
Иван
ответить
→  Александр Акилин  # Мини игры / Лабиринт 2D - игра / 2015-05-20 16:33

Хорошо получилась. Сначала подглядываешь, а к 10 программе уже и сам что-то начинаешь придумывать. Программирование все-таки творческая штука, так как идею можно реализовывать совершенно разными способами


5166. Александр Акилин
Александр Акилин
ответить
→  Евгений Волосатов   / 2015-05-20 13:57

Ура, всё получилось! Создал новый проект, скопировал App.Config, отребилдил, отдебагил. Спасибо! Сейчас доделаю домашнее задание :)


5166. Александр Акилин
Александр Акилин
ответить
→  Евгений Волосатов   / 2015-05-20 13:33

Я вчера убил на него 3.5 часа или даже больше.
Спасибо за совет, сейчас попробую :)


1. Евгений Волосатов
Евгений Волосатов
ответить
→  Александр Акилин   / 2015-05-20 13:27

Создай новый проект с таким же названием и скопируй от него App.config
В конце концов можно переделать урок, тоже полезно будет.
Либо просто пойти дальше, вернуться к этому уроку позже.


5166. Александр Акилин
Александр Акилин
ответить
→  Евгений Волосатов   / 2015-05-20 13:22

Вот, что он пишет при ребилде

http://s1.radikale.ru/uploads/2015/5/20/c180bfe3bc40aedd25c9c15036bbce4f-full.png

При чём изи рекавери не видит вообще существования этих файлов :(


1. Евгений Волосатов
Евгений Волосатов
ответить
→  Александр Акилин   / 2015-05-20 13:12

Он же пишет тебе - нужно заново откомпилировать проект.
Меню Build - Build All или как-то так.
Ещё в панели инструментов выбери вместо Release - Debug.
Должно помочь. Удачи!


5166. Александр Акилин
Александр Акилин
ответить
→  Евгений Волосатов   / 2015-05-20 13:07

Приветствую, Евгений!

Мне нужна Ваша помощь. При написании программы Лабиринт 2Д вчера я оставил ноутбук (проект я сохранял при каждом действии), но сегодня ноутбук завис, и после перезагрузки исчезли все файлы из директории бин/дебаг. При попытке запуска проекта ВС, соответственно, ругается, что директория пуста. Надо заново переписывать и перерисовывать всю программу, если текст программ, вроде, целый? Или можно как-то восстановить?

http://s1.radikale.ru/uploads/2015/5/20/8bf89f6b96692c9b144fb1a527490f24-full.png


5166. Александр Акилин
Александр Акилин
ответить
→  Татьяна   / 2015-05-20 12:40

Спасибо, Татьяна! :) Вы поднимаете мой дух :)


1424. Татьяна
Татьяна
ответить
→  Александр Акилин   / 2015-05-20 12:37

Александр, а выгоднее чувствовать себя не мальком, а великим исследователем, который на сверхсовременной подводной лодке отправляется разгадывать тайны морей и океанов. Да, океан новый и незнакомый. Но дух исследования - он приведёт к великим открытиям :) Хорошего, плодотворного дня Вам, Александр!


5166. Александр Акилин
Александр Акилин
ответить
→  Татьяна   / 2015-05-20 10:55

Так много нюансов - и все надо запомнить и понять. Я чувствую себя мальком среди огромного непонятного ОКЕАНА.


1424. Татьяна
Татьяна
ответить
→  Александр Акилин   / 2015-05-19 18:00

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


5166. Александр Акилин
Александр Акилин
ответить
→  Татьяна   / 2015-05-19 12:57

У вас уже получается? Как вы пришли к этому?


5166. Александр Акилин
Александр Акилин
ответить
→  Евгений Волосатов   / 2015-05-19 12:56

Спасибо. Перед субботним вебинаром надо было вначале заняться этими уроками. А то я, как дурак, полагался на русский авось. Многое стало понятнее. Но это всё дизайнерство. Боюсь представить, что будет, когда начнётся программирование. Я в восторге от ваших методов, пусть ещё нет чёткой системы и рассчитано оно не на такой низкий интеллектуальный уровень, которым обладает ваш покорный слуга. Респектище вам!


5166. Александр Акилин
Александр Акилин
ответить
→  Олюшка   / 2015-05-19 12:53

Это только 2 урока разобраны. Всё так медленно, мне не хватает мозгов всё объять. Так деревня покоряет город :(


24. Олюшка
Олюшка
ответить
→  Александр Акилин  # Мини игры / Лабиринт 2D - меню / 2015-05-18 17:27

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


1424. Татьяна
Татьяна
ответить
→  Александр Акилин  # Мини игры / Лабиринт 2D - меню / 2015-05-18 17:17

Александр, то, что Вы описываете, очень похоже на мои ощущения в начале - это как раз вопрос практики. Вы, главное, не бросайте занятия, в какой-то момент всё вдруг сложится и поймётся :)


1. Евгений Волосатов
Евгений Волосатов
ответить
→  Александр Акилин  # Мини игры / Лабиринт 2D - меню / 2015-05-18 17:14

Ну ты даёшь!
Молодец.


5166. Александр Акилин
Александр Акилин
ответить
→  Ульяна  # Новые мини игры / Спрайт. Панель инструментов. / 2015-05-18 17:13

Про кота - прекрасно!


5166. Александр Акилин
Александр Акилин
ответить
# Мини игры / Картинка с секретом / 2015-05-17 20:29

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


1. Евгений Волосатов
Евгений Волосатов
ответить
→  Александр Акилин  # Мини игры / Картинка с секретом / 2015-05-16 22:58

Извини, Александр. Нужно каждое действие объяснять, не всегда это получается.


24. Олюшка
Олюшка
ответить
→  Александр Акилин  # Мини игры / Вступительное слово / 2015-05-16 20:32

Александр, хорошая цель поставлена, и значит уже на верном пути, и только вперед)


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

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

Формулист За сегодня За неделю
Разминка Обучение Бонусы Сумма
1 Tekashnik 8275 5 6 11 171
2 chokayes 9752 160
3 Иван Воронин 10558 160
4 WildOrc 17443 160
5 Dmitry Sinitsin 17947 5 5 145
6 ser2018 17425 135
7 Дмитрий 4814 10 10 5 25 125
8 Evgenii Kudriavtcev 18493 122
9 Serge 16861 1 1 121
10 Виктор 17606 120
11 Иван 2146 104
12 Dima 11051 5 3 8 83
13 Андрей 162 77
14 Родион Глушков 11582 77
15 Pavlin 16496 77
16 sparda 18477 74
17 Николай Миролюбов 6203 57
18 Andrew 18783 51
19 nasr 18889 51
20 Александр 3922 1 1 45
21 Ramzan 18272 44
22 Сарапульцев Константин 1570 43
23 Слава 17255 43
24 FireWolf 10080 41
25 Arslan 18688 40
26 Дмитрий 16218 36
27 alklokov 18681 5 5 10 35
28 Андрей 17589 32
29 Марат 17791 32
30 Евгений Волосатов 1 5 5 31
31 Anton 5394 26
32 Посетитель 0 5 5 25
33 Neverwinter 2 1901 25
34 Yefim 11589 25
35 Валерий Жданов 791 24
36 Стен 18842 24
37 Roman 18683 23
38 Антон Кравченко 5502 2 2 22
39 Петя 7652 18
40 Виталий 16268 18
41 Кирилл Шмойлов 6452 16
42 Дмитрий 4210 15
43 KpucTo6aJlb 13385 15
44 Саша Авербух 16520 15
45 Дмитрий 17813 15
46 Александр 18131 15
47 knockjkeee 18563 15
48 Chai 18816 15
49 rahunak 15621 12
50 Salamatory 18774 11
51 Voloshin Alexey 18838 11
52 Григорий 3850 10
53 Денис 4395 10
54 Андрей 6275 10
55 Алексей 8672 10
56 DimanDOS 14981 10
57 Константин Мельников 17022 10
58 Мирзаев Магомед 18311 10
59 Protos 16459 9
60 Aleksandr 10298 7
61 Андрей Шевченко 16533 1 1 6
62 Слава 17769 6
63 Сергей Сергеевич 459 5
64 Роман Осипов 6758 5
65 Николай Денисов 9014 5
66 ymik321 11829 5
67 Сергей 12525 5
68 Сергей 14008 5
69 Егор 14446 5
70 Evgeny 17084 5
71 Vitalik 18853 5
72 Илья 18894 5
73 Solaris 18918 5
74 Роман 14462 3
75 Maksym 18302 3
76 Александр 17981 1 1 2
77 vip 9913 2
78 Timoha 9980 2
79 superGrover 18626 2
80 petro_zzz 2237 1
81 Андрей 4753 1
82 Denis 18356 1
83 Сяинов Артём 18631 1
84 Марк 18848 1
85 Алексей 18890 1
86 Анастасия 18899 1
87 dnl 18901 1
88 Kirill 18908 1
89 Мария 18910 1

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

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

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

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

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

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




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

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

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

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


Научился: Ставить много условий, пользоваться рандомом.
Трудности: Соблюдать правильное правописание программ. Так и не понял смысла private void user_panel_kam_MouseEnter(object sender, EventArgs e) { show_used_figure((((Panel)sender).Tag).ToString()); }
Если что-то встречается дважды в 2 видеоуроках, можно это снова прокомментировать. А то теперь кто знает, в каком уроке искать подобное?


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