Си шарп с нуля

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




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

Видеокурсы

Дата активности Видеокурс Прогресс
2015-05-28 game0 Демо игры все 9 100 %
Итого: все 9 100 %

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

Дата активности Консольный раздел Прогресс
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

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

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




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

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

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

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