forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   2D-программирование (http://forum.boolean.name/forumdisplay.php?f=109)
-   -   Динамические массивы (http://forum.boolean.name/showthread.php?t=7905)

Randomize 01.03.2009 13:19

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

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

PHP код:

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 был динамический, при этом прибегать к типам не очень хочется.
Заранее спасибо.

jimon 01.03.2009 13:24

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

Randomize 01.03.2009 15:04

Ответ: Динамические массивы
 
Ааа жесть)))
Ничё не понял...
Спрошу так... Как сделать List и хранить в нём Integer`ы?

jimon 01.03.2009 15:36

Ответ: Динамические массивы
 
Randomize
нельзя так :)
пишешь тип в котором одно поле - integer, и хранишь этот тип в списке
крайний случай, переводить целое в строку и хранить строки

SBJoker 01.03.2009 15:48

Ответ: Динамические массивы
 
А что
Global arMap:int[,]

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

Уже неканает?

jimon 01.03.2009 16:14

Ответ: Динамические массивы
 
SBJoker
я блицмакс уже забыл :)

Randomize 03.03.2009 00:39

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

Цитата:

А что
Global arMap:int[,]

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

Уже неканает?
Да я деже этого не знал))
Новичок в BM я совсем.
Маленький ещё.
C ООП только работать умею, а азов увы не знаю :)))
Кроме клона Crimsonland пока ничего не делал.
Выкладывать не буду ибо стыдно.

cheaters-hater 06.08.2009 21:18

Ответ: Динамические массивы
 
Цитата:

Сообщение от SBJoker (Сообщение 99217)
А что
Global arMap:int[,]

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

Уже неканает?

в таком случае содержимое будет сбрасываться. все равно придется копировать сначала в левый массив а потом из левого в назад в "динамический"
:doof:
имхо bmx и так все сваливает на проц. лучше создать сразу большой массив и не парить цп.

SBJoker 06.08.2009 23:09

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

Когда ж народ читать то научится..ё маё...


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot