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

Формула программиста
основатель — Волосатов Евгений Витольдович
Вызов от Робота Шарпа
Вебинар «Сокетный Клиент-Сервер на C#» начнётся через 14 час. 14 мин.

Микроигры / 2048 - Смещение

  • На этом уроке мы реализуем класс с логикой игры.
    Далее, напишем заглушки для функций смещения клеток
    и функцию проверки окончания игры game_over().
  • Дата отправки отчёта: 2 июля 2015 г.
  • Задание выполнено: за 3 час. 00 мин.
  • Чему научился: увидела как  работают делегаты, работу рекурсии, работа двухмерной матрицей, координатами, разбитие логики на части и реализация их
  • Что было сложным: сложно не возникало, все очень хорошо показано и рассказано в уроке, понимания логики, еще четкой нет, хотя все понятно что и как мы делали!
  • Комментарии: Ура!!! Я сделала свою игру! И у меня даже неплохой результат, это с первого раза в собственную игру мой результат! Я Молодец, мне она нравится, очень! Хотя она и кажется простой, однако реализация очень не простая! Спасибо, за такой шикарный урок! :)
  • Архив проекта: Ссылка доступна после самостоятельного выполнения этого урока
  • Оценка видео-уроку:
Отчёт от 24 за Микроигры / 2048 - Смещение




Оцени работу

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

1. KF
Евгений Волосатов
Евгений Волосатов
ответить
→  Олюшка  # Микроигры / 2048 - Логика / 2015-07-02 21:55

Оля, ты супер, отличный результат, молодец!


24. --
Олюшка
Олюшка
ответить
→  Евгений Волосатов  # Микроигры / 2048 - Логика / 2015-07-02 22:02

Спасибо, Евгений, все вашими усилиями! :)


791. --
Валерий Жданов
Валерий Жданов
ответить
→  Олюшка  # Микроигры / 2048 - Логика / 2015-07-02 23:47

Долгий бой Оли был с этой игрой, но был готов алгоритм, и можно поиграть в красивую, дизайнерски сделанную даже на винформах игру!


24. --
Олюшка
Олюшка
ответить
→  Валерий Жданов  # Микроигры / 2048 - Логика / 2015-07-02 23:50

Благодарю, Валерий! Мне очень приятно и радостно, что ты оценил все мои старания с этой игрой! :)



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





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

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

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

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


Научился: Повышать скорость работы программы. И рекурсия. Хотя здесь как раз быстро смекнул что к чему:)))))))
Трудности: Наверное рекурсия.
Наконец-то я доделал это приложение! Подробности ниже!))) 1. Добавил статистику игры в виде таблицы рекордов. За формирование таблицы рекордов отвечает отдельный класс "Statistics". В нем инкапсулирована вся работа с таблицей. При сохранении таблицы я использовал сериализацию и десериализацию. Это неимоверно удобно и выливается в итоге в меньший объем кода, чем при использовании System.IO c той же целью. Данный класс является моим первым шаблоном, который очень удобно интегрировать в любое приложение, требующее какой-то подобной статистики. 2. Добавил какой-никакой интерфейс игры - поле для ввода имени игрока, поле отображение текущего счета игры и кнопку рестарта игры. Данные текстБоксы как раз и используются при сохранении игры в таблицу рекордов. 3. Добавил вероятность появления цифр на игровое поле - где-то в описании игры в интернете вычитал, что цифры появляются не с равной вероятностью (да и сам замечал подобное при игре на смартфоне): 2-ка с вероятностью 80%-ами, 4-ка же с оставшимися 20%-ами. 4. Добавил "диалог" между программой и игроком при завершении игры с вопросами о сохранении игры и о создании новой игры. 5. Добавил кнопку рестарта игры. Я очень рад своим доделкам/переделкам. Именно так повышается скилл программирования - когда ты сам находишь решения своим же идеям:)))


Научился: Отлично, идём дальше. з.ы. надо будет добавить проверку на возможность объединения соседних одинаковых чисел, даже если всё поле заполнено, но думаю это будет в след. уроках.