Video: whodunit 2025
Anda boleh membuat satu kaedah untuk menggambar segitiga dalam Ruby. Mula-mula, fikirkan bagaimana cara ini berfungsi. Segitiga yang akan anda gambarkan akan kelihatan seperti segitiga isosceles, di mana dua sisi akan menjadi saiz yang sama dan pangkalannya akan kelihatan sedikit lebih kecil.
Tidak seperti persegi panjang, di mana setiap baris mudah diformat, untuk segitiga yang anda perlukan untuk membuat setiap baris kelihatan berbeza. Baris pertama akan menjadi bahagian atas segitiga (ujung runcing). Baris terakhir akan menjadi asas segitiga dan akan menjadi lebar yang ditentukan oleh pengguna.
Lihat jika anda dapat mengetahui kod yang dilakukan di sini.
-
Mulakan kaedah baru yang disebut segitiga:
# Di atas sini ialah akhir segi segi tiga def triangle (ketinggian, luar_letters, inside_letter) # Kod untuk segitiga akan berakhir di sini
Perhatikan bahawa anda akan menggunakan pembolehubah ketinggian untuk ketinggian dan lebar di dalam kaedah ini.
-
Buat gelung yang akan mengulangi masa ketinggian. Masukkan kod ini di dalam kaedah segitiga:
1. upto (height) lakukan | row | # Kod lukisan pergi ke sini di hujung langkah seterusnya
-
Untuk segitiga, anda perlu menggambar ruang kosong (kawasan kosong) untuk setiap baris yang tidak mengambil keseluruhan lebar yang anda lukis. Apabila anda melukis setiap baris, anda akan menarik kurang ruang kosong. Tambah baris ini sebagai baris pertama gelung anda:
cetak "* (tinggi - baris)
Matematik di sini akan mengira bilangan ruang yang lebih kecil kerana bilangan baris menjadi lebih besar (ingat, anda menghitung baris 1 di bahagian atas, dan baris akan sama dengan ketinggian di bahagian bawah).
-
Seterusnya, anda perlu mengendalikan kes untuk baris pertama, iaitu bahagian atas segi tiga:
jika baris == 1 meletakkan "# {out_letter * 2}" tamat
Kod Langkah 4 akan segera setelah Langkah 3.
-
Mengendalikan kes baris terakhir seterusnya dengan menambahkan syarat elsif
jika baris == 1 meletakkan "# {luar_letter * 2}" baris elsif == ketinggian meletakkan outer_letter * ketinggian * 2 hujung
-
Sekarang tambahkan kod untuk kes yang agak rumit untuk mengendalikan semua baris tengah. dari keadaan ini, anda akan menggunakan klausa lain. Lihat keseluruhan keadaan di sini:
jika baris == 1 meletakkan "# {out_letter * 2}" elsif == ketinggian baris meletakkan luar _letters * ketinggian * 2 lain tengah = inside_letter * (baris - 2) cetak "# {outside_letter} # {middle} # {ins ide_letter} "meletakkan" # {inside_letter} # {middle} # {out_letter} "end
Kod kelihatan sedikit aneh. Mengapa ada kenyataan cetak dan sebutan?
-
Sudah tiba masanya untuk memaparkan segitiga. Di bahagian paling bawah fail kod, di bawah kaedah panggilan segi empat, tambahkan satu panggilan kaedah segitiga:
segitiga (ketinggian, luar_letters, inner_letter)
-
Simpan fail program anda, beralih ke terminal anda, dan jalankan program tersebut.Anda harus melihat sesuatu seperti ini:
Kod contoh yang digunakan termasuk kaedah segiempat tepat sebelum kaedah segitiga, jadi anda akan melihat segi empat tepat seimbang pada segitiga.
