IPB
ЛогинПароль:

 
 Ответить  Открыть новую тему 
> Aрканоид на Bordland Pascal, Массив как поле игры
Natalya
сообщение 3.03.2014 22:33
Сообщение #1





Группа: Пользователи
Сообщений: 3
Пол: Женский

Репутация: -  0  +


Привет) Пишу сюда впервые, как впрочем и впервые пишу свою игру. Мне очень нужна помощь людей с опытом написания подобных игр. Итак, я совершенно не понимаю, как представлять массив в качестве поля игры. Знаю только общую идею, что в массиве содержаться числа, которые определяют прочность блоков, но не представляю, как это реализовать, да еще и в графическом режиме...Помогите кто-нибудь, пожалуйста советом или кодом!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
OCTAGRAM
сообщение 4.03.2014 6:46
Сообщение #2


Концептуал
*

Группа: Пользователи
Сообщений: 20
Пол: Мужской
Реальное имя: Иван Левашев

Репутация: -  0  +


Я начинал с того, что заполнял массив рисунком и отрисовывал этот массив на экране.


--------------------
If you want to get to the top, you have to start at the bottom
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Natalya
сообщение 4.03.2014 20:32
Сообщение #3





Группа: Пользователи
Сообщений: 3
Пол: Женский

Репутация: -  0  +


Цитата(OCTAGRAM @ 4.03.2014 7:46) *

Я начинал с того, что заполнял массив рисунком и отрисовывал этот массив на экране.


А вы не могли бы пояснить, что имеете в виду?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
OCTAGRAM
сообщение 6.03.2014 6:23
Сообщение #4


Концептуал
*

Группа: Пользователи
Сообщений: 20
Пол: Мужской
Реальное имя: Иван Левашев

Репутация: -  0  +


Массив можно инициализировать константой


const MyArray : array[0 .. 6][0 .. 19] = (
(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
(0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0),
(0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0),
(0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0),
(0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0),
(0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0),
(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
);



Затем этот массив статично отрисовать.

Графический режим обычно либо 320x200 (256 цветов), либо 640x350 (16 цветов). Обычно, если инициализировать графику, будет 640x480 (16 цветов), он не подходит потому что в нём в видеопамять влезает только одна видеостраница, а для графики без мерцаний надо хотя бы две, но это уже на будущее, просто режим надо выбрать с самого начала, и в 640x480 будут проблемы.

Выбрав видеорежим, можно прикинуть, какие координаты будут у стен и блоков и отрисовать всё это.

Сообщение отредактировано: OCTAGRAM - 6.03.2014 6:24


--------------------
If you want to get to the top, you have to start at the bottom
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Natalya
сообщение 9.03.2014 16:54
Сообщение #5





Группа: Пользователи
Сообщений: 3
Пол: Женский

Репутация: -  0  +


Цитата(OCTAGRAM @ 6.03.2014 7:23) *

Массив можно инициализировать константой


const MyArray : array[0 .. 6][0 .. 19] = (
(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
(0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0),
(0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0),
(0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0),
(0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0),
(0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0),
(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
);



Затем этот массив статично отрисовать.

Графический режим обычно либо 320x200 (256 цветов), либо 640x350 (16 цветов). Обычно, если инициализировать графику, будет 640x480 (16 цветов), он не подходит потому что в нём в видеопамять влезает только одна видеостраница, а для графики без мерцаний надо хотя бы две, но это уже на будущее, просто режим надо выбрать с самого начала, и в 640x480 будут проблемы.

Выбрав видеорежим, можно прикинуть, какие координаты будут у стен и блоков и отрисовать всё это.

спасибо) попробую сделать так)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 16.11.2024 9:21
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"