5.3.2    Заполнение табло случайными цифрами.

В памяти компьютера создается табло, в котором, в дальнейшем будут производиться перестановки. Табло состоит из шестнадцати клеток (четыре строки и четыре столбца), которое заполняется пятнадцатью, неповторяющимися цифрами от 1 до 15 и одной пустой клеткой.

Данный раздел реализован при помощи процедуры Tablo. Фактически табло, которое описывается ранее это двумерный массив с цифрами от 1 до 15 и ноль. Но отображение цифр на экране и ноля, вместо пустого элемента, делает табло не красивым. Отсюда следует, что двумерный массив, должен содержать строковые или символьные элементы.

Следующем моментом реализации данной процедуры, является заполнение табло случайными цифрами. Для заполнения табло случайными цифрами используется функция random, которая является генератором случайных цифр, но работает соответственно только с цифрами, а у нас строковый двумерный массив.

Проанализировав выше сказанное, приходим к тому, что необходимо создать два массива. Один одномерный из шестнадцати элементов типа integer, второй двумерный, четыре на четыре, типа string. Сначала одномерный массив, в случайном порядке, заполняется целыми неповторяющимися цифрами от 1 до 16, а затем в зависимости от расположения цифр, заполняется двумерный строковый массив. К примеру, если первый элемент одномерного массива равен цифре 11 тогда первому элементу двумерного массива будет присвоено строка «11».

Общий алгоритм данного раздела заключается в следующем (Схема 4):

–   Выбор случайного числа;

–   Проверка на наличие совпадений в массиве;

–   Занесение информации в массив;

–   Проверка заполнен ли массив;

–   Заполнение двумерного массива.


Да


Нет


Нет


Да


Схема 4 – Раздел Табло

5.3.2.1           Выбор случайного числа.

Некоторой переменной b присваивается случайное число, при помощи функции random. При чем функция random ограничена интервалом от 1 до 16.

5.3.2.2           Проверка на наличие совпадений в массиве

Переменная b сравнивается с каждым элементом массива bs[i], при помощи инструкций For и if. Если такой элемент уже присутствует в одномерном массиве, тогда переменной b, вновь присваивается случайное число. Так происходит до тех пор, пока переменной b не будет присвоена цифра, которой еще нет в массиве.


5.3.2.3           Занесение информации в массив.

Значение переменной b, которое было найдено ранее, вносится в массив bs[i], за последним элементом внесенный в массив

5.3.2.4           Проверка заполнен ли массив.

Программа проверяет заполнен ли массив полностью, если нет, то алгоритм начинается с пункта 5.3.2.1.

В итоге мы имеем одномерный массив заполненный, в случайном порядке неповторяющемся цифрами от 1 до 16.

5.3.2.5           Заполнение двумерного массива.

Заполнение двумерного массива, при помощи инструкции For и переменных i и j, которые обозначают столбец и строку.

Алгоритм заполнения двумерного массива заключается в следующем:

–   Первоначально переменной z присваивается единица. Данная переменная нам необходима как счетчик.

–   Каждому элементу j строки и i столбца присваивается строковый элемент, в зависимости от цифры стоящей под номером z в одномерном массиве, если текущей элемент одномерного массива содержит цифру 8, то текущему элементу двумерного массива присваивается строковый элемент «8 ». Исключением составляет цифра 16. В этом случае в двумерный массив вводится пробел. Выбор строкового элемента осуществляется при помощи инструкции case.

–   Так происходит до тех пор, пока двумерный массив не будет полностью заполнен.

5.3.3   Вывод табло.

В данном разделе на экране появляется табло с текущей комбинацией цифр. Первоначально, табло заполняется случайным образом п. 5.3.2, а в дальнейшем на экране будет отражено текущее состояния цифр на табло, в зависимости от сделанных пользователем ходов.

Данный раздел реализован в процедуре Vivod.

Общий алгоритм данного раздела заключается в следующем (Схема 5):

–   Прорисовка клеток;

–   Прорисовка рамки;

–   Вывод элементов массива по верх клеток табло.


Схема 5 - Раздел Вывод

5.3.3.1      Прорисовка клеток.

Рисование клеток осуществляется в следующем порядке:

-       Определения размера будущих клеток, при помощи двух переменных (h1, w1, координаты верхней левой и правой нижней точек);

-       При помощи процедуры SetFillStyle, задаем нужный цвет и стиль заполнения. Цвет выберем синий, а стиль заполнения возьмем SolidFill – сплошная заливка текущем цветом, т.е. синим.

-       При помощи процедуры Bar вычерчиваем на экране квадрат.

-       Чтобы данные действия не повторять 16 раз, используем инструкцию For.

5.3.3.2      Прорисовка рамки.

Для того, чтобы табло имело законченный вид, поместим ранее созданные клетки в рамку, при помощи процедуры Line.

5.3.3.3      Вывод элементов массива по верх клеток табло.

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

Так как мы находимся в графическом режиме, то для вывода элементов двумерного массива используем процедуру OutTextXY.

В итоге на экране появится достаточно аккуратное и не плохо оформленное табло с клетками, в центре каждой из которых, находится цифра.

В будущем, когда пользователь будет перемещать клетки, он фактически будет совершать операции с массивом и на экран будет выводиться информация из массива, в котором осуществлена перестановка, а клетки останутся неизменными.


Информация о работе «Игра "Пятнашки"»
Раздел: Информатика, программирование
Количество знаков с пробелами: 46914
Количество таблиц: 9
Количество изображений: 27

Похожие работы

Скачать
145807
5
2

... ошибок на этом пути, то есть установки или проявления характера взрослых членов семьи, и сами по себе осложняющие отношение с детьми. Глава 2. Эмпирическое исследование преодоления страхов у детей дошкольного и младшего школьного возраста   2.1 Описание экспериментальной выборки и методов исследования Определить боящегося ребенка обычно не составляет труда. Об этом мы уже не раз говорили, ...

Скачать
14287
1
7

... 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   ПРИЛОЖЕНИЯ ...

Скачать
161667
15
11

... и лишь изредка - в сочетаниях. Глава 3. Опытно-экспериментальная часть   3.1 Организация и проведение педагогического эксперимента   Для того, чтобы выявить влияние подвижной игры на развитие быстроты и ловкости у детей 6-7 лет, было организовано и проведено исследование на базе МДОУ «Детский сад №10 комбинированного типа «Теремок» г.Зеленогорска Красноярского края. В детском саду ...

Скачать
170262
21
2

... гармоничного развития личности. В этом аспекте, подвижные игры выступают как эффективное средство физической подготовленности. ГЛАВА 2 ПОДВИЖНЫЕ ИГРЫ КАК СРЕДСТВО РАЗВИТИЯ ПСИХОФИЗИЧЕСКИХ КАЧЕСТВ У ДЕТЕЙ 6-7 ЛЕТ   2.1 Подвижная игра, ее значение   Игра может быть средством самопознания, развлечения, отдыха, средством физического и общего воспитания. Игра – очень эмоциональная деятельность, ...

0 комментариев


Наверх