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

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

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

Явный Сапёр / Волшебный метод

  • На этом уроке мы создадим
    волшебный метод cellOpen().
    Именно в нём кроется вся магия логики игры.
  • Дата отправки отчёта: 6 сентября 2016 г.
  • Задание выполнено: за 3 час. 20 мин.
  • Чему научился: Писать рекурсивные функции на JAVA
  • Что было сложным: Во время написания кода неправильно поставил один восклицательный знак и плюс вместо paintComponent написал просто paint провозился очень долго.
    Так же не смог определить, программа иногда как-то работает странно рекурсия открывает не все ячейки сам не смог разобраться. Думаю может в следующем уроке автор поможет разобраться.
  • Комментарии: Если можно автора когда он заканчивает урок проматывать код программы вверх и вниз что б можно было код пересмотреть заново. Допустил ошибку в написании пришлось пересматривать несколько раз с нуля весь видео урок.
  • Оценка видео-уроку:
Отчёт от 7238 за Явный Сапёр / Волшебный метод




Оцени работу

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

7119. --
Новопашин Владимир
Новопашин Владимир
ответить
→  Константин  # Явный Сапёр / Волшебный метод / 2016-09-07 06:54

Такая же проблема - вот приходится за автором поспевать , либо приостанавливать видео.


10558. --
Иван Воронин
Иван Воронин
ответить
→  Константин  # Явный Сапёр / Волшебный метод / 2016-09-07 11:35

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


7238. --
Константин
Константин
ответить
→  Иван Воронин  # Явный Сапёр / Волшебный метод / 2016-09-07 13:24

Нууу когда соло проходишь там немного другое. Как сейчас вспоминаю когда проходил соло на клавиатуре самый жесткий урок был числа от 0 до 1000 набрать и давалось 4 ошибки. Там я понимаю ты просто фигачишь как есть, а тут  мало того что не совсем знаешь язык джава так еще и ошибки в логике которую хотел довести автор.  А потом выясняется что все набрано правильно просто автор этот момент не учел и начинаешь уже изобретать велосипед. А если б я был сразу уверен в том, что весь вод автора у меня был правильно введен, то я бы уже не пересматривал уроки по несколько раз. Уже б пытался бы сам реализовать логику задачи.


10558. --
Иван Воронин
Иван Воронин
ответить
→  Константин  # Явный Сапёр / Волшебный метод / 2016-09-07 14:40

а что именно автор не учёл? видео это не вебинар, паузу можно в любой момент ставить или ты о чём?



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





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

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

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

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


Научился: Išmokau ir supratau kaip reikia žaisti minesweeper, pilnai supratau visus programos elementus ir komponentus.
Трудности: Nieko, viskas buvo lengva, nes prieš tai viskas buvo gerai paaiškinta.
lange NR1. programa kuri išveda "" :)!!!!YOU WIN GAME!!!! :) "", kai minesCount ==0, bet galima kiekviena karta kai su palite pastatai ant langelio veliava, minesCount-- mažėja vienetu, todėl galima neatverti ne vieno lango ir iškart pastatyti veliavu kiek yra N_MINES ir tu laimejai. lange NR2. žaidimas baigtas kai paspaudi ant minos. lange NR3. žaidimo eigoje vaizduojamas minu skaičius. iki lango numeris 4 yra keli žaidimo trukumai. Pirmas kai pastatai veliavą ir paspaudi ant skaičiaus atsidaro aplink jo laukai, kartai atsidaro miną, nes veliava pastatyta ne tinkamoje vietoje, bet žaidimas tesiasi ir neatsiveria visos minos. antras minusas laimėjus ar pralaimėjus žaidimą, ir statusvbar išvedus tekstus, su pelite galima atidaryneti laukus ir statyti veliavas. trečias minusas kad galima pristatyti veliavų ir taip laimeti, bet neatvesus jokio lauko. Aš šituos trukumus pašalinau ir langai NR4 ir NR5 gerai funkcianuoja. Kad tai butu pašalinta aš padariau programoje šiuos pakeitimus sukuriau kintamaji private int opencell =0; metoduose leftButton() ir rightButton() parašiau šias kodo eilutes if(minesCount==0) opencell = OpenTopCell(); if(( N_ROWS * N_COLS - opencell==N_MINES)) { result = 1; statusbar.setText(" :)!!!!YOU WIN GAME!!!! :) "); } metode openNear() parašiau: if (top[mx][my] == IMG_OPEN) { if (map[mx][my] == IMG_MINE) openAllMines(); } metode openAllMines() parašiau result = -1; statusbar.setText("GAME OVER"); sukuriau metoda OpenTopCell public int OpenTopCell()// Metodas skaičiuojantis atvertus laukus { int t=0; for(int y = 0; y < N_ROWS; y++) for(int x = 0; x < N_COLS; x++) if(top [x][y]== IMG_OPEN) t++; return t; } ir į mousePressed() parašiau kiekvienam mygtukui: if(result!=1 && result!=-1) pakeitimai pavaizduoti faile NR2.


Научился: Реализовали открытие ячеек по клику левой кнопки мыши. Проверку на победу или поражение.