Мы начинаем решать задачу по решению игры Сокобан с одним ящиком. Эта задача олимпиадного уровня на применение алгоритма поиска вширь. Главный герой - мышка Альфа, которая желает затолкать яблочко к себе в норку. Программу мы напишем за два урока. На первом уроке мы создадим вспомогательную функцию MoveAlfa(), которая подскажет мышке как попасть из одной клетки лабиринта в другую кратчайшим путём.
Дата отправки отчёта:
28 июня 2015 г.
Задание выполнено: за
1 час. 30 мин.
Чему научился:
Немножко познакомился с очередью.
Что было сложным:
Повторить не сложно, сложно будет всё это понять....
Комментарии:
1 for (int y = 0; y < h; y++) for (int x = 0; x < w; x++) зачем поменяли циклы местами? почему необходимо сначала по y считывать? 2 string[] info = lines[0].Split(); - что обозначает 0 в квадаратных скобках? знак пробела? знак переноса строки в юникоде? 3 map = new char[w, h]; - уже инициализировали map выше, зачем делать еще раз это со словом new? можно ли map = [w][h];? Вопросы есть еще, но пока не буду их задавать....
1. Местами поменяли по той причине, что с файла считываются сначала целая строка (у), а в ней - символы строки (х). 2. 0 означает - что мы берём первую (нулевую) считанную строку, в которой как раз записаны размеры поля. 3. Слово new создаёт массив,без него масси не создастся. Писать заново нужно потому чторазмер массива моет оказаться другим.
Вот ты еще не решил не одной консольной задачи, а они бы тебе помогли, и вопросов было бы чуточку меньше, например: string[] info = lines[0].Split() - там мы очень хорошо отработали подобную строчку, так что лучше не игнорируй Шарпа, он нам в помощь! :)
Начинаем практику по языку C#
Чтобы стать хорошим программистом — нужно писать программы.
На нашем сайте очень много практических упражнений.
После заполнения формы ты будешь подписан на рассылку
«C# Вебинары и Видеоуроки»,
у тебя появится доступ к видеоурокам и консольным задачам.
Несколько раз в неделю тебе будут приходить письма —
приглашения на вебинары, информация об акциях и скидках,
полезная информация по C#.