HTML బటన్లను ఉపయోగించి టైపింగ్ గేమ్ కోసం జావాస్క్రిప్ట్ టైమర్ విలువను ఎలా సవరించాలి

JavaScript

టైపింగ్ కోసం డైనమిక్ టైమర్ సర్దుబాటు గేమ్ బటన్లను ఉపయోగించడం

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

బటన్‌లను ఉపయోగించి వేర్వేరు టైమర్ సెట్టింగ్‌ల మధ్య ఎంచుకోవడానికి ఆటగాళ్లను అనుమతించే జావాస్క్రిప్ట్‌లో పరిష్కారాన్ని ఎలా సృష్టించాలో ఈ కథనం మీకు చూపుతుంది. ఉదాహరణకు, '30s' బటన్‌ను ఎంచుకోవడం వలన టైమర్ 30 సెకన్లకు సర్దుబాటు చేయబడుతుంది, అయితే '60s' బటన్‌ను క్లిక్ చేయడం వలన అది 60 సెకన్లకు మారుతుంది.

JavaScript ఫంక్షన్ క్లిక్ చేసిన బటన్ నుండి విలువను తీసుకుంటుంది మరియు టైమర్ మరియు గేమ్ టైటిల్ రెండింటినీ డైనమిక్‌గా అప్‌డేట్ చేస్తుంది. ఈ రకమైన సౌలభ్యం వినియోగదారు అనుభవాన్ని మెరుగుపరుస్తుంది, గేమ్‌ను మరింత అనుకూలీకరించదగినదిగా మరియు విభిన్న నైపుణ్య స్థాయిల కోసం ఆనందించేలా చేస్తుంది.

ఈ గైడ్ ముగిసే సమయానికి, మీరు HTML మరియు JavaScriptను ఉపయోగించి పూర్తి ఫంక్షనల్ టైమర్ సర్దుబాటు లక్షణాన్ని కలిగి ఉంటారు. ఎంచుకున్న టైమర్ వ్యవధిని ప్రతిబింబించేలా పేజీ శీర్షికపై ప్రదర్శించబడిన టైమర్ విలువను ఎలా అప్‌డేట్ చేయాలో కూడా మేము కవర్ చేస్తాము.

ఆదేశం ఉపయోగం యొక్క ఉదాహరణ
document.querySelector() బ్రౌజర్ ట్యాబ్ శీర్షికను డైనమిక్‌గా అప్‌డేట్ చేయడానికి HTML
addEventListener() ఒక నిర్దిష్ట ఈవెంట్‌ను (ఉదా., క్లిక్) బటన్ మూలకానికి బంధిస్తుంది. ఈ సందర్భంలో, టైమర్ సెట్టింగ్‌లతో డైనమిక్ ఇంటరాక్షన్ కోసం వినియోగదారు బటన్‌ను క్లిక్ చేసినప్పుడు changeTimer() ఫంక్షన్‌ని ట్రిగ్గర్ చేయడానికి ఇది ఉపయోగించబడుతుంది.
innerText ఈ లక్షణం HTML మూలకంలో కనిపించే వచనాన్ని సవరించడానికి అనుమతిస్తుంది. ఈ పరిష్కారంలో, బటన్‌ను క్లిక్ చేసినప్పుడు పేజీ శీర్షికలో టైమర్ విలువను నవీకరించడానికి ఇది ఉపయోగించబడుతుంది.
onClick బటన్ యొక్క క్లిక్ ఈవెంట్‌కు నేరుగా changeTimer() ఫంక్షన్‌ని జోడించడానికి ప్రత్యామ్నాయ విధానంలో ఇన్‌లైన్ ఈవెంట్ హ్యాండ్లర్ లక్షణం ఉపయోగించబడుతుంది. ఇది టైమర్‌ను డైనమిక్‌గా అప్‌డేట్ చేయడానికి సరళమైన, తక్కువ మాడ్యులర్ మార్గాన్ని అనుమతిస్తుంది.
test() జెస్ట్‌తో యూనిట్ పరీక్షలో ఈ పద్ధతి ఉపయోగించబడుతుంది. టైమర్ అప్‌డేట్‌లను సరిగ్గా నిర్ధారించడానికి పరీక్షించబడుతున్న ఫంక్షన్ (ఉదా., changeTimer()) మూల్యాంకనం చేయబడిన ఒక పరీక్షా సందర్భాన్ని ఇది నిర్వచిస్తుంది. ఇది వివిధ సందర్భాలలో ఊహించిన విధంగా కోడ్ ప్రవర్తిస్తుందని నిర్ధారిస్తుంది.
expect() వాస్తవ విలువ (నవీకరించబడిన టైమర్ వంటిది) ఆశించిన విలువతో సరిపోలుతుందో లేదో తనిఖీ చేసే జెస్ట్ కమాండ్. గేమ్‌టైమ్ మరియు డాక్యుమెంట్.టైటిల్ బటన్ క్లిక్ చేసిన తర్వాత సరిగ్గా అప్‌డేట్ చేయబడిందని ధృవీకరించడానికి యూనిట్ పరీక్షల్లో ఇది ఉపయోగించబడుతుంది.
toBe() కఠినమైన సమానత్వం కోసం తనిఖీ చేసే మరొక జెస్ట్ కమాండ్. ఇది changeTimer()కి కాల్ చేసిన తర్వాత, గేమ్ సమయం సరిగ్గా అంచనా వేయబడిందని నిర్ధారిస్తుంది (ఉదా., 30 సెకన్లకు 30,000 ms).
getElementById() నిర్దిష్ట బటన్‌లను వాటి IDల ద్వారా ఎంచుకోవడానికి ఉపయోగించబడుతుంది (ఉదా., 'ముప్పై', 'అరవై'). ఈవెంట్ శ్రోతలను బటన్‌లకు జోడించడానికి మరియు వినియోగదారు పరస్పర చర్యకు ప్రతిస్పందనగా టైమర్ యొక్క డైనమిక్ మార్పును ట్రిగ్గర్ చేయడానికి ఈ పద్ధతి ముఖ్యమైనది.

జావాస్క్రిప్ట్ మరియు HTML బటన్లను ఉపయోగించి డైనమిక్ టైమర్‌లను సృష్టిస్తోంది

పైన అందించిన స్క్రిప్ట్‌లు HTML బటన్‌లను క్లిక్ చేయడం ద్వారా టైపింగ్ గేమ్‌లో గేమ్ టైమర్‌ను డైనమిక్‌గా సర్దుబాటు చేయడానికి వినియోగదారుని అనుమతించేలా రూపొందించబడ్డాయి. ప్రారంభంలో, మేము ఒక వేరియబుల్ డిక్లేర్ చేస్తాము , ఇది మిల్లీసెకన్లలో సమయాన్ని కలిగి ఉంటుంది (డిఫాల్ట్‌గా 30 సెకన్లు, మిల్లీసెకన్లకు మార్చడానికి 1000తో గుణించాలి). కీ కార్యాచరణలో ఉంది ఫంక్షన్, ఇది క్లిక్ చేసిన బటన్ ఆధారంగా టైమర్ విలువను నవీకరిస్తుంది. ఈ పద్ధతి బటన్ విలువను అందుకుంటుంది (ఉదా., 30, 60, లేదా 90) మరియు అప్‌డేట్ చేస్తుంది ఆట సమయం తదనుగుణంగా వేరియబుల్. అదనంగా, స్క్రిప్ట్ ఎంచుకున్న టైమర్ వ్యవధిని ప్రతిబింబించేలా పేజీ యొక్క శీర్షికను నవీకరిస్తుంది, వినియోగదారులకు ఎంత సమయం ఉందో స్పష్టంగా తెలియజేస్తుంది.

డైనమిక్ ప్రవర్తన కోసం, మేము ఈవెంట్ శ్రోతలను ప్రత్యేకంగా ఉపయోగిస్తాము ఆదేశం. వినియోగదారు ఏదైనా బటన్‌లను క్లిక్ చేసినప్పుడు స్క్రిప్ట్‌ను ప్రతిస్పందించడానికి ఇది అనుమతిస్తుంది. ప్రతి బటన్‌కు ఒక ID కేటాయించబడుతుంది మరియు క్లిక్ చేసినప్పుడు, ట్రిగ్గర్ అవుతుంది ఫంక్షన్, సంబంధిత సమయ విలువను దాటడం. HTML నిర్మాణంలో పునరావృతమయ్యే ఇన్‌లైన్ జావాస్క్రిప్ట్ అవసరం లేకుండా బహుళ బటన్‌లను సమర్ధవంతంగా నిర్వహించడానికి ఈ విధానం ఉపయోగపడుతుంది. స్క్రిప్ట్‌లో ఫాల్‌బ్యాక్ ఎంపిక కూడా ఉంటుంది, ఇక్కడ మీరు ఇన్‌లైన్ ఈవెంట్ హ్యాండ్లర్‌లను ఉపయోగించవచ్చు మాడ్యులారిటీ కంటే సరళతకు ప్రాధాన్యత ఇస్తే.

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

చివరగా, మేము JavaScript టెస్టింగ్ ఫ్రేమ్‌వర్క్ అయిన Jestని ఉపయోగించి యూనిట్ పరీక్షలను అమలు చేస్తాము. ది టైమర్ సరిగ్గా అప్‌డేట్ అవుతుందని ధృవీకరించడానికి ఫంక్షన్‌లు కీలకం. టైమర్ 30 సెకన్లు, 60 సెకన్లు లేదా 90 సెకన్లకు సర్దుబాటు చేయబడుతుందా లేదా అనే అనేక దృశ్యాలను పరీక్షించడం ద్వారా, ఈ యూనిట్ పరీక్షలు స్క్రిప్ట్ యొక్క ఖచ్చితత్వాన్ని నిర్ధారిస్తాయి. వంటి ఆదేశాలు మరియు వాస్తవ టైమర్ విలువ మరియు పేజీ శీర్షిక ఆశించిన ఫలితాలతో సరిపోలుతున్నాయని ధృవీకరించడానికి ఉపయోగించబడతాయి. ఈ పరీక్ష దశ మీ టైమర్ లాజిక్ వివిధ వినియోగ సందర్భాలలో సరిగ్గా పని చేస్తుందని నిర్ధారిస్తుంది, మీ పరిష్కారం యొక్క పటిష్టతపై విశ్వాసాన్ని అందిస్తుంది.

టైపింగ్ గేమ్ కోసం HTML బటన్‌లతో టైమర్ విలువను మార్చడం

డైనమిక్ టైమ్ అప్‌డేట్ మరియు టైటిల్ సర్దుబాటుతో జావాస్క్రిప్ట్-ఆధారిత ఫ్రంట్-ఎండ్ విధానం

// Solution 1: Using event listeners to change timer value dynamically
let gameTime = 30 * 1000; // Default timer set to 30 seconds
const titleElement = document.querySelector('title');
function changeTimer(value) {
    gameTime = value * 1000; // Update timer to selected value
    titleElement.innerText = value + 's'; // Update the title
}
// Attach event listeners to buttons
document.getElementById('thirty').addEventListener('click', () => changeTimer(30));
document.getElementById('sixty').addEventListener('click', () => changeTimer(60));
document.getElementById('ninety').addEventListener('click', () => changeTimer(90));
// HTML Buttons:
// <button id="thirty" type="button">30s</button>
// <button id="sixty" type="button">60s</button>
// <button id="ninety" type="button">90s</button>

ప్రత్యామ్నాయ విధానం: ఇన్‌లైన్ HTML మరియు జావాస్క్రిప్ట్ ఫంక్షన్‌లను ఉపయోగించడం

బటన్ క్లిక్‌పై డైరెక్ట్ ఫంక్షన్ కాల్‌లతో HTMLలో ఇన్‌లైన్ జావాస్క్రిప్ట్

<script>
let gameTime = 30 * 1000;
function changeTimer(value) {
    gameTime = value * 1000;
    document.title = value + 's';
}
</script>
<button onClick="changeTimer(30)">30s</button>
<button onClick="changeTimer(60)">60s</button>
<button onClick="changeTimer(90)">90s</button>

వివిధ వాతావరణాలలో టైమర్ విలువ మార్పుల కోసం యూనిట్ టెస్టింగ్

ఫ్రంట్-ఎండ్ ఎన్విరాన్మెంట్ ధ్రువీకరణ కోసం Jestను ఉపయోగించి JavaScript-ఆధారిత యూనిట్ పరీక్షలు

// Jest Test Cases
test('Timer should update to 30 seconds', () => {
    changeTimer(30);
    expect(gameTime).toBe(30000);
    expect(document.title).toBe('30s');
});
test('Timer should update to 60 seconds', () => {
    changeTimer(60);
    expect(gameTime).toBe(60000);
    expect(document.title).toBe('60s');
});
test('Timer should update to 90 seconds', () => {
    changeTimer(90);
    expect(gameTime).toBe(90000);
    expect(document.title).toBe('90s');
});

టైమర్ అనుకూలీకరణతో గేమ్ పరస్పర చర్యను మెరుగుపరుస్తుంది

టైపింగ్ గేమ్‌లో టైమర్‌ను మార్చేటప్పుడు పరిగణించవలసిన మరో అంశం మొత్తం వినియోగదారు అనుభవం మరియు ఇంటర్‌ఫేస్. బటన్ల ద్వారా గేమ్ టైమర్‌ను సర్దుబాటు చేయడంతో పాటు, ఆటగాళ్లు ఎంచుకున్న టైమర్‌పై దృశ్యమాన అభిప్రాయాన్ని అందించడం చాలా ముఖ్యం. కౌంట్‌డౌన్ డిస్‌ప్లే వంటి పేజీలోని ఇతర ఎలిమెంట్‌లను అప్‌డేట్ చేయడం ద్వారా దీన్ని సాధించవచ్చు. టైమర్‌ను సెట్ చేయడానికి బటన్‌ను క్లిక్ చేసిన తర్వాత, కౌంట్‌డౌన్ టైమర్ వెంటనే ప్రారంభం కావాలి, వినియోగదారుకు నిజ-సమయ అభిప్రాయాన్ని అందిస్తుంది. ఇది పరస్పర చర్య మృదువైన మరియు సహజమైనదని నిర్ధారిస్తుంది, ఇది గేమ్‌ను మరింత ఆకర్షణీయంగా చేస్తుంది.

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

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

  1. నేను ఎలా ఉపయోగించగలను కౌంట్ డౌన్ సృష్టించడానికి?
  2. మీరు ఉపయోగించవచ్చు ప్రతి 1000 మిల్లీసెకన్లు (1 సెకను) అమలు చేయడానికి సెట్ చేయడం ద్వారా మరియు ప్రతిసారీ టైమర్ విలువను తగ్గించడం ద్వారా. విలువ సున్నాకి చేరుకున్నప్పుడు, మీరు ఉపయోగించి కౌంట్‌డౌన్‌ను ఆపవచ్చు .
  3. ప్రయోజనం ఏమిటి ?
  4. ప్రారంభించిన కౌంట్‌డౌన్ లేదా ఏదైనా ఇతర పునరావృత చర్యను ఆపడానికి ఉపయోగించబడుతుంది . కౌంట్‌డౌన్ సున్నాకి చేరుకున్నప్పుడు ఆగిపోయేలా చూసుకోవడం చాలా కీలకం.
  5. నేను HTML శీర్షికను డైనమిక్‌గా ఎలా అప్‌డేట్ చేయగలను?
  6. ఉపయోగించండి పేజీ శీర్షిక యొక్క వచనాన్ని సెట్ చేయడానికి. దీన్ని మీలో అప్‌డేట్ చేయవచ్చు ఎంచుకున్న సమయ విలువ ఆధారంగా ఫంక్షన్.
  7. టైమర్‌ను ఎంచుకున్నప్పుడు నేను వినియోగదారు లోపాలను నిర్వహించవచ్చా?
  8. అవును, కౌంట్‌డౌన్‌ను ప్రారంభించే ముందు చెల్లుబాటు అయ్యే టైమర్ ఎంపిక ఎంచుకోబడిందో లేదో తనిఖీ చేయడం ద్వారా మీరు ధ్రువీకరణను జోడించవచ్చు. చెల్లుబాటు అయ్యే సమయాన్ని ఎంచుకోకపోతే, మీరు హెచ్చరిక లేదా ప్రాంప్ట్‌ని ప్రదర్శించవచ్చు.
  9. బటన్‌ను క్లిక్ చేసినప్పుడు నేను ఫంక్షన్‌ను ఎలా ట్రిగ్గర్ చేయాలి?
  10. మీరు ఉపయోగించి బటన్‌కు ఫంక్షన్‌ను జోడించవచ్చు లేదా నేరుగా ఉపయోగించడం ద్వారా బటన్ యొక్క HTML మూలకంలో.

టైపింగ్ గేమ్‌లో డైనమిక్ టైమర్ సర్దుబాట్‌లను చేర్చడం వలన ప్లేయర్ అనుభవాన్ని గణనీయంగా మెరుగుపరుస్తుంది. సాధారణ HTML బటన్‌లను ఉపయోగించి టైమర్‌ను మార్చడానికి వినియోగదారులను అనుమతించడం ద్వారా మరియు గేమ్ ఇంటర్‌ఫేస్‌ను నిజ సమయంలో అప్‌డేట్ చేయడం ద్వారా, డెవలపర్‌లు తమ గేమ్‌లను మరింత ఇంటరాక్టివ్‌గా మరియు ఫ్లెక్సిబుల్‌గా మార్చగలరు. ఈ రకమైన నియంత్రణ వివిధ నైపుణ్య స్థాయిలకు అనుగుణంగా సహాయపడుతుంది.

ఈవెంట్ శ్రోతలు, ఎర్రర్ హ్యాండ్లింగ్ మరియు యూనిట్ టెస్ట్‌ల వంటి ఉత్తమ అభ్యాసాలను ఉపయోగించడం వలన గేమ్ సజావుగా నడుస్తుందని మరియు విశ్వసనీయ వినియోగదారు అనుభవాన్ని అందిస్తుంది. ఈ ఫీచర్‌లను అమలు చేయడం వలన గేమ్ కార్యాచరణను మెరుగుపరచడమే కాకుండా ప్రతిస్పందించే, వినియోగదారు-స్నేహపూర్వక మెకానిక్‌లతో ఆటగాళ్లను మరింత నిమగ్నమై ఉంచుతుంది.

  1. DOM మానిప్యులేషన్ మరియు ఈవెంట్ హ్యాండ్లింగ్ కోసం జావాస్క్రిప్ట్‌ను ఉపయోగించడం గురించి వివరణాత్మక సమాచారాన్ని కనుగొనవచ్చు MDN వెబ్ డాక్స్ .
  2. అర్థం చేసుకోవడం కోసం జస్ట్ జావాస్క్రిప్ట్ అప్లికేషన్‌లలో యూనిట్ టెస్టింగ్ కోసం ఫ్రేమ్‌వర్క్ మరియు దాని అమలు.
  3. ఉపయోగించడంపై సమగ్ర అంతర్దృష్టులు addEventListener జావాస్క్రిప్ట్‌లో ఈవెంట్‌లను నిర్వహించడానికి W3Schoolsలో అందుబాటులో ఉన్నాయి.
  4. టైమర్‌లతో సహా వెబ్ అప్లికేషన్‌లలో నిజ-సమయ నవీకరణల ప్రాముఖ్యత గురించి చర్చించబడింది స్మాషింగ్ మ్యాగజైన్ .