You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/translations/te/6-space-game/1-introduction/assignment.md

11 KiB

గేమ్‌ను మాక్ అప్ చేయండి: డిజైన్ ప్యాటరన్లు అప్లై చేయండి

అసైన్‌మెంట్ సమీక్ష

డిజైన్ ప్యాటరన్లపై మీ కొత్త జ్ఞానాన్ని ఉపయోగించి ఒక సింపుల్ గేమ్ ప్రొటోటైప్ సృష్టించండి! ఈ అసైన్‌మెంట్ మీరు ఆర్కిటెక్చరల్ ప్యాటరన్లు (ఇన్హెరిటెన్స్ లేదా కంపోజిషన్) మరియు లెషన్‌లో నేర్చుకున్న పబ్/సబ్ కమ్యూనికేషన్ సిస్టమ్‌ను ప్రాక్టీస్ చేయడంలో సహాయపడుతుంది.

సూచనలు

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

అవసరాలు

మీ ఆర్కిటెక్చర్ ప్యాటరన్ ఎంచుకోండి:

  • ఎంపిక ఏ: క్లాస్-ఆధారిత ఇన్హెరిటెన్స్ ఉపయోగించండి (ఉదాహరణకు GameObjectMovableHero మాదిరి)
  • ఎంపిక బి: కంపోజిషన్ ఉపయోగించండి (ఫ్యాక్టరీ ఫంక్షన్ విధానంతో మిక్స్ చేసిన ప్రవర్తనల మాదిరి)

కమ్యూనికేషన్ అమలు చేయండి:

  • రాబట్టండి EventEmitter క్లాస్ పబ్/సబ్ మెసేజింగ్ కోసం
  • సెట్ చేయండి కనీసం 2-3 వేర్వేరు మెసేజ్ రకాలును (ఉదా: PLAYER_MOVE, ENEMY_SPAWN, SCORE_UPDATE)
  • కనెక్ట్ చేయండి యూజర్ ఇన్‌పుట్ (కీబోర్డ్/మౌస్) ను గేమ్ ఈవెంట్లతో ఈవెంట్ సిస్టమ్ ద్వారా

గేమ్ అంశాలు చేర్చండి:

  • కనీసంగా ఒక ప్లేయర్ నియంత్రిత క్యారెక్టర్
  • కనీసం ఒకటి మరొక గేమ్ ఆబ్జెక్ట్ (ఎనమీ, సేకరించే వస్తువు లేదా పరిసర అంశం)
  • ఆబ్జెక్టుల మధ్య ప్రాథమిక ఇంటరాక్షన్ (కొలిజన్, సేకరణ, లేదా కమ్యూనికేషన్)

సూచించిన గేమ్ ఆలోచనలు

పరిగణించదగిన సింపుల్ గేమ్స్:

  • స్నేక్ గేమ్ స్నేక్ సెగ్మెంట్లు తల‌ను అనుసరిస్తాయి, ఆహారం యాదృచ్ఛికంగా స్పాన్ అవుతుంది
  • పాంగ్ వెరియేషన్ ప్యాడిల్ ఇన్‌పుట్‌కు స్పందిస్తుంది, బంతి గోడలకు తగిలి తిరుగుతుంది
  • కలెక్టర్ గేమ్ ప్లేయర్ వస్తువులను సేకరించే సమయంలో అడ్డంకులను తప్పుకుంటూ మళ్ళిశీలిస్తాడు
  • టవర్ డిఫెన్స్ బేసిక్స్ టవర్లు పొడవుగా నడిచే శత్రువులను గుర్తించి వాటిపై షూట్ చేస్తాయి

కోడ్ నిర్మాణ మార్గదర్శకాలు

// ఉదాహరణ ప్రారంభ నిర్మాణం
const Messages = {
  // మీ ఆట సందేశాలను ఇక్కడ నిర్వచించండి
};

class EventEmitter {
  // మీ ఈవెంట్ సిస్టమ్ అమలు
}

// తరగతి ఆధారితం లేదా కూడిక పద్ధతి ఎంచుకోండి
// తరగతి ఆధారిత ఉదాహరణ:
class GameObject { /* base properties */ }
class Player extends GameObject { /* player-specific behavior */ }

// లేదా కూడిక ఉదాహరణ:
const gameObject = { /* base properties */ };
const movable = { /* movement behavior */ };
function createPlayer() { /* combine behaviors */ }

మీ అమలును పరీక్షించడం

మీ కోడ్ పనిచేస్తుందా అని సరిచూడండి:

  • ఫలితంగా ఆబ్జెక్టులు ఈవెంట్లు ట్రిగ్గర్ అయినప్పుడు కదిలితే లేదా మారితే
  • పట్టుకుని ఉండు ఒకే ఈవెంట్‌కు అనేక ఆబ్జెక్టులు స్పందిస్తాయేమో
  • తీయండి మీరు కొత్త ప్రవర్తనలు చేర్చడంలో ప్రస్తుతం ఉన్న కోడ్ మార్చాల్సిన అవసరం లేకుండా చేయగలుగుతారు
  • ఖచ్చితంగా చూసుకోండి మీ కీబోర్డ్/మౌస్ ఇన్‌పుట్ గేమ్ ఈవెంట్లను సరికొత్తగా ట్రిగ్గర్ చేస్తుందని

సమర్పణ మార్గదర్శకాలు

మీ సమర్పణలో ఉండాలి:

  1. JavaScript ఫైల్(లు) మీ గేమ్ అమలుతో
  2. HTML ఫైల్ మీ గేమ్‌ని రన్ చేసి పరీక్షించడానికి (సింపుల్ కావచ్చు)
  3. వ్యాఖ్యలు మీరు ఎంచుకున్న ప్యాటరన్ ఏది మరియు ఎందుకు ఎంచుకున్నారో వివరిస్తూ
  4. సంక్షిప్త డాక్యుమెంటేషన్ మీ మెసేజ్ రకాల గురించి మరియు అవి ఏవీ చేస్తాయో

రూబ్రిక్

ప్రమాణం ఉదాత్తమైనది (3 పాయింట్లు) సరైనది (2 పాయింట్లు) మెరుగుపరచాల్సినదే (1 పాయింట్)
ఆర్కిటెక్చర్ ప్యాటరన్ ఇన్హెరిటెన్స్ లేదా కంపోజిషన్ లో సరైన క్లాస్/ఆబ్జెక్ట్ హైరార్కీ తో అమలు ఎంచుకున్న ప్యాటర్న్ ను సన్న jooksలతో ఉపయోగిస్తుంది ప్యాటర్న్ వాడదలచిన ప్రయత్నం కానీ అమలులో పెద్ద సమస్యలు ఉన్నాయి
పబ్/సబ్ అమలు EventEmitter సరిగ్గా మల్టిపుల్ మెసేజ్ రకాలతో మరియు సరైన ఈవెంట్ ఫ్లో తో పనిచేస్తుంది ప్రాథమిక పబ్/సబ్ సిస్టమ్ కొంత ఈవెంట్ హ్యాండ్లింగ్ తో పనిచేస్తుంది ఈవెంట్ సిస్టమ్ ఉంది కానీ విశ్వసనీయంగా పనిచేయదు
గేమ్ ఫంక్షనాలిటీ ఈవెంట్ల ద్వారా కమ్యూనికేట్ చేసే మూడు లేదా అంతకు మించి ఇంటరాక్టివ్ అంశాలు రెండు ఇంటరాక్టివ్ అంశాలు ప్రాథమిక ఈవెంట్ కమ్యూనికేషన్ తో ఒక అంశం ఈవెంట్లకు స్పందిస్తుంది లేదా ప్రాథమిక ఇంటరాక్షన్ ఉంది
కోడ్ నాణ్యత పరిశుభ్రమైన, బాగుగా వ్యాఖ్యానించిన కోడ్ లాజికల్ ఆర్గనైజేషన్ తో తాజా JavaScript ఉపయోగించి సాధారణంగా బాగున్న కోడ్ సరైన వ్యాఖ్యలతో కోడ్ పనిచేస్తుంది కానీ ఆర్గనైజేషన్ లేదా స్పష్టమైన వ్యాఖ్యలు లేవు

బోనస్ పాయింట్లు:

  • సృజనాత్మక గేమ్ యంత్రాంగాలు ప్యాటరన్ల ఆసక్తికరమైన ఉపయోగాలను ప్రదర్శించేవి
  • అనేక ఇన్‌పుట్ విధానాలు (కీబోర్డ్ మరియు మౌస్ ఈవెంట్లు)
  • విస్తరించదగిన ఆర్కిటెక్చర్ దీని ద్వారా కొత్త ఫీచర్లను సులభంగా జోడించవచ్చు

అస్పష్టత:
ఈ పత్రాన్ని AI అనువాద సేవ అయిన Co-op Translator ఉపయోగించి అనువదించాము. మనం సరిచూడటానికి ప్రయత్నిస్తే కూడా, ఆటోమేటెడ్ అనువాదాల్లో పాపదోషాలు లేదా తప్పులుంటే ఉండొచ్చు. అసలు పత్రం అసలు భాషలో ఉన్నది అధికారిక వనరు గా పరిగణించాలి. కీలక సమాచారం కోసం, ప్రొఫెషనల్ మానవ అనువాదాన్ని సిఫారసు చేస్తాము. ఈ అనువాదం వలన సంఘటనలైన ఎలాంటి అపార్థాలు లేదా తప్పుదోపిడుల బాధ్యత మేము తీసుకోవము.