లొకేషన్‌ల శ్రేణిని (ఉదాహరణకు, 100x20 మ్యాట్రిక్స్) కలిగి ఉన్న పారామీటర్ చేయబడిన ద్వీపం యొక్క నమూనాను ప్రోగ్రామ్ చేయడం మీ పని. ప్రదేశాలు మొక్కలు మరియు జంతువులతో నిండి ఉంటాయి. జంతువులు వీటిని చేయగలవు:

  • మొక్కలు మరియు/లేదా ఇతర జంతువులను తినండి (వాటి ప్రదేశంలో తగిన ఆహారం ఉంటే),
  • తరలించు (పొరుగు ప్రాంతాలకు),
  • జాతి (ఒక ప్రదేశంలో రెండు రకాలు ఉంటే),
  • ఆకలితో చనిపోతారు లేదా తినాలి.

OOP

మీ జంతువుల హోస్ట్‌ను సృష్టించేటప్పుడు, మీరు వీలైనంత ఎక్కువగా OOPని ఉపయోగించాలి: అన్ని జాతులు ఒక నైరూప్య జంతు తరగతి నుండి ఉద్భవించాయి, ఇది అన్ని జంతువులకు సాధారణమైన ప్రవర్తనను కలిగి ఉంటుంది. నిర్దిష్ట జంతువులు వాటి ఆహారం, పునరుత్పత్తి, కదలిక మొదలైన వాటికి సంబంధించి నిర్దిష్ట లక్షణాలను కలిగి ఉంటే, అప్పుడు అవి జంతు తరగతి పద్ధతులను భర్తీ చేయాలి.

మీరు చేయవలసినది ఇక్కడ ఉంది:

1. తరగతి శ్రేణిని సృష్టించండి:

  • మాంసాహారులు : తోడేలు , బోవా , నక్క , ఎలుగుబంటి , డేగ

  • శాకాహారులు : గుర్రం , జింకలు , కుందేలు , ఎలుక , మేక , గొర్రెలు , పంది , గేదె , బాతు , గొంగళి పురుగు

  • మొక్కలు

ఒక జంతువు ఆ "ఆహారం" ఉన్న ప్రదేశంలో ఉంటే "ఆహారం" తినడానికి ఎంత అవకాశం ఉందో దిగువ పట్టిక చూపిస్తుంది. "ఒక తోడేలు కుందేలును తింటుంది" అనే పరిస్థితిని చూద్దాం. టేబుల్‌లోని సంఖ్య 60. అంటే తోడేలు మరియు కుందేలు ఒకే చోట ఉంటే, తోడేలు కుందేలును తినే అవకాశం 60% ఉంటుంది. మీరు మల్టీథ్రెడ్ రాండమ్ నంబర్ జనరేటర్‌ని ఉపయోగించాలి .

తోడేలు బోవా ఫాక్స్ ఎలుగుబంటి డేగ గుర్రం జింక కుందేలు మౌస్ మేక గొర్రె పంది గేదె బాతు గొంగళి పురుగు మొక్కలు
తోడేలు - 0 0 0 0 10 15 60 80 60 70 15 10 40 0 0
బోవా 0 - 15 0 0 0 0 20 40 0 0 0 0 10 0 0
ఫాక్స్ 0 0 - 0 0 0 0 70 90 0 0 0 0 60 40 0
ఎలుగుబంటి 0 80 0 - 0 40 80 80 90 70 70 50 20 10 0 0
డేగ 0 0 10 0 - 0 0 90 90 0 0 0 0 80 0 0
గుర్రం 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 100
జింక 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 100
కుందేలు 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 100
మౌస్ 0 0 0 0 0 0 0 0 - 0 0 0 0 0 90 100
మేక 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 100
గొర్రె 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 100
పంది 0 0 0 0 0 0 0 0 50 0 0 - 0 0 90 100
గేదె 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 100
బాతు 0 0 0 0 0 0 0 0 0 0 0 0 0 - 90 100
గొంగళి పురుగు 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 100

జంతువుల లక్షణాలు:

ఒక్కో జంతువు బరువు, కేజీ ఒక్కో ప్రదేశానికి ఈ జాతికి చెందిన జంతువుల గరిష్ట సంఖ్య ప్రతి మలుపుకు గరిష్ట వేగం (స్థానం సంఖ్య). జంతువును పూర్తిగా పోషించడానికి అవసరమైన కిలోగ్రాముల ఆహారం
తోడేలు 50 30 3 8
బోవా 15 30 1 3
ఫాక్స్ 8 30 2 2
ఎలుగుబంటి 500 5 2 80
డేగ 6 20 3 1
గుర్రం 400 20 4 60
జింక 300 20 4 50
కుందేలు 2 150 2 0.45
మౌస్ 0.05 500 1 0.01
మేక 60 140 3 10
గొర్రె 70 140 3 15
పంది 400 50 2 50
గేదె 700 10 3 100
బాతు 1 200 4 0.15
గొంగళి పురుగు 0.01 1000 0 0
మొక్కలు 1 200 N/A N/A

2. జంతువు తినడానికి , సంతానోత్పత్తి చేయడానికి మరియు కదలిక కోసం ఒక దిశను ఎంచుకోవడానికి పద్ధతులను కలిగి ఉండాలి .

3. మీరు శాకాహార మరియు మాంసాహార తరగతులలో ఈట్ పద్ధతిని అమలు చేయవచ్చు . అయితే జాగ్రత్తగా ఉండండి, శాకాహారి బాతు గొంగళి పురుగులను తింటుంది .

4. నిర్దిష్ట జాతులను సూచించే నిర్దిష్ట తరగతులలో, మీరు జంతువు యొక్క లక్షణాలకు అనుగుణంగా అన్ని పద్ధతులను సవరించవచ్చు.

5. మీరు కనీసం 10 శాకాహార జాతులు మరియు 5 మాంసాహార జాతులను సృష్టించాలి (అంశం 1లో వివరించబడింది).

మల్టీథ్రెడింగ్

వాస్తవానికి, లూప్‌లను మాత్రమే ఉపయోగించి మొత్తం ప్రోగ్రామ్‌ను ఒక థ్రెడ్‌లో వ్రాయడం సాధ్యమవుతుంది. కానీ మల్టీథ్రెడింగ్‌తో పని చేయడం మాకు అవసరం, కాబట్టి మీరు తప్పనిసరిగా థ్రెడ్‌లు మరియు థ్రెడ్ పూల్‌లను ఉపయోగించాలి. మొక్కల పెరుగుదల మరియు జంతు చర్యల కోసం పునరావృత పనులను అమలు చేయడానికి ఒక షెడ్యూల్ చేయబడిన పూల్ మరియు సిస్టమ్ గణాంకాలను ప్రదర్శించడానికి ఒక పని. ప్రత్యామ్నాయంగా, మీరు మొక్కలు లేదా జంతువులతో టాస్క్‌లో గణాంకాలను ప్రదర్శించవచ్చు. యానిమల్ యాక్షన్ టాస్క్ లోపల, మీరు మరొక థ్రెడ్ పూల్‌ని ఉపయోగించవచ్చు - సాధారణమైనది. ఈ పూల్‌కి ఏ టాస్క్‌లను కేటాయించాలో మీరే నిర్ణయించుకోండి.

విధి యొక్క తప్పనిసరి భాగాలు:

  • జంతు శ్రేణి (OOP)
  • జంతు ప్రవర్తన
  • మల్టీథ్రెడింగ్
  • ప్రతి పునరావృతం వద్ద ద్వీపం యొక్క స్థితిపై గణాంకాలు (కన్సోల్‌లో ప్రదర్శించబడతాయి)

విధి యొక్క ఐచ్ఛిక భాగాలు:

  • పారామితులను ఒకే చోట ప్రదర్శించండి, తద్వారా అనుకరణను నిర్వహించడం సులభం అవుతుంది
  • కన్సోల్ గణాంకాలకు బదులుగా గ్రాఫిక్స్. మీరు కన్సోల్‌లో సూడోగ్రాఫిక్స్ లేదా JavaFX, స్వింగ్...
  • అనుకరణను ప్రభావితం చేసే ఇతర కారకాలను జోడించండి:
    • మరిన్ని రకాల జంతువులు
    • వివిధ రకాల మొక్కలు
    • జంతువుల సమూహం కోసం అనుకూల ప్రవర్తన (ఉదాహరణకు, తోడేళ్ళు విడివిడిగా కాకుండా ఒక ప్యాక్‌గా వేటాడతాయి మరియు కదులుతాయి)
    • నేల భూభాగం, కొన్ని జంతువుల కదలికను అడ్డుకునే నదితో సహా

సెట్టింగ్‌ల గురించి (మీరు వాటిని జోడించాలని నిర్ణయించుకుంటే)

ప్రోగ్రామ్‌ను ప్రారంభించేటప్పుడు వివిధ సెట్టింగ్‌లను మార్చడం సౌకర్యంగా ఉండటానికి (ద్వీపం పరిమాణం, ఒక ప్రదేశంలో గరిష్టంగా అనుమతించదగిన మొక్కలు/జంతువులు, ఒక నిర్దిష్ట రకం జంతువు కదిలే సంభావ్యత, వివిధ జాతులలోని సంతానం మొదలైనవి. .), మీరు ఈ సెట్టింగులన్నింటినీ ఎక్కడో ఉంచాలి, ఉదాహరణకు, ప్రత్యేక తరగతిలో. కింది సెట్టింగ్‌లను మార్చడం సాధ్యమవుతుంది:

  • ద్వీపం పరిమాణం
  • అనుకరణలో గడియార చక్రం యొక్క వ్యవధి
  • అనుకరణ ప్రారంభంలో ప్రతి జాతికి చెందిన జంతువుల సంఖ్య
  • అనుకరణను ఆపడానికి షరతు (ఉదా. అన్ని జంతువులు చనిపోయాయి)
  • ప్రతి రకమైన జంతువుకు సంతానం

యూనికోడ్ (మీరు సూడోగ్రాఫిక్స్ చేయాలని నిర్ణయించుకుంటే)

జంతువులను చిత్రీకరించడానికి మీరు యూనికోడ్ అక్షరాలను ఉపయోగించవచ్చు: 🐃, 🐻, 🐎, 🦌, 🐗, 🐑, 🐐, 🐺, 🐍, 🦊, 🦅, 🐇, 🐛, 🦅