Я пишу программу, которая принимает координаты от пользователя и рисования некоторые фигуры на экране со звездами (*)рисунок прямоугольник
например прямоугольник т.е. прямоугольник = 100,150,50,50, как х, у, ширина, высота , как мне это сделать??
Я пишу программу, которая принимает координаты от пользователя и рисования некоторые фигуры на экране со звездами (*)рисунок прямоугольник
например прямоугольник т.е. прямоугольник = 100,150,50,50, как х, у, ширина, высота , как мне это сделать??
Я думаю, что этот учебник очень полезно для вас: http://download.oracle.com/javase/tutorial/2d/geometry/primitives.html
спасибо Алекс, но я не буду использовать GUI, я просто рисую фигуры с петлями. –
Что рисунок со звездами "есть? Если это текстовый режим с моноширинным шрифтом, вам нужно распечатать его в горизонтальных линиях звезд, вычисляя правильные длины. Для прямоугольников это легко, для треугольников, немного менее просто, пятиугольник - это просто комбинация прямоугольника и некоторых треугольников. См. Bresenham algorithm для вдохновения.
Также обратите внимание, что разрешение текстового режима довольно плохое; стандартное оконечное окно шириной всего лишь 80 символов, и вы вряд ли можете получить его гораздо шире, чем 200-300 символов, поэтому важно правильное округление.
yes..triangle легко я сделал это, но другие выглядят трудными –
пентагон не очень сложно сломать на легкие куски:! [4 треугольника и прямоугольник] (http://i.min.us/idH51K.png) , – 9000
Если это только прямоугольные, а затем положить его в вашем методе краски должны работать ...
int xIncrement = (int)g.getFont().getStringBounds("*", null).getWidth();
int yIncrement = (int)g.getFont().getStringBounds("*", null).getHeight();
for(int i = y; i < y + height; i += xIncrement)
for(int j = x; j < x + width; j += yIncrement)
g.drawString("*", j, i);
Для треугольников и других фигур, это немного сложнее, но вы можете фигуры из градиентов линий разделения точек и, следовательно, получить начальную х для каждой линии.
Как правило, стараются избегать «звезда рисунок» ...
Ниже от javadoc
х - новые координаты х для верхнего левого угла прямоугольника у - новая координата для верхнего левого угла этого прямоугольник
Если вы не имеете в виду графический интерфейс, то Y координата может быть количеством линий вы ч ave, чтобы «пропустить», а координата x похожа на количество пробелов, которые вы ввели в строку.
Итак, в основном, x = 2 и y = 3 означает, что вам нужно будет спуститься по 3 линиям и переместить 2 пробела вправо.
нет только на экране со звездами –
Можете ли вы перечислить все формы, которые вам нужны для поддержки? –
прямоугольник, triangleisquare и pentagon..I принимаю координаты от пользователя –