Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > BlitzMax > 2D-программирование

Ответ
 
Опции темы
Старый 01.03.2009, 13:19   #1
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,355
Написано 2,471 полезных сообщений
(для 6,852 пользователей)
Динамические массивы

Помогите создать динамический массив в BlitzMax.
Пишу 2D редактор на BlitzMax.

Код следующий:

Global Map_TileSet:TImage
Global Map_Tileset_FileName:String
Global Map_Width:Int
Global Map_Height:Int
Global Map_Data:Int[5125122]


Function 
Map_Create()
    
Map_Width 10
    Map_Height 
10
     
For Local l:Int 0 To 2
      
For Local poy:Int 0 To 10
       
For Local pox:Int 0 To 10
        Map_Data
[poxpoyl] = - 1
       Next
      Next
     Next    
End 
Function 
Хочется чтоб Map_Data был динамический, при этом прибегать к типам не очень хочется.
Заранее спасибо.
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием
Старый 01.03.2009, 13:24   #2
jimon
 
Сообщений: n/a
Ответ: Динамические массивы

Randomize
делай масив указателей на масив указателей на целые числа и будет тебе 2д динамический масив
но тебе всё равно заранее прийдется знать размер масива перед его созданием (можно оформить это ввиде типа который сам будет пересоздавать масив и копировать старый с новый)

Последний раз редактировалось jimon, 01.03.2009 в 14:00.
 
Ответить с цитированием
Старый 01.03.2009, 15:04   #3
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,355
Написано 2,471 полезных сообщений
(для 6,852 пользователей)
Ответ: Динамические массивы

Ааа жесть)))
Ничё не понял...
Спрошу так... Как сделать List и хранить в нём Integer`ы?
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием
Старый 01.03.2009, 15:36   #4
jimon
 
Сообщений: n/a
Ответ: Динамические массивы

Randomize
нельзя так
пишешь тип в котором одно поле - integer, и хранишь этот тип в списке
крайний случай, переводить целое в строку и хранить строки
 
Ответить с цитированием
Старый 01.03.2009, 15:48   #5
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Динамические массивы

А что
Global arMap:int[,]

local x:int=256, y:int=256
arMap=new Int[x,y]

Уже неканает?
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Randomize (03.03.2009)
Старый 01.03.2009, 16:14   #6
jimon
 
Сообщений: n/a
Ответ: Динамические массивы

SBJoker
я блицмакс уже забыл
 
Ответить с цитированием
Старый 03.03.2009, 00:39   #7
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,355
Написано 2,471 полезных сообщений
(для 6,852 пользователей)
Ответ: Динамические массивы

Ух спасибо большое!
Низкий поклон.
Я уж думал на B3D писать + FastImage используя переDIMование.
Теперь и ключик на FastImage покупать не надо.

А что
Global arMap:int[,]

local x:int=256, y:int=256
arMap=new Int[x,y]

Уже неканает?
Да я деже этого не знал))
Новичок в BM я совсем.
Маленький ещё.
C ООП только работать умею, а азов увы не знаю ))
Кроме клона Crimsonland пока ничего не делал.
Выкладывать не буду ибо стыдно.
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием
Старый 06.08.2009, 21:18   #8
cheaters-hater
Оператор ЭВМ
 
Регистрация: 09.10.2007
Сообщений: 45
Написано 8 полезных сообщений
(для 16 пользователей)
Ответ: Динамические массивы

Сообщение от SBJoker Посмотреть сообщение
А что
Global arMap:int[,]

local x:int=256, y:int=256
arMap=new Int[x,y]

Уже неканает?
в таком случае содержимое будет сбрасываться. все равно придется копировать сначала в левый массив а потом из левого в назад в "динамический"

имхо bmx и так все сваливает на проц. лучше создать сразу большой массив и не парить цп.
(Offline)
 
Ответить с цитированием
Старый 06.08.2009, 23:09   #9
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Динамические массивы

Курите раздела хелпа по бмаксу Slices, там много интересного про инжексный доступ к символам в строке, в усечении строк и миссивов с любой стороны, и ресайз без потери данных.

Когда ж народ читать то научится..ё маё...
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
cheaters-hater (07.08.2009)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Lib_threads - динамические потоки (выполнение процедур в отдельных потоках, параллельно основной программе) minibt Библиотеки 7 15.01.2010 14:30
Массивы Petrofan 2D-программирование 74 04.03.2009 14:57
динамические массивы или их аналог ddwarf Основной форум 1 26.08.2008 00:18
Динамические массивы + перегруженный конструктор HolyDel C++ 6 03.05.2007 12:23


Часовой пояс GMT +4, время: 05:09.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com