Двухмерные массивы

Содержание

Слайд 2

Слайд 3

Переменные, структуры, массивы, массивы структур

Переменные, структуры, массивы, массивы структур

Слайд 4

Лекция 2. «Покупаем квартиру» Вводится площадь квартиры и стоимость квадратного метра.

Лекция 2. «Покупаем квартиру»

Вводится площадь квартиры и стоимость квадратного метра.
Выводится сколько

будет стоить эта квартира.
Слайд 5

Лекция 2. «Покупаем квартиру» Вводится площадь квартиры и стоимость квадратного метра.

Лекция 2. «Покупаем квартиру»

Вводится площадь квартиры и стоимость квадратного метра.
Выводится сколько

будет стоить эта квартира.
Слайд 6

Лекция 7. «Рисуем много линий из центра» case WM_PAINT: { PAINTSTRUCT

Лекция 7. «Рисуем много линий из центра»

case WM_PAINT:
{
PAINTSTRUCT ps;
HDC

hdc = BeginPaint(hWnd, &ps);
RECT rect;
GetClientRect(hWnd, &rect);
int cx = rect.right / 2;
int cy = rect.bottom / 2;
int x = 0;
while (x < rect.right) {
MoveToEx(hdc, cx, cy, NULL);
LineTo(hdc, x, 5);
x += 20;
}
EndPaint(hWnd, &ps);
}
Слайд 7

Лекция 7. «Рисуем много линий из центра» case WM_PAINT: { PAINTSTRUCT

Лекция 7. «Рисуем много линий из центра»

case WM_PAINT:
{
PAINTSTRUCT ps;
HDC

hdc = BeginPaint(hWnd, &ps);
RECT rect;
GetClientRect(hWnd, &rect);
int cx = rect.right / 2;
int cy = rect.bottom / 2;
int x = 0;
while (x < rect.right) {
MoveToEx(hdc, cx, cy, NULL);
LineTo(hdc, x, 5);
x += 20;
}
EndPaint(hWnd, &ps);
}
Слайд 8

Лекция 9. «Массив грибов» // Координаты грибов // количество грибов #define

Лекция 9. «Массив грибов»

// Координаты грибов
// количество грибов
#define NUM_MUSHROOMS 12
// координата

Х каждого гриба
int MushroomX[NUM_MUSHROOMS] = { 200, 220, 240, 260, 300, 400, 420, 440,
460, 480, 500, 520 };
// координата Y каждого гриба
int MushroomY[NUM_MUSHROOMS] = { 400, 350, 300, 250, 300, 200, 100, 200,
100, 140, 120, 100 };
// виден ли гриб? (для каждого гриба!)
int MushroomVisible[NUM_MUSHROOMS] = { 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1 };

В игре нужно собрать все грибы. В массивах MushroomX и MushroomY хранятся координаты каждого гриба. В массиве MushroomVisible хранится признак – «виден» / «не виден».

Слайд 9

Лекция 9. «Массив грибов» // Координаты грибов // количество грибов #define

Лекция 9. «Массив грибов»

// Координаты грибов
// количество грибов
#define NUM_MUSHROOMS 12
// координата

Х каждого гриба
int MushroomX[NUM_MUSHROOMS] = { 200, 220, 240, 260, 300, 400, 420, 440,
460, 480, 500, 520 };
// координата Y каждого гриба
int MushroomY[NUM_MUSHROOMS] = { 400, 350, 300, 250, 300, 200, 100, 200,
100, 140, 120, 100 };
// виден ли гриб? (для каждого гриба!)
int MushroomVisible[NUM_MUSHROOMS] = { 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1 };

В игре нужно собрать все грибы. В массивах MushroomX и MushroomY хранятся координаты каждого гриба. В массиве MushroomVisible хранится признак – «виден» / «не виден».

Слайд 10

Лекция 7 «Массивы&Структуры – пример – Polygon» HBRUSH hBrush = CreateHatchBrush(HS_CROSS,

Лекция 7 «Массивы&Структуры – пример – Polygon»

HBRUSH hBrush = CreateHatchBrush(HS_CROSS, RGB(128,

0, 128));
SelectObject(hdc, hBrush);
Ellipse(hdc, 0, 0 , 160, 120);
HBRUSH hBrush2 = CreateHatchBrush(HS_DIAGCROSS, RGB(128, 0, 128));
SelectObject(hdc, hBrush2);
POINT pt[5];
pt[0].x = 100;
pt[0].y = 50;
pt[1].x = 150;
pt[1].y = 100;
pt[2].x = 150;
pt[2].y = 150;
pt[3].x = 50;
pt[3].y = 150;
pt[4].x = 50;
pt[4].y = 100;
Polygon(hdc, pt, 5);
Слайд 11

Лекция 7 «Массивы&Структуры – пример – Polygon» HBRUSH hBrush = CreateHatchBrush(HS_CROSS,

Лекция 7 «Массивы&Структуры – пример – Polygon»

HBRUSH hBrush = CreateHatchBrush(HS_CROSS, RGB(128,

0, 128));
SelectObject(hdc, hBrush);
Ellipse(hdc, 0, 0 , 160, 120);
HBRUSH hBrush2 = CreateHatchBrush(HS_DIAGCROSS, RGB(128, 0, 128));
SelectObject(hdc, hBrush2);
POINT pt[5];
pt[0].x = 100;
pt[0].y = 50;
pt[1].x = 150;
pt[1].y = 100;
pt[2].x = 150;
pt[2].y = 150;
pt[3].x = 50;
pt[3].y = 150;
pt[4].x = 50;
pt[4].y = 100;
Polygon(hdc, pt, 5);
Слайд 12

Слайд 13

Двухмерные массивы в Си

Двухмерные массивы в Си

Слайд 14

Двухмерные массивы – пример 1 #include void main() { printf("main() start!\n");

Двухмерные массивы – пример 1

#include
void main() {
printf("main() start!\n");
int a[2][3];
a[0][0] =

1;
a[0][1] = 10;
a[0][2] = 100;
a[1][0] = 2;
a[1][1] = 20;
a[1][2] = 200;
printf("%d %d %d \n %d %d %d \n\n", a[0][0], a[0][1], a[0][2], a[1][0], a[1][1], a[1][2]);
int b[3][4] = { {1, 2, 3, 4}, {11, 12, 13, 14}, {21, 22, 23, 24} };
printf("%d %d %d %d \n", b[0][0], b[0][1], b[0][2], b[0][3]);
printf("%d %d %d %d \n", b[1][0], b[1][1], b[1][2], b[1][3]);
printf("%d %d %d %d \n", b[2][0], b[2][1], b[2][2], b[2][3]);
printf("main() finish!\n");
}
Слайд 15

Двухмерные массивы – пример 1 #include void main() { printf("main() start!\n");

Двухмерные массивы – пример 1

#include
void main() {
printf("main() start!\n");
int a[2][3];
a[0][0] =

1;
a[0][1] = 10;
a[0][2] = 100;
a[1][0] = 2;
a[1][1] = 20;
a[1][2] = 200;
printf("%d %d %d \n %d %d %d \n\n", a[0][0], a[0][1], a[0][2], a[1][0], a[1][1], a[1][2]);
int b[3][4] = { {1, 2, 3, 4}, {11, 12, 13, 14}, {21, 22, 23, 24} };
printf("%d %d %d %d \n", b[0][0], b[0][1], b[0][2], b[0][3]);
printf("%d %d %d %d \n", b[1][0], b[1][1], b[1][2], b[1][3]);
printf("%d %d %d %d \n", b[2][0], b[2][1], b[2][2], b[2][3]);
printf("main() finish!\n");
}
Слайд 16

Двухмерные массивы – пример 1 int a[2][3]; a[0][0] = 1; a[0][1]

Двухмерные массивы – пример 1

int a[2][3];
a[0][0] = 1;
a[0][1] = 10;
a[0][2] =

100;
a[1][0] = 2;
a[1][1] = 20;
a[1][2] = 200;
int b[3][4] = { {1, 2, 3, 4}, {11, 12, 13, 14}, {21, 22, 23, 24} };
Слайд 17

Двухмерные массивы – пример 2 #include void main() { printf("main() start!\n");

Двухмерные массивы – пример 2

#include
void main() {
printf("main() start!\n");
int a[2][3];
a[0][0] =

1;
a[0][1] = 10;
a[0][2] = 100;
a[1][0] = 2;
a[1][1] = 20;
a[1][2] = 200;
int b[3][4] = { {1, 2, 3, 4}, {11, 12, 13, 14}, {21, 22, 23, 24} };
int i, j;
for (i = 0; i < 2; i++) {
for (j = 0; j < 3; j++) {
printf("%d", a[i][j]);
}
}
for (i = 0; i < 3; i++) {
for (j = 0; j < 4; j++) {
printf("%d", b[i][j]);
}
}
printf("main() finish!\n");
}
Слайд 18

Двухмерные массивы – пример 3 #include void main() { printf("main() start!\n");

Двухмерные массивы – пример 3

#include
void main() {
printf("main() start!\n");
int a[2][3];
a[0][0] =

1;
a[0][1] = 10;
a[0][2] = 100;
a[1][0] = 2;
a[1][1] = 20;
a[1][2] = 200;
int b[3][4] = { {1, 2, 3, 4}, {11, 12, 13, 14}, {21, 22, 23, 24} };
int i, j;
for (i = 0; i < 2; i++) {
for (j = 0; j < 3; j++) {
printf("%d ", a[i][j]);
}
}
for (i = 0; i < 3; i++) {
for (j = 0; j < 4; j++) {
printf("%d ", b[i][j]);
}
}
printf("main() finish!\n");
}
Слайд 19

Двухмерные массивы – пример 4 #include void main() { printf("main() start!\n");

Двухмерные массивы – пример 4

#include
void main() {
printf("main() start!\n");
int a[2][3];
a[0][0] =

1;a[0][1] = 10;a[0][2] = 100;
a[1][0] = 2;a[1][1] = 20;a[1][2] = 200;
int b[3][4] = { {1, 2, 3, 4}, {11, 12, 13, 14}, {21, 22, 23, 24} };
for (i = 0; i < 2; i++) {
for (j = 0; j < 3; j++) {
printf("%d ", a[i][j]);
}
printf("\n");
}
printf("\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 4; j++) {
printf("%d ", b[i][j]);
}
printf("\n");
}
printf("\n");
printf("main() finish!\n");
}
Слайд 20

Двухмерные массивы – пример 5 #include void main() { printf("main() start!\n");

Двухмерные массивы – пример 5

#include
void main() {
printf("main() start!\n");
int a[2][3];
a[0][0] =

1;a[0][1] = 10;a[0][2] = 100;
a[1][0] = 2;a[1][1] = 20;a[1][2] = 200;
int b[3][4] = { {1, 2, 3, 4}, {11, 12, 13, 14}, {21, 22, 23, 24} };
for (i = 0; i < 2; i++) {
for (j = 0; j < 3; j++) {
printf("%3d ", a[i][j]);
}
printf("\n");
}
printf("\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 4; j++) {
printf("%3d ", b[i][j]);
}
printf("\n");
}
printf("\n");
printf("main() finish!\n");
}
Слайд 21

Слайд 22

Двухмерный массив в Си Некоторые операции

Двухмерный массив в Си Некоторые операции

Слайд 23

Вывод элементов массива #include #include #define MAX_N 8 #define MAX_M 10

Вывод элементов массива

#include
#include
#define MAX_N 8
#define MAX_M 10
int arr[MAX_N][MAX_M] =

{
{ 0, 1, 222, 3},
{10, 11, 12, 13},
{20, 21, 22, 23}
};
int n = 3;
int m = 4;
void print() {
printf("!!!! print() !!!!\n");
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
printf("%3d ", arr[i][j]);
}
printf("\n");
}
void main() {
print();
}
Слайд 24

Заполнение значениями i * 10 + j void fillIx10() { printf("!!!!

Заполнение значениями i * 10 + j

void fillIx10() {
printf("!!!! fillIx10() !!!!\n");
for

(int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
arr[i][j] = i * 10 + j;
}
}
}
void main() {
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
fillIx10();
print();
}
Слайд 25

Заполнение значениями 0 void fillZero() { printf("!!!! fillZero() !!!!\n"); for (int

Заполнение значениями 0

void fillZero() {
printf("!!!! fillZero() !!!!\n");
for (int i = 0;

i < n; i++) {
for (int j = 0; j < m; j++) {
arr[i][j] = 0;
}
}
}
void main() {
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
fillIx10();
print();
fillZero();
print();
}
Слайд 26

Заполнение случайными значениями void randFill0_9() { printf("!!!! randFill0_9() !!!!\n"); for (int

Заполнение случайными значениями

void randFill0_9() {
printf("!!!! randFill0_9() !!!!\n");
for (int i = 0;

i < n; i++) {
for (int j = 0; j < m; j++) {
arr[i][j] = rand() % 10;
}
}
}
void main() {
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
randFill0_9();
print();
randFill0_9();
print();
randFill0_9();
print();
}
Слайд 27

Поиск минимального элемента void findMin() { printf("!!!! findMin() !!!!\n"); int min

Поиск минимального элемента

void findMin() {
printf("!!!! findMin() !!!!\n");
int min = arr[0][0];
int iMin

= 0;
int jMin = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (arr[i][j] < min) {
min = arr[i][j];
iMin = i;
jMin = j;
}
}
}
printf("min = %d\n", min);
printf("imin = %d\n", iMin);
printf("jmin = %d\n", jMin);
}
void main() {
print();
findMin();
}
Слайд 28

Удалить строку void deleteRow(int delRow) { printf("!!!! deleteRow(%d) !!!!\n", delRow); for

Удалить строку

void deleteRow(int delRow) {
printf("!!!! deleteRow(%d) !!!!\n", delRow);
for (int i

= delRow; i < n - 1; i++) {
for (int j = 0; j < m; j++) {
arr[i][j] = arr[i + 1][j];
}
}
n--;
}
void main() {
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
print();
int num;
printf("Номер строки, которую нужно удалить: ");
scanf_s("%d", &num);
deleteRow(num);
print();
}
Слайд 29

Вставить столбец void addColumn0() { printf("!!!! addColumn0() !!!!\n"); if (m for

Вставить столбец

void addColumn0() {
printf("!!!! addColumn0() !!!!\n");
if (m < MAX_M) {
for

(int i = 0; i < n; i++) {
arr[i][m] = 0;
}
m++;
}
}
void main() {
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
print();
addColumn0();
print();
}
Слайд 30

Слайд 31

Лабораторная работа №18 Простейшие операции с двухмерными массивами

Лабораторная работа №18

Простейшие операции с двухмерными массивами

Слайд 32

Задача 1. Создать консольное меню Создать меню, при помощи которого можно

Задача 1. Создать консольное меню

Создать меню, при помощи которого можно выбирать

операции над двухмерным массивом. Выводить состояние массива перед каждым обращении к меню.
Слайд 33

Задача 2. Реализовать операции Прикрутить операции, ранее разобранные в лекции: Заполнить

Задача 2. Реализовать операции

Прикрутить операции, ранее разобранные в лекции:
Заполнить значениями i

* 10 + j
Заполнить нулями
Заполнить случайными значениями
Слайд 34

Задача 3. Реализовать операцию Реализовать и прикрутить к меню операцию –

Задача 3. Реализовать операцию

Реализовать и прикрутить к меню операцию – «Все

нечетные увеличить в 10 раз»
Слайд 35

Задача 4. Реализовать операцию Реализовать и прикрутить к меню операцию –

Задача 4. Реализовать операцию

Реализовать и прикрутить к меню операцию – «Все

кратные 10 уменьшить в 10 раз»
Слайд 36

Домашнее задание по ЛР18 Доделать задачи 1-4. 2) Добавить в программу

Домашнее задание по ЛР18

Доделать задачи 1-4.
2) Добавить в программу возможность ввода

массива с клавиатуры
3) * удалить заданную строку из массива
4) * вставить в конец массива столбец, содержащий нули
5) * элементы стоящие левее максимального увеличить в 2 раза
5) * элементы стоящие ниже максимального увеличить в 5 раз
Слайд 37

ИТОГО по ЛР18 Познакомились с несколькими операциями над двухмерными массивами

ИТОГО по ЛР18

Познакомились с несколькими операциями над двухмерными массивами

Слайд 38

Слайд 39

Использование двухмерного массива для игры

Использование двухмерного массива для игры

Слайд 40

Как представить карту #define N 10 #define M 15 // Коды

Как представить карту

#define N 10
#define M 15
// Коды ячеек:
// 0 -

свободна
// 1 - игрок
// 2 - препятствие
// 3 - золото
int map[N][M] = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0},
{0, 0, 0, 3, 3, 3, 3, 0, 0, 0, 3, 3, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 3, 3, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 3, 3, 3, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 2, 0, 0, 2, 0},
{0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 2, 0},
{0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
};
Слайд 41

Как представить карту #define N 10 #define M 15 // Коды

Как представить карту

#define N 10
#define M 15
// Коды ячеек:
// 0 -

свободна
// 1 - игрок
// 2 - препятствие
// 3 - золото
int map[N][M] = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0},
{0, 0, 0, 3, 3, 3, 3, 0, 0, 0, 3, 3, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 3, 3, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 3, 3, 3, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 2, 0, 0, 2, 0},
{0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 2, 0},
{0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
};
Слайд 42

Как нарисовать карту (1) #define WIDTH 30 #define HEIGHT 20 void

Как нарисовать карту (1)

#define WIDTH 30
#define HEIGHT 20
void drawMap(HDC hdc) {
//

кисть для пустого поля
HBRUSH hBrushEmptyCell = CreateSolidBrush(RGB(200, 200, 200)); // серый
// кисть для поля с золотом
HBRUSH hBrushGold = CreateSolidBrush(RGB(255, 255, 0)); // желтый
// кисть для стены
HBRUSH hBrushWall = CreateSolidBrush(RGB(0, 0, 0)); // черный
// кисть для игрока
HBRUSH hBrushMan = CreateSolidBrush(RGB(0, 0, 255)); // синий
// Коды ячеек:
// 0 - свободна
// 1 - игрок
// 2 - препятствие
// 3 - золото
HBRUSH brush[4] = { hBrushEmptyCell, hBrushMan, hBrushWall, hBrushGold };
Слайд 43

Как нарисовать карту (2) int i, j; for (i = 0;

Как нарисовать карту (2)

int i, j;
for (i = 0; i <

N; i++) {
for (j = 0; j < M; j++) {
int x1 = j * WIDTH;
int x2 = (j + 1) * WIDTH;
int y1 = i * HEIGHT;
int y2 = (i + 1) * HEIGHT;
RECT r = { x1, y1, x2, y2 };
FillRect(hdc, &r, brush[map[i][j]]);
}
}
// Все кисти удаляем!!!
for (i = 0; i < 4; i++)
DeleteObject(brush[i]);
}
Слайд 44

Как героев подвинуть влево int steps = 0; int gold =

Как героев подвинуть влево

int steps = 0;
int gold = 0;
void Left()

{
int i, j;
for (i = 0; i < N; i++) {
for (j = 1; j < M; j++) {
if (map[i][j] == 1) { // если в map[i][j] игрок
if (map[i][j - 1] == 0) { // если слева от игрока - пустая клетка
map[i][j - 1] = 1;
map[i][j] = 0;
steps++;
}
else if (map[i][j - 1] == 3) {// если слева от игрока - золото
map[i][j - 1] = 1;
map[i][j] = 0;
steps++;
gold++;
}
}
}
}
}
Слайд 45

Как героев подвинуть вправо void Right() { int i, j; for

Как героев подвинуть вправо

void Right() {
int i, j;
for (i = 0;

i < N; i++) {
for (j = M - 2; j >= 0; j--) {
if (map[i][j] == 1) { // если в map[i][j] игрок
if (map[i][j + 1] == 0) {
map[i][j + 1] = 1;
map[i][j] = 0;
steps++;
}
else if (map[i][j + 1] == 3) {
map[i][j + 1] = 1;
map[i][j] = 0;
steps++;
gold++;
}
}
}
}
}
Слайд 46

Как героев подвинуть вверх void Up() { int i, j; for

Как героев подвинуть вверх

void Up() {
int i, j;
for (i = 1;

i < N; i++) {
for (j = 0; j < M; j++) {
if (map[i][j] == 1) { // если в map[i][j] игрок
if (map[i - 1][j] == 0) {
map[i - 1][j] = 1;
map[i][j] = 0;
steps++;
}
else if (map[i - 1][j] == 3) {
map[i - 1][j] = 1;
map[i][j] = 0;
steps++;
gold++;
}
}
}
}
}
Слайд 47

Как управлять перемещением героев case WM_KEYDOWN: switch (wParam) { case VK_DOWN:

Как управлять перемещением героев

case WM_KEYDOWN:
switch (wParam)
{
case VK_DOWN:

Down();
InvalidateRect(hWnd, NULL, TRUE);
break;
case VK_LEFT:
Left();
InvalidateRect(hWnd, NULL, TRUE);
break;
case VK_UP:
Up();
InvalidateRect(hWnd, NULL, TRUE);
break;
case VK_RIGHT:
Right();
InvalidateRect(hWnd, NULL, TRUE);
break;
}
break;
Слайд 48

Как отрисовывать карту case WM_PAINT: { PAINTSTRUCT ps; HDC hdc =

Как отрисовывать карту

case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hdc =

BeginPaint(hWnd, &ps);
// TODO: Добавьте сюда любой код прорисовки, использующий HDC...
drawMap(hdc);
EndPaint(hWnd, &ps);
}
break;
Слайд 49

Слайд 50

Лабораторная работа №19 Применение двухмерных массивов в играх

Лабораторная работа №19

Применение двухмерных массивов в играх

Слайд 51

Задача 1. Собрать игру из кода Из кода, предоставленного выше в

Задача 1. Собрать игру из кода

Из кода, предоставленного выше в данной

лекции нужно собрать заготовку игры.
Слайд 52

Задача 2. Доделать управление В коде выше нет перемещения героев вниз.

Задача 2. Доделать управление

В коде выше нет перемещения героев вниз. Нужно

создать код, который будет обеспечивать перемещение героев вниз!
Слайд 53

Задача 3*. При нажатии клавиши ‘L’ слева от игрока вставить элемент стены.

Задача 3*.

При нажатии клавиши ‘L’ слева от игрока вставить элемент стены.

Слайд 54

Задача 4*. При нажатии клавиши ‘R’ непосредственно справа от игрока вставить элемент стены.

Задача 4*.

При нажатии клавиши ‘R’ непосредственно справа от игрока вставить элемент

стены.
Слайд 55

Домашнее задание Доделать задачи 1-4 Задача 5 Придумать что-то на нажатие

Домашнее задание

Доделать задачи 1-4
Задача 5
Придумать что-то на нажатие клавиши U (Up

– «вверх»)и реализовать это (стена/ золото создать/разрушить) для клетки выше игрока
Задача 6.
Придумать что-то на нажатие клавиши D (Down – «вниз») и реализовать это (стена/ золото создать/разрушить) для клетки ниже игрока
Слайд 56