5.3.4 Поиск пустого элемента.
В данном разделе осуществляется поиск пустого элемента, чтобы в дальнейшем относительно него можно было бы осуществлять передвижение
Данный раздел реализован в процедуре Poisk. Программа при помощи инструкции For и переменных i и j сравнивает каждый элемент двумерного массива AS, с пустым элементом, при помощи инструкции IF и когда находит, присваивает значения переменных i и j переменным strok и stolb. Таким образом, переменные strok и stolb как бы являются координатами пустого элемента.
Общий алгоритм данного раздела заключается в следующем (Схема 6):
– Выбор элемента массива;
– Проверка, является ли данный элемент пробелом;
– Присвоение координат строки и столбца переменным.
Нет Нет
Да
Схема 6 - Раздел Поиск
5.3.4.1 Выбор элемента массива.
При помощи инструкции For поочередно будем выбирать каждый элемент массива.
5.3.4.2 Проверка, является ли данный элемент пробелом.
При помощи инструкции If, сравниваем каждый элемент массива с пробелом.
5.3.4.3 Запоминание координат пробела.
Переменным strok и Stolb присваиваем координаты пустого элемента.
5.3.5 Ввод направления перехода.
В данном разделе пользователю предлагается выбрать направление перехода клеток с цифрами, относительно пустой клетки. Выбор осуществляется при помощи курсора, на клавиатуре.
Данный раздел алгоритма реализован в процедуре Napravlenie.
Фактически некоторой переменной ch (типа char) присваивается код нажатой клавиши.
Алгоритм процедуры заключается в следующем:
– Пользователю предлагается, при помощи курсора, ввести направления перехода.
– После того как пользователь, нажал кнопку на клавиатуре, код клавиши присваивается переменной ch, при помощи функции readkey.
К примеру, если пользователь ввел направление курсора вверх, это означает, что пользователь нажал служебную клавишу под кодом 72.
5.3.6 Перемещение элементов табло.
В данном разделе, в зависимости от направления перехода, выбранное ранее при помощи курсора, и местоположение пустой клетки, происходит перемещение:
- Стрелка влево – перемещает влево цифру, стоящую справа от пустой клетки;
- Стрелка вправо – перемещает вправо цифру стоящую слева от пустой клетки;
- Стрелка вниз – перемещает вниз цифру стоящую сверху от пустой клетки;
- Стрелка вверх – перемещает вверх цифру стоящую снизу от пустой клетки.
Данный алгоритм реализован в процедуре Zamena.
Общий алгоритм данного раздела заключается в следующем (Схема 7):
- Выбор направления перестановки;
- Перемещение клеток;
- Запись об очередном сделанном ходе.
Схема 7 - Раздел Замена.
5.3.6.1 Выбор направления перестановки.
Ранее пользователь сделал ход, а это значит, что мы имеем нажатую служебную клавишу, под каким либо номером. При помощи инструкции IF и функции ord, выбирается направления перестановки элементов.
5.3.6.2 Перемещение клеток.
В зависимости от значений переменных Strok, Stolb, которым было присвоено координаты пустого элемента в массиве (5.3.4) и выбранного направления, осуществляется перемещение.
Например, пользователь ввел направление курсора вверх, это означает, что пользователь нажал служебную клавишу под кодом 72, тогда, при помощи инструкции if и функции ord (if ord(ch)=72 then), осуществляется перемещение.
Перемещение осуществляется по следующему принципу: пустой клетки, а именно элементу массива с координатами as[strok,stolb], присваивается содержимое элемента стоящего под пустой клеткой (as[strok,stolb]:= as[strok+1,stolb];), а соответственно элементу, стоящему под пустой клеткой присваивается пробел (as[strok+1,stolb]:=' ';).
5.3.6.3 Запись об очередном сделанном ходе.
При запуске раздела Игра, некоторой переменной hod присваивается 0. Это означает, что пользователь приступил к игре. После каждого сделанного хода, значение переменной hod увеличивается на единицу. В дальнейшем эта информация будет использована, при определении лучших результатов.
5.3.7 Проверка.
В данном разделе программа сравнивает текущую комбинацию цифр, с правильной комбинацией. Если расклады совпадают, то алгоритм выполнен и осуществляется переход к следующему пункту, в противном случае, алгоритм вновь повторяется, начиная с пункта 5.3.3.
Данный раздел реализован в процедуре proverka.
По умолчанию логическая переменная prov равна false (ложь). Программа проверяет если элемент первой строки и первого столбца равен 1, второй равен двум и т.д. и элемент последней строки и последнего столбца равен пустому элементу, то расклад считается, выполнен и переменной prov присваивается значение true (истина).
... ошибок на этом пути, то есть установки или проявления характера взрослых членов семьи, и сами по себе осложняющие отношение с детьми. Глава 2. Эмпирическое исследование преодоления страхов у детей дошкольного и младшего школьного возраста 2.1 Описание экспериментальной выборки и методов исследования Определить боящегося ребенка обычно не составляет труда. Об этом мы уже не раз говорили, ...
... Dialogs 2.3.1.2 Внешний вид формы 2.3.1.2 Входные данные положение фишек; 2.3.1.3 Промежуточные данные проверка на наличие «собранности» мозайки; 2.3.1.4 Выходные данные результат игры. 2.3.1.5 Блок-схемы алгоритмов Приложение А, стр. 13 2.3.1.6 Текст модуля Приложение Б, стр. 25 ПРИЛОЖЕНИЯ ...
... и лишь изредка - в сочетаниях. Глава 3. Опытно-экспериментальная часть 3.1 Организация и проведение педагогического эксперимента Для того, чтобы выявить влияние подвижной игры на развитие быстроты и ловкости у детей 6-7 лет, было организовано и проведено исследование на базе МДОУ «Детский сад №10 комбинированного типа «Теремок» г.Зеленогорска Красноярского края. В детском саду ...
... гармоничного развития личности. В этом аспекте, подвижные игры выступают как эффективное средство физической подготовленности. ГЛАВА 2 ПОДВИЖНЫЕ ИГРЫ КАК СРЕДСТВО РАЗВИТИЯ ПСИХОФИЗИЧЕСКИХ КАЧЕСТВ У ДЕТЕЙ 6-7 ЛЕТ 2.1 Подвижная игра, ее значение Игра может быть средством самопознания, развлечения, отдыха, средством физического и общего воспитания. Игра – очень эмоциональная деятельность, ...
0 комментариев