Tugas sampeyan yaiku kanggo program model pulo parameter sing dumadi saka macem-macem lokasi (contone, matriks 100x20). Lokasi kasebut bakal diisi tanduran lan kewan. Kewan bisa:
- mangan tetuwuhan lan/utawa kewan liyane (yen panggonane nduweni panganan sing cocok),
- pindhah menyang panggonan tetanggan,
- jenis (yen ana rong jinis ing sawijining lokasi),
- mati keluwen utawa dipangan.
OOP
Nalika nggawe host kewan, sampeyan kudu nggunakake OOP sabisa: kabeh spesies bakal dijupuk saka siji kelas Animal abstrak, kang bakal ngemot prilaku sing umum kanggo kabeh kewan. Yen kewan tartamtu duwe fitur tartamtu ing babagan dipakani, reproduksi, gerakan, lan liya-liyane, mula kudu ngilangi metode kelas Kewan.
Mangkene sing kudu ditindakake:
1. Nggawe hirarki kelas:
-
Karnivora : Wolf , Boa , Fox , Bear , Eagle
-
Herbivora : Jaran , Kancil , Kelinci , Tikus , Wedhus , Wedhus , Celeng , Kebo , Bebek , Uler
-
Tanduran
Tabel ing ngisor iki nuduhake sepira kamungkinan kewan mangan "panganan" yen ana ing panggonan sing padha karo "panganan" kasebut. Coba deleng kahanan "asu ajag mangan terwelu". Nomer ing meja punika 60. Iki tegese yen asu ajag lan terwelu ing lokasi padha, ana 60% kasempatan sing asu ajag bakal mangan terwelu. Sampeyan kudu nggunakake generator nomer acak multithreaded .
asu ajag | Boa | Fox | Bear | Elang | Jaran | Kancil | terwelu | Tikus | wedhus | wedhus | celeng | kebo | bebek | Uler | Tanduran | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
asu ajag | - | 0 | 0 | 0 | 0 | 10 | 15 | 60 | 80 | 60 | 70 | 15 | 10 | 40 | 0 | 0 |
Boa | 0 | - | 15 | 0 | 0 | 0 | 0 | 20 | 40 | 0 | 0 | 0 | 0 | 10 | 0 | 0 |
Fox | 0 | 0 | - | 0 | 0 | 0 | 0 | 70 | 90 | 0 | 0 | 0 | 0 | 60 | 40 | 0 |
Bear | 0 | 80 | 0 | - | 0 | 40 | 80 | 80 | 90 | 70 | 70 | 50 | 20 | 10 | 0 | 0 |
Elang | 0 | 0 | 10 | 0 | - | 0 | 0 | 90 | 90 | 0 | 0 | 0 | 0 | 80 | 0 | 0 |
Jaran | 0 | 0 | 0 | 0 | 0 | - | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 100 |
Kancil | 0 | 0 | 0 | 0 | 0 | 0 | - | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 100 |
terwelu | 0 | 0 | 0 | 0 | 0 | 0 | 0 | - | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 100 |
Tikus | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | - | 0 | 0 | 0 | 0 | 0 | 90 | 100 |
wedhus | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | - | 0 | 0 | 0 | 0 | 0 | 100 |
wedhus | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | - | 0 | 0 | 0 | 0 | 100 |
celeng | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 50 | 0 | 0 | - | 0 | 0 | 90 | 100 |
kebo | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | - | 0 | 0 | 100 |
bebek | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | - | 90 | 100 |
Uler | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | - | 100 |
Karakteristik kewan:
Bobot saben kewan, kg | Jumlah maksimum kewan spesies iki saben lokasi | Kacepetan maksimum (jumlah lokasi) saben giliran | Jumlah kilogram panganan sing dibutuhake kanggo panganan kewan kanthi lengkap | |
---|---|---|---|---|
asu ajag | 50 | 30 | 3 | 8 |
Boa | 15 | 30 | 1 | 3 |
Fox | 8 | 30 | 2 | 2 |
Bear | 500 | 5 | 2 | 80 |
Elang | 6 | 20 | 3 | 1 |
Jaran | 400 | 20 | 4 | 60 |
Kancil | 300 | 20 | 4 | 50 |
terwelu | 2 | 150 | 2 | 0.45 |
Tikus | 0.05 | 500 | 1 | 0.01 |
wedhus | 60 | 140 | 3 | 10 |
wedhus | 70 | 140 | 3 | 15 |
celeng | 400 | 50 | 2 | 50 |
kebo | 700 | 10 | 3 | 100 |
bebek | 1 | 200 | 4 | 0.15 |
Uler | 0.01 | 1000 | 0 | 0 |
Tanduran | 1 | 200 | N/A | N/A |
2. Kewan kudu duwe cara kanggo mangan , breeding , lan milih arah kanggo gerakan .
3. Sampeyan bisa ngetrapake cara mangan ing kelas herbivora lan karnivora. Nanging ati-ati, bebek herbivora mangan uler .
4. Ing kelas tartamtu sing makili spesies tartamtu, sampeyan bisa ngowahi kabeh cara sing cocog karo karakteristik kewan.
5. Sampeyan kudu nggawe paling 10 spesies herbivora lan 5 spesies karnivora (diterangake ing Item 1).
Multithreading
Mesthi wae, sampeyan bisa nulis kabeh program ing siji utas kanthi mung puteran. Nanging kita kudu latihan nggarap multithreading, dadi sampeyan kudu nggunakake benang lan kolam benang. Salah blumbang dijadwal kanggo mbukak tugas ambalan kanggo wutah tanduran lan tumindak kewan, lan tugas kanggo nampilake statistik sistem. Utawa, sampeyan bisa nampilake statistik ing tugas karo tetanduran utawa kéwan. Ing njero tugas aksi kewan, sampeyan bisa nggunakake blumbang benang liyane - sing biasa. Sampeyan mutusake apa tugas sing kudu diwenehake menyang blumbang iki.
Bagian wajib saka tugas:
Bagian opsional saka tugas:
|
Babagan setelan (yen sampeyan arep nambahake)
Kanggo nggawe trep kanggo ngganti macem-macem setelan nalika miwiti program (ukuran pulo, jumlah maksimum sing diijini tanduran / kewan ing sawijining lokasi, kemungkinan jinis kewan tartamtu bakal pindhah, jumlah turunane ing macem-macem spesies, etc. .), Sampeyan kudu sijine kabeh setelan iki nang endi wae, contone, ing kelas kapisah. Sampeyan kudu bisa ngganti setelan ing ngisor iki:
- ukuran pulo
- durasi siklus jam ing simulasi
- jumlah kewan saben spesies ing wiwitan simulasi
- kondisi kanggo mungkasi simulasi (umpamane kabeh kewan wis mati)
- jumlah anak kanggo saben jinis kewan
Unicode (yen sampeyan arep nggawe pseudographics)
Sampeyan bisa nggunakake karakter Unicode kanggo nggambarake kewan: 🐃, 🐻, 🐎, 🦌, 🐗, 🐑, 🐐, 🐺, 🐍, 🦊, 🦅, 🐇, 🦆, 🐁.
GO TO FULL VERSION