id клетки
Создаю поле 20x20
как мне для каждой клетке создать свою номер(id) Цитата:
|
Ответ: id клетки
например (не точно но суть ясна)
v.id$=int(str(i)+str(j)) |
Ответ: id клетки
не понимаю(
зачем тут str? |
Ответ: id клетки
Вот попробуй так
V.id=j+(i-1)*size |
Ответ: id клетки
в таком случае обратный вопрос!
Какой формулой(законом) вы руководствуетесь? |
Ответ: id клетки
Я ведь программист, я всё придумываю сам, ТАРАМ-ПАМ-ПАМ. Так что мыслим и думаем товарищи
|
Ответ: id клетки
G.A.D
тут бесконечное количество вариантов, по-сути ты хочешь от нас некую функцию z = f(x,y), которых может сколько угодно много как вариант использовать перевод двух индексов 2д массива в 1 индекс 1д массива, те Z = Y * array_width_size + X (по-сути это и происходит с двумя индексами когда ты обращаешься к 2д массиву, потому что 2д массив в памяти это 1д массив и компилятор просто переводит 2 индекса в 1 индекс) |
Ответ: id клетки
G.A.D: Такие вещи лучше массивом сразу делать и с типом не париться...
|
Ответ: id клетки
Ага, и создавать НЕСКОЛЬКО массивов чтобы загнать все необходимые свойства ОДНОГО объекта. Это конечно же во много раз легче, чем создать ОДИН тип. Спасибо Капитан Легкий Путь, вы нам помогли
|
Ответ: id клетки
Нафига тут несколько массивов? Тут как раз одним все обходится..
У него же не присваивается каждой клеточке уникальное имя.. Карту (или поверхность) как раз удобнее описывать через массив! А в другом случае, с разными типами данных уже лучше использовать тип.. Я не прав?))) |
Ответ: id клетки
Массив, может хранить хэндлы на элементы из класса. Для этого, изучите функции Handle и Object.
Инфа по этим функциям, на этом форуме обсуждалась многократно. |
Ответ: id клетки
Спасибо!
У меня есть массив Код:
massiv:int=[1,0,0,1,.. притом не в одну строку? а примерно так 1,0,0,1 1,0,0,1 0,1,1,0 |
Ответ: id клетки
как в блицу можно, командами
Writeline Readline |
Ответ: id клетки
Я наверное не так сформулировал задачу
надо чтоб в каждой строчке было по 4 символа как в массиве) затем следующая строка по 4 символа т.е 1,1,1,1, 0,1,1,0 1,1,1,1 а не 1,1,1,1,0,1,1,0,1,1,1,1 |
Ответ: id клетки
А зачем? Храни всё в битах, первым, запиши размер массива:
WriteInt(file,mwidth) Затем высоту: WriteInt(file,mheight) Замет циклом: For y=0 to mwidth-1 For x=0 to mheight-1 WriteByte(file,massive[x,y]) Next Next Читать также, сперва читаешь размер, потом вычитываешь данные. При этом, хранить всё в бинарном виде, а не в строках, намного лучше, и защищённей.. (да и со строками медленно работать) |
Часовой пояс GMT +4, время: 04:34. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot