Общая информация
MatrixSet("ИмяМатрицы[Столбец,Строка]","Индекс") задает изображение, индекс которого указан в качестве второго параметра, для ячейки, адрес которой определяется значениями Столбец и Строка.
MatrixGet("ИмяМатрицы[Столбец,Строка]","Переменная") считывает в указанную переменную индекс изображения из ячейки, адрес которой определяется значениями Столбец и Строка.
MXCOL - возвращает номер текущего столбца
MXROW - возвращает номер текущей строки
Таким образом, теперь мы можем задать любое изображение в адресуемой ячейке.
|
MatrixSet("ИмяМатрицы[Столбец,Строка]","Индекс")
|
|
|
Задает изображение, индекс которого указан в качестве второго параметра, для ячейки, адрес которой определяется значениями Столбец и Строка.
|
|
MatrixSet("MyMatrix[2,1]","2") MatrixSet("MyMatrix[4,3]","1") MatrixSet("MyMatrix[2,4]","3") MatrixSet("MyMatrix[4,4]","0")
Приведенные выше команды зададут следующие изображения в соответствующих ячейках:
Как заполнить всю матрицу определенным изображением?
RedBall=1
** Заполнение всей матрицы красными шариками
MatrixSet("MyMatrix[0,0]","RedBall")
Или как заполнить строку определенным изображением?
GreenBall=2
** Заполнение второй строки зелеными шариками
MatrixSet("MyMatrix[0,2]","GreenBall")
А как заполнить столбец определенным изображением?
BlueBall=3
** Заполнение четвертого столбца синими шариками
MatrixSet("MyMatrix[4,0]","BlueBall")
Как очистить всю матрицу или ее часть?
NullImage=0
** Заполнение всей матрицы пустым изображением
MatrixSet("MyMatrix[0,0]","NullImage")
** Заполнение второй строки пустым изображением
MatrixSet("MyMatrix[0,2]","NullImage")
** Заполнение четвертого столбца пустым изображением
MatrixSet("MyMatrix[4,0]","NullImage")
** Освобождение ячейки(3,2)
MatrixSet("MyMatrix[3,2]","NullImage")
|
|
|
А как насчет чтения из матрицы? |
|
|
MatrixGet("ИмяМатрицы[Столбец,Строка]","Переменная")
|
|
Считывает в указанную переменную индекс изображения из ячейки, адрес которой определяется значениями Столбец и Строка.
|
|
MatrixGet("MyMatrix[2,1]","CurrentImage")
Переменная CurrentImage будет содержать значение 2.
MatrixGet("MyMatrix[4,3]","CurrentImage")
Переменная CurrentImage будет содержать значение 1.
MatrixGet("MyMatrix[2,4]","CurrentImage")
Переменная CurrentImage будет содержать значение 3.
MatrixGet("MyMatrix[4,4]","CurrentImage")
Переменная CurrentImage будет содержать значение 0.
Примечание: если при использовании команды MatrixGet индекс столбца или строки превышает размерность матрицы, то переменная вернет значение -1.
MatrixGet("MyMatrix[7,5]","CurrentImage")
Переменная CurrentImage будет содержать значение -1, так как указанные индексы превышают размерность матрицы (4 х 4).
|
|
|
Как мы можем узнать, какая из ячеек активна (другим словами, какую ячейку выбрал пользователь)? Существуют две переменные, которые всегда содержат индексы активной ячейки. |
MXCOL - возвращает номер текущего столбца MXROW - возвращает номер текущей строки
MXCOL и MXROW возвращают нулевое значение, если ни одна ячейка не является активной.
|
|
** Чтение индекса изображения в активной ячейке
MatrixGet("MyMatrix[MXCOL,MXROW]","Index")
** Установка в активной ячейке изображения с индексом 2
GreenBall=2
MatrixSet("MyMatrix[MXCOL,MXROW]","GreenBall")
** Выбрана ли пользователем какая-либо ячейка?
If (MXCOL=0 & MXROW=0) Then
  Message("Вы должны выбрать шар","")
End
|
|
|