The Model lalu lintas Biham-Middleton-Levine adalah robot seluler mengorganisir diri bahwa model disederhanakan lalu lintas.
Ini terdiri dari sejumlah mobil yang diwakili oleh titik-titik pada kisi-kisi dengan posisi awal acak, di mana masing-masing mobil mungkin salah satu dari dua jenis: yang hanya bergerak ke bawah (ditunjukkan dengan warna biru dalam artikel ini), dan yang hanya bergerak ke arah kanan (ditampilkan sebagai merah di artikel ini). Kedua jenis mobil itu bergiliran bergerak. Selama setiap belokan, semua mobil untuk tipe yang sesuai maju satu langkah jika tidak diblokir oleh mobil lain.
Tugas Anda adalah memvisualisasikan model ini sebagai animasi. Berikut ini beberapa demonstrasi yang bagus.
Memasukkan
Angka titik mengambang antara 0 dan 1 mewakili kerapatan, dan dua bilangan bulat mewakili tinggi dan lebar kisi yang ditampilkan. Asumsikan input valid, dan parameter ke fungsi atau membaca dari input pengguna baik-baik saja.
Contoh: 0.38 144 89
(sesuai dengan gambar di atas)
Keluaran
Kotak, setidaknya 80x80, yang menampilkan animasi dari model ini berjalan. Pada awalnya, mobil ditempatkan secara acak di grid sampai grid mencapai kepadatan input, dengan setengah merah dan setengah biru (yaitu kepadatan kali jumlah total kotak kuadrat, bulat bagaimanapun Anda suka). Kerapatan harus berupa nilai ini, yang berarti Anda tidak dapat mengisi setiap sel dengan kerapatan sebagai probabilitas. Untuk setiap langkah, satu jenis mobil bergerak ke bawah atau ke kanan, membungkus jika melewati tepi. Jenis mobil yang bergerak bergantian setiap langkah. Untuk membuat animasi dapat dilihat, harus ada setidaknya 10 ms antara setiap langkah.
Aturan
Mobil dapat berupa warna atau simbol apa pun selama mereka dapat dibedakan satu sama lain dan latar belakang, dan setiap jenis mobil memiliki warna atau simbol yang sama.
Konsol dan output grafis keduanya diperbolehkan. Untuk output konsol, simbol apa pun yang dapat dicetak baik-baik saja, tetapi output harus berupa kisi-kisi karakter.
Silakan tentukan jenis keluaran apa yang Anda hasilkan jika Anda tidak memiliki tangkapan layar atau gif.
Simulasi harus berjalan selamanya.
Outputnya agak rumit, jadi jika Anda memiliki pertanyaan, silakan komentar.