Курсы по программированию

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Демо игры / VIP. Устный счёт

  • На этом уроке мы напишем программу для тренировки устного счёта.

    Задание:
    Сделать тренажёр устного счёта по основным арифметическим операциям.
  • Дата отправки отчёта: 14 декабря 2015 г.
  • Задание выполнено: за 3 час. 00 мин.
  • Чему научился: Выводить данные в метки и в текстовые окна, считывать данные из меток и текстовых окон, распознавать нажатие кнопки Enter, программно задавать фокус, попрактиковался в программировании секундомера.
  • Что было сложным: Совершенно измучился с тем, что на втором и последующем шагах в элементе text_answer почему-то добавляется \r\n. Мучился с этим не менее 3-х часов – так и не понял, с чем это связано.
    Соответственно, после первого шага не работает сравнение:
    if (text_answer.Text == answer)
    В конце концов, нашел следующее решение с конвертацией в целое число:
    if (Convert.ToInt32(text_answer.Text) == Convert.ToInt32(answer))
    Кто-нибудь может объяснить мне, в чем тут дело?
  • Комментарии: Остался вопрос: почему на втором и последующем шагах в элемент text_answer добавляется значение \r\n?
    Также не понял, почему в начале работу программы я не смог сместить фокус с элемента text_answer?
  • Оценка видео-уроку:
Отчёт от 7645 за Демо игры / VIP. Устный счёт




Оцени работу

 
Сохранить страницу:

1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Александр Львович  # Наноигры / Устный счёт / 2015-12-14 23:18

Испоьзуй метод Trim.


7276. --
Ильшат
Ильшат
ответить
→  Александр Львович  # Наноигры / Устный счёт / 2015-12-15 00:43

Александр, проверьте в свойствах text_answer значение свойства MultiLine. Я попробовал представить Вашу ситуацию, изменил на MultiLine = true, в итоге при if (Convert.ToInt32(text_answer.Text) == Convert.ToInt32(answer)) система корректно удаляет начальные или конечные whitespace символы. Если же сравнивать сами строки, то как раз \r\n добавляется перед вводимым ответом, поэтому ошибка. Нужно установить MultiLine = false.


7645. --
Александр Львович
Александр Львович
ответить
→  Ильшат  # Наноигры / Устный счёт / 2015-12-15 06:05

Большое спасибо, Ильшат! Причина была именно в параметре MultiLine!


7645. --
Александр Львович
Александр Львович
ответить
→  Евгений Волосатов  # Наноигры / Устный счёт / 2015-12-15 06:40

Большое спасибо, Евгений Витольдович! Причина моей ошибки была в том, что для текстового окна я установил параметр MultiLine=true.
Установка фокуса на текстовое окно в начале работы, как оказалось, произошло из-за того, что его параметр TabIndex был равен 0.


24. --
Олюшка
Олюшка
ответить
→  Александр Львович  # Наноигры / Устный счёт / 2015-12-15 17:05

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



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





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

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


Научился: Узнал, что знак минус можно писать тремя различными способами и, что значок умножения - это просто крестик.
Полезный урок.


Научился: Из данного видеоурока создал игру, в которой можно выбирать режимы для игры. При вводе правильного ответа продвигается progressBar, при неправильном ответе игра заканчивается, узнал про свойство mode устанавливающее режим игры, узнал как описывать условия при котором будет выбран тот или иной режим игры а также описывать их решения, узнал про событие KeyDown и как его обрабатывать.
Трудности: Придумать идею для приложения. К программе дополнил следующие возможности: SplashScreen (загрузочный экран при запуске приложения), несколько работающих вкладок, условие выхода из приложения (выйти или нет), добавил еще одну метку показывающая что игра началась, и кнопку "Выйти из текущего режима", которая доступна только при выборе одного из режимов (думаю это будет полезная фишка).