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=3181)

dimanche13 18.04.2007 17:23

Почему не компилируется? В чем ошибка?
 
Type Tmap
Field RowSize :Byte = 49 ' кол-во столбцов
Field ColSize :Byte = 49 ' кол-во строк
Field Offsety :Byte = 40 ' сдвиг от верхнего левого по У
Field Offsetx :Byte = 120 ' сдвиг от верхнего левого по Х
Field SquareSize :Byte = 8 ' размер клетки

Field MMap:Byte[RowSize , ColSize]

Function Create:Tmap()
Local x : Byte, y : Byte
Local M : Tmap = New Tmap

For x = 0 To 48
For y = 0 To (Rowsize-1)
M.MMap[x,y] = Rand(1,255)
Next
Next

Return M
End Function
end type

Local GameMap:Tmap = New Tmap.Create()

johnk 18.04.2007 17:30

Re: Почему не компилируется? В чем ошибка?
 
Что пишет, и куда ругается? ЗЫ С Днем Рождения! :)

dimanche13 18.04.2007 17:43

Re: Почему не компилируется? В чем ошибка?
 
Спасибо JohnK! Какой ты внимательный. А пишет вот что: Unhandled Exception:Attempt to index array element beyound array lenght OK?

а вот эта строчка по другому For x = 0 To 48
For x = 0 To (ColSize-1)

johnk 18.04.2007 17:47

Ошибка здесь
Цитата:

M.MMap[x,y] = Rand(1,255)
Ибо ты хочешь двумерному массиву присвоить число.

Больше ни чем помочь не могу, ибо не люблю, а соотвественно не шарю в массивах.

alcoSHoLiK 18.04.2007 18:06

Re: Почему не компилируется? В чем ошибка?
 
JohnK
Разве он не имеет на это морального права?)

dimanche13
Код:

For x = 0 To 48               
          For y = 0 To (M.Rowsize-1)
                M.MMap[x,y] = Rand(1,255)
        Next 
 Next


dimanche13 18.04.2007 18:09

Re: Почему не компилируется? В чем ошибка?
 
Двумерный массив это как таблица Excel или как поле в шахматах или как морской бой, кому как нравится. Просто строки пронумерованы и пронумерованы столбцы. Соответственно по известным координатам строки и столбца можно найти нужные данные. Например, в шахматах
Е2 -> пешка (строки-цыфры, столбцы-буквы) в морском бое допустим А1 -> подлодка... и т.д. Так что я просто перебираю в цикле строки и столбцы и заполняю их случайными данными. Никакой ошибки здесь нет.

dimanche13 18.04.2007 18:12

Re: Почему не компилируется? В чем ошибка?
 
:wallbash: Блин, ты ОХРЕНЕННО ПРАВ. Скорее сотрите эту тему чтобы никто не видел мою тупость. :@

johnk 18.04.2007 18:15

Re: Почему не компилируется? В чем ошибка?
 
Цитата:

Скорее сотрите эту тему чтобы никто не видел мою тупость.
И мою тоже... :lol:

alcoSHoLiK 18.04.2007 19:25

Re: Почему не компилируется? В чем ошибка?
 
dimanche13
Включи Strict, будет тебе счастье.

dimanche13 18.04.2007 21:26

Re: Почему не компилируется? В чем ошибка?
 
у меня включена SuperStrict. раньше программировал на С для микроконтроллеров. Надо привыкнуть к БМаху тогда не будет таких глупых ошибок.


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

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