Lugavchik
17:18 04-11-2008 Аватарки

Сотворил себе 4 аватарки. Может какую-нибудь сделать основной?

[изображение] [изображение] [изображение] [изображение]


Комментарии:
рыбка
18:58 04-11-2008
ахахахах))) класснецкие аватарки =)

можно вопрос?
Lugavchik
19:09 04-11-2008
вопрос можно всегда.
рыбка
19:11 04-11-2008
ты дельфи знаешь?
рыбка
19:12 04-11-2008
это подвопрос
Lugavchik
19:15 04-11-2008
смотря на каком уровне и что там надо сделать.
рыбка
19:18 04-11-2008
дан двумерный массив, в нем имеются фигуры (нарисованные точками как я поняла), 1-закрашенная точка, 0-не закрашенная. при нажатии мышкой на фигуру она должна закрашиваться.
я не понимаю как в двумерном массиве рисовать фигуры, для начала...
Слоненок
00:00 05-11-2008
первую:)
Lugavchik
00:12 05-11-2008
рыбка Как определяются массивы знаешь? (я немного подзабыл, про двухмерные)
Значит массив у тебя будет состоять из строк, в которых будет одинаковое количество элементов. В качестве примера берёшь лист бумаги в клеточку и обводишь прямоугольник, в котором есть строки и ячейки в строках (столбцы)
0 белая клеточка, 1 чёрная. Можено купить японский кроссоврд и взять картинку из обучения, она там 10х10.

Теперь главное понять как закрашивать и насколько большой может быть массив.

Если ткнули в точку k,l, то мы проверяем есть ли там 1, если есть, то закрашиваем (наверное на экране) И вызываем проверку для точек с 4 сторон. Ещё, наверное, стоит эту точку пометить закрашенной, тоесть приравнять её 2-м. и закрашивать только 1-чки.

Это метод с рекурсией.


Слоненок Спасибо. Поставила.
рыбка
07:56 05-11-2008
т.е. ты имеешь ввиду закрашивать линию прямоугольника? т.к. его линии - это есть точки которые равны 1, правильно? так вот закрасить его нужно внутри. (думаю границу не обязательно закрашивать. уточню сегодня)

получается мы ткнули в точку k, l если там 0? но эта точка находится внутри фигуры мы должны пройтись в четыре стороны от нее? до тех пор пока с четырех сторон не найдем точки которые равны 1? если нашли всего 3 точки, то мы находимся на нашем холсте, а жти три точки - это начала трех фигур, мы в нее не ткнули получается... я правильно понимаю?

и да. метод точно должен быть с рекурсией.. мне что только её и дают=(((
Lugavchik
08:03 05-11-2008
не правильно.
я так понимаю, что в матрице у нас указано что-то типа:
0000110000
0011111100
0111001110
0110000110
1100000011
1100000011
0110000110
0111001110
0011111100
0000110000

Уточни, как должна происходить закраска, и что у нас отмечают 1-чки.
рыбка
19:22 05-11-2008
0-пустая клетка
1-контур фигуры (там черный цвет к примеру)
2-цвет заливки фигуры

я так поняла что примерно как в пэйнте - когда мы рисуем фигуру какую-то и заливаем..

к примеру мы тыкаем в точку k, l , если ее значение "0" - то закрашиваем ее, далее по часовой стрелке заливаем 8 точек вокруг нее (проверяя не равна ли какая из этих точек "1" - т.е. контуру) , далее переходим на след.точку (например k, l+1 ) вокруг нее уже какие то точки закрашены цветом 2, точно так же проверяем нет ли там контура. т.о. мы закрашиваем только те точки которые равны "0". правильно я вижу реализацию этой задачи?????
Гость
14:40 06-11-2008
рыбка надо узнать и препода. Может закрашивается только, то, что с единичками.

Или надо просто обойти все клеточки, в фигуре из 1-ничек.
Lugavchik
14:47 06-11-2008
рыбка
У нас есть:
const xmax=10;
ymax=10;

var
mas: array of [1..xmax,1..ymax] of byte;

Процедура заливки:
procedure FillPoint(i,j:integer);
begin
if (i<=0) or (i> xmax) or (j<=0) or (j>ymax) or (mas[i,j]<>1) then break;
mas[i,j]:=2;
FillPoint(i-1,j);
FillPoint(i,j-1);
FillPoint(i+1,j);
FillPoint(i,j+1);
end;
рыбка
19:21 07-11-2008
Гость не совсем поняла, да не важно) спасибо)

Lugavchik тоже спасибо большое, просто ход мыслей моих не правелен разве???
Lugavchik
19:38 07-11-2008
рыбка под гостем был я.
Представь мне правильное ТЗ. Ибо вариант с фигурами мне оказался не понятен.
рыбка
20:41 07-11-2008
да нету никакого ТЗ=) эта задача была изложена устно.
имеется двумерный массив, в котором рисуются фигуры (представь себе как в пэйнте открываешь чистый холст, выбираешь карандаш и начинаешь рисовать фигуры разной степени сложности) и вот при нажатии на какую то часть фигуры (замкнутую) она закрашивается в какой-то цвет.
цет холста - 0, цвет контура - 1, цвет заливки - 2. в кач-ве примера картинку прикрепляю:
[изображение]