Saya sedang menulis program yang menerima koordinat dari pengguna dan menggambar beberapa bentuk di layar dengan bintang(*)
misal Persegi Panjang yaitu persegi panjang=100,150,50,50 dengan x,y,lebar,tinggi. bagaimana saya bisa melakukannya??
Saya sedang menulis program yang menerima koordinat dari pengguna dan menggambar beberapa bentuk di layar dengan bintang(*)
misal Persegi Panjang yaitu persegi panjang=100,150,50,50 dengan x,y,lebar,tinggi. bagaimana saya bisa melakukannya??
Saya rasa tutorial ini sangat berguna bagi Anda: http://download.Oracle.com/javase/tutorial/2d/geometry/primitives.html
Apa itu 'menggambar dengan bintang'? Jika ini adalah mode teks dengan font monospace, Anda harus mencetaknya dalam garis bintang horizontal, dengan menghitung panjang yang tepat. Untuk persegi panjang caranya mudah, untuk segitiga agak kurang mudah, segi lima hanyalah gabungan dari persegi panjang dan beberapa segitiga. Lihat Algoritme Bresenham untuk mendapatkan inspirasi.
Perhatikan juga bahwa resolusi mode teks sangat buruk; jendela terminal standar hanya memiliki lebar 80 karakter, dan Anda hampir tidak dapat memilikinya jauh lebih lebar daripada katakanlah 200-300 karakter, jadi pembulatan yang benar itu penting.
Jika hanya berbentuk persegi panjang, memasukkan yang berikut ini ke dalam metode pengecatan Anda akan berhasil...
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);
Untuk segitiga dan bentuk lainnya, hal ini sedikit lebih sulit, namun Anda dapat mengetahui gradien garis yang memisahkan titik-titik, sehingga mendapatkan x awal untuk setiap garis.
Secara umum, cobalah untuk menghindari 'gambar bintang'...
Kecuali jika Anda mengacu pada GUI, koordinat Y dapat berupa jumlah garis yang harus Anda 'lewati' dan koordinat x menyerupai jumlah spasi yang telah Anda masukkan pada baris tersebut.
Jadi pada dasarnya x = 2 dan y = 3 berarti Anda harus turun 3 garis dan berpindah 2 spasi ke kanan.
Di bawah ini dari javadoc
x - koordinat x baru untuk pojok kiri atas Persegi Panjang ini y - koordinat y baru untuk pojok kiri atas Persegi Panjang ini