⊗jsPrTTTVCh 45 of 62 menu

JavaScript හි ක්‍රීඩා එකේ ජයග්‍රහණය පරීක්ෂා කිරීම

දැන් ජයග්‍රාහකයාගේ නම තීරණය කර ප්‍රදර්ශනය කරන කේතය ලිවීමට කාලයයි.

කාර්යය සලකා බලා, ජයග්‍රහණය පැවතීම පරීක්ෂා කිරීම සෑම පියවරකදීම සිදු කළ යුතු බව ඔබට තේරුම් ගත හැකිය:

function init(selector) { let cells = document.querySelectorAll('#field td'); let i = 0; for (let cell of cells) { cell.addEventListener('click', function step() { this.textContent = ['X', 'O'][i % 2]; this.removeEventListener('click', step); // මෙහිදී අපි ජයග්‍රහණය හෝ අවසන් කිරීම පරීක්ෂා කළ යුතුය i++; }); } }

අපි isVictory ශ්‍රිතයක් සාදමු, එය පරාමිතියක් ලෙස සෛල අරාවක් පිළිගෙන true ආපසු ලබා දෙනු ඇත, ක්ෂේත්‍රයේ ජයග්‍රහණයක් තිබේ නම්, සහ false, නොමැති නම්. අපි මෙම ක්‍රියාකාරීත්වය පහත පරිදි භාවිතා කරමු ක්‍රමය:

function start(cells) { let i = 0; for (let cell of cells) { cell.addEventListener('click', function step() { this.textContent = ['X', 'O'][i % 2]; this.removeEventListener('click', step); if (isVictory(cells)) { alert('ජයග්‍රාහකයාගේ නම'); } i++; }); } }

ජයග්‍රාහකයාගේ නම අපි දැනගන්නේ කෙසේද? පැහැදිලිවම, එහි නම ගබඩා කර ඇත්තේ ජයග්‍රහණය ලැබූ සෑම සෛලයකම වේ. මම පැහැදිලි කරමි: අපට ජයග්‍රහණයක් තිබේ නම්, එසේ නම් මෙයින් අදහස් කරන්නේ සමහර 3 සෛල �ිරස් අතට, සිරස් අතට හෝ විකර්ණව අඩංගු වන බවයි එකම අගය: එක්කෝ X, එක්කෝ O.

පැහැදිලිවම, මෙම සෛලවලින් ඕනෑම එකක අගය එය ජයග්‍රාහකයාගේ නම වේ. නමුත් ඔබට වෙනත් ආකාරයකින් ද යා හැකිය, අඩු පැහැදිලි මාර්ගයක්: අපි තීරණය කරන බැවින් සෑම පියවරකදීම ජයග්‍රහණයේ පැවැත්ම, එසේ නම් ජයග්‍රාහකයා වනුයේ අවසන් ක්‍රියාව සිදු කළ ක්‍රීඩකයාය. මෙම ක්‍රීඩකයාගේ නම ක්ලික් කළ සෛලයේ අන්තර්ගතයේ අඩංගු වේ:

function start(cells) { let i = 0; for (let cell of cells) { cell.addEventListener('click', function step() { this.textContent = ['X', 'O'][i % 2]; this.removeEventListener('click', step); if (isVictory(cells)) { alert(this.textContent); // ජයග්‍රාහකයාගේ නම ප්‍රදර්ශනය කරන්න } i++; }); } }

isVictory ක්‍රියාත්මක කිරීම

ක්ෂේත්‍රයේ ජයග්‍රහණයක් ඇති බව තාක්ෂණිකව තීරණය කරන්නේ කෙසේද? ඔබ හොඳින් සලකා බැලුවහොත්, ක්ෂේත්‍රයේ සීමිත ප්‍රමාණයක ත්‍රිත්ව සෛල ඇති බව නිගමනය කළ හැකිය.

එනම්, ජයග්‍රහණය පරීක්ෂා කිරීම සඳහා ඔබට සරලව මෙම ත්‍රිත්ව සියල්ල පරීක්ෂා කළ හැකිය. එය පරීක්ෂා කළ යුතුය ත්‍රිත්වවලට සමාන හිස් නොවන අගයන් ඇති බව (එනම් එහි X හෝ O).

ද්විමාන අරාවක් සාදමු, එහි එක් එක් උප අරාවෙහි ත්‍රිත්වවලින් එකක සෛල අංක ඇත:

let combs = [ [0, 1, 2], [3, 4, 5], [6, 7, 8], [0, 3, 6], [1, 4, 7], [2, 5, 8], [0, 4, 8], [2, 4, 6], ];

මෙම අරාව භාවිතා කරමින් ජයග්‍රහණය නිර්වචනය කිරීම ලියන්න:

function isVictory(cells) { let combs = [ [0, 1, 2], [3, 4, 5], [6, 7, 8], [0, 3, 6], [1, 4, 7], [2, 5, 8], [0, 4, 8], [2, 4, 6], ]; for (let comb of combs) { if ( cells[comb[0]].textContent == cells[comb[1]].textContent && cells[comb[1]].textContent == cells[comb[2]].textContent && cells[comb[0]].textContent != '' ) { return true; } } return false; }

මගේ කේතය දෙස නොබලා, ස්වාධීනව විස්තර කළ දේ ක්‍රියාත්මක කරන්න. ක්‍රියාවලිය ක්‍රියා කරන ආකාරය පරීක්ෂා කරන්න ක්‍රීඩාවේ.

අවසන් කිරීම පරීක්ෂා කිරීම ක්‍රියාත්මක කිරීමට උත්සාහ කරන්න. මීළඟ පාඩමේදී මෙම ස්ථානය විශ්ලේෂණය කෙරේ.

සිංහල
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
අපි වෙබ් අඩවිය ක්‍රියාත්මක කිරීම, විශ්ලේෂණය සහ පුද්ගලීකරණය සඳහා කුකී භාවිතා කරමු. දත්ත සැකසීම සිදුකරනු ලබන්නේ ගෝපනීයතා ප්‍රතිපත්තිය අනුව ය.
සියල්ල පිළිගන්න කොන්දේසි ප්‍රතික්ෂේප කරන්න