Video: Cara Menyelesaikan Rubik 3x3 untuk pemula part 1 2024
Anda dapat membuat metode untuk menggambar segitiga di Ruby. Pertama, pikirkan bagaimana ini bisa berhasil. Segitiga yang akan Anda gambar akan terlihat seperti segitiga sama kaki, di mana dua sisi akan memiliki ukuran yang sama dan dasar akan tampak sedikit lebih kecil.
Berbeda dengan persegi panjang, di mana setiap baris mudah diformat, untuk segitiga Anda perlu membuat setiap baris terlihat berbeda. Baris pertama akan menjadi bagian atas segitiga (ujung runcing). Baris terakhir akan menjadi dasar segitiga dan akan menjadi lebar yang ditentukan pengguna.
Lihat apakah Anda dapat mengetahui kode yang Anda lakukan di sini.
-
Mulai metode baru yang disebut segitiga:
# Di atas sini adalah akhir dari metode persegi panjang segitiga def (tinggi, luar_balik, inside_letter) # Kode untuk segitiga akan berakhir di sini
Perhatikan bahwa Anda akan menjadi menggunakan tinggi variabel untuk kedua tinggi dan lebar dalam metode ini.
-
Buat lingkaran yang akan mengulang waktu tinggi. Letakkan kode ini di dalam metode segitiga:
1. upto (tinggi) lakukan | row | # Menggambar kode ke sini di akhir langkah berikutnya
-
Untuk sebuah segitiga, Anda perlu menggambar spasi (area kosong) untuk setiap baris yang tidak memenuhi keseluruhan lebar gambar Anda. Saat Anda menggambar setiap baris, Anda akan menggambar lebih sedikit spasi. Tambahkan baris ini sebagai baris pertama dari lingkaran Anda:
print "* (height - row)
Matematika di sini akan menghitung jumlah spasi yang lebih kecil karena jumlah baris semakin besar (ingat, Anda menghitung baris 1 di atas, dan baris akan sama dengan tinggi di bagian bawah).
-
Selanjutnya, Anda harus menangani kasus ini untuk baris pertama, yang merupakan bagian atas segitiga:
jika baris == 1 menempatkan "# {outside_letter * 2}" end
kode Langkah 4 segera setelah Langkah 3.
-
Tangani kasus baris terakhir berikutnya dengan menambahkan kondisi elsif.
jika baris == 1 menempatkan "# {outside_letter * 2}" elsif row == height puts outside_letter * height * 2 end
-
Sekarang tambahkan kode untuk kasus yang sedikit lebih rumit dalam menangani semua baris tengah. Untuk bagian terakhir ini dari kondisi, Anda akan menggunakan klausa yang lain. Lihat keseluruhan kondisi di sini:
jika baris == 1 menempatkan "# {outside_letter * 2}" elsif row == height puts outside_letter * height * 2 else middle = inside_letter * (baris - 2) cetak "# {outside_letter} # {middle} # {ins ide_letter} "puts" # {inside_letter} # {middle} # {outside_letter} "end
Kode terlihat sedikit aneh. Mengapa ada cetak dan pernyataan?
-
Saatnya untuk menampilkan segitiga. Pada bagian paling bawah file kode, di bawah pemanggilan metode persegi panjang, tambahkan pemanggilan metode segitiga:
segitiga (tinggi, luar_ dalam, dalam_letter)
-
Simpan file program Anda, alihkan ke terminal Anda, dan jalankan programnya.Anda harus melihat sesuatu seperti ini:
Contoh kode yang digunakan mencakup metode persegi panjang sebelum metode segitiga, sehingga Anda akan melihat persegi panjang yang seimbang pada segitiga.