На этом уроке мы реализуем правила движения чёрных пешек по аналогии с белыми.
Для начала мы перенесём общую проверку из функций is_correct_*_pawn_move() в функцию is_correct_pawn_move().
Доработаем функцию is_pawn_passant(). Объединим функции is_correct_*_pawn_move() в общую функцию is_correct_sign_pawn_move().
Дата отправки отчёта:
13 января 2017 г.
Задание выполнено: за
1 час. 23 мин.
Чему научился:
Модернизировать функции, чтобы решить проблему добавления параметров
Что было сложным:
Найти ошибки в коде
Комментарии:
Мне больше нравится не разбивать на функции, а добавлять параметры, это хоть и усложняет немного код, зато видно последовательность действий метода. В уроке реализовали всё кроме того чтобы исчезала белая пешка при рубке на проходе, я реализовал это так: function click_box_to (to_x, to_y){ .... if(is_pawn(from_figure)) if (to_x == pawn_attack_x && to_y == pawn_attack_y){ if (get_color(to_x, to_y) == "white") map[to_x][to_y - 1] = " "; // white else map[to_x][to_y + 1] = " "; // black } ... }
Научился: Повторил рефакторинг Трудности: Превращение нескольких функций в одну Способ хороший, конечно, но каша в голове часто от таких превращений. Кроме того, в уроке при взятии чёрной пешкой на проходе не снимается белая :(
Научился: теперь и чёрные пешки ходят как положено =)
по мне добавить лишний параметр в функцию и таким образом избавиться от еще одной такой же это проще, чем разделять её на несколько мелких =)