Завершаем создание игры Пятнашки. На втором уроке мы напишем класс логики игры, в котором опишем матрицу для хранения чисел на кнопках и реализуем основные методы: start, shift, check_numbers и другие.
Дата отправки отчёта:
8 ноября 2017 г.
Задание выполнено: за
3 час. 3 мин.
Чему научился:
работать с координатами сетки.
поменял возвращаемое значение у метода game,shift c void на bool. public bool shift (int position) { int x, y; position_to_coords(position, out x, out y); if (Math.Abs(spase_x - x) + Math.Abs(spase_y - y) != 1) // return false; map[spase_x, spase_y] = map[x, y]; map[x, y] = 0; spase_x = x; spase_y = y; return true; } и теперь после каждого нажатие на кнопки проверяется условие если условие выполнено то и функция выполнила свою действие и дает добра на перебор все клеток private void button1_Click(object sender, EventArgs e) { int position = Convert.ToInt16(((Button)sender).Tag); if (game.shift(position)) refresh(); if (game.check_numbers()) { MessageBox.Show("Вы победили", "Победа"); start_game(); } } на внешний вид программы не повлияло. но скорость в обработки операций прибавилось.