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

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

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

Сокобан / Сокобан - Редактор - Улучшение

  • Допиливаем и дорабатываем редактор до товарного вида.
    Реализуем ещё несколько фишек.
  • Дата отправки отчёта: 6 сентября 2015 г.
  • Задание выполнено: за 2 час. 00 мин.
  • Чему научился: Допиливать свои хотелки
  • Что было сложным: Состыковка статус бара и поля при изменении размеров формы
  • Комментарии: Немного переделал стилистику своей будущей игры. Взял спрайты из игры warcraft 2.
    Сразу не понравился способ изменения размеров уровня. По моему опыту - если дать возможность пользователю ввести данные неправильно - он обязательно введет их неправильно =) Поэтому вместо textbox сделал TrackBar'ы numericUpDownTextBox'ы отдельно на ширину и высоту. Изначально они не видны, а при нажатии на кнопку ресайза - появляются, и уровень масштабируется с учетом новых элементов на форме.
    Счетчики боксиков и место для их расположения расположил на СтатусБаре в нижней части формы. Там же отображается информация о сохранении уровня.
    Между стрелками переключения уровней поставил текстбокс ReadOnly для отображения номера уровня и общего количества уровней.
    Еще добавил горячие клавиши на наши элементы управления. 1 - wall, 2 - abox и т.д. Таким образом не обязательно кликать по ним мышкой, чтобы выбрать текущий, достаточно нажать клавишу.
  • Оценка видео-уроку:
Отчёт от 1947 за Сокобан / Сокобан - Редактор - Улучшение




Оцени работу

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

1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Denis  # Игра Сокобан / Сокобан - Редактор - Улучшение / 2015-09-06 20:12

Денис, самый толковый отчёт по этому уроку!
Отличные нововведения!


24. --
Олюшка
Олюшка
ответить
→  Denis  # Игра Сокобан / Сокобан - Редактор - Улучшение / 2015-09-06 20:50

Денис, это круто, отлично проработал, очень стильно стала выглядеть игра и мне нравится как ты реализовал изменения поля! Молодчина!!!⭐️



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





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

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

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

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


Научился: создавать контролы кодом и назначать им свойства
добавил небольшую функцию, отображающую номер текущего уровня в комбобоксе с возможностью перехода сразу к конкретному уровню


Научился:  Дeлать измeнение рaзмеpов лaбиpинта чeрез текстовое поле. Дeлать пpямоугольнoе зaполнeниe лабиpинта выбранным объектом. Дeлать cчётчик ящиков и паркoвочныx меcт для ниx. Дeлать Тултипы для контролов
Трудности:  Возникли вопросы: при использовании текстового поля со свойством BorderStyle = Fixed3D, я надеялся увидеть "объёмный вариант", а на самом деле оно выглядит как Label. Хотелось бы подробнее узнать как программно перехватывать ошибки с помощью try - catch.
Возникли вопросы: при использовании текстового поля со свойством BorderStyle = Fixed3D, я надеялся увидеть "объёмный вариант", а на самом деле оно выглядит как Label. Хотелось бы подробнее узнать как программно перехватывать ошибки с помощью try - catch. Замечаний, практически, нет. Особенно понравилась реализация пpямоугольнoго зaполнeния лабиpинта выбранным объектом. Хочу предложить более простой способ использования функции Split(x) с разделителем, отличным от пробела: char dl = 'x'; string[] wh = toolStripTextBoxLabirintSize.Text.Split(dl);