If you're seeing this message, it means we're having trouble loading external resources on our website.

Եթե գտնվում ես վեբ զտիչի հետևում, խնդրում ենք համոզվել, որ *.kastatic.org և *.kasandbox.org տիրույթները հանված են արգելափակումից։

Հիմնական նյութ

Հիշողության խաղ․ միավորներ հավաքել ու հաղթել

Մեր «Հիշողության» խաղը գրեթե է ավարտված է։ Պակասում է միայն միավորների վաստակման հատվածը։ Եվ ահա այդ հատվածի կանոնների վերաբերյալ հիշեցում.
Խաղի նպատակն է այնպես անել, որ բոլոր սալիկները շրջված լինեն (օրինակ՝ գտիր բոլոր նման պատկերների զույգերը) փորձերի նվազագույն քանակությամբ։ Նշանակում է, որ փորձերի նվազագույն քանակը խոսում է ավելի լավ միավորների մասին։
Իսկ ինչպե՞ս ենք հետևում փորձի քանակներին։ Փորձը երկու սալիկների շրջումն է, որը համապատասխանում է մեր if բլոկին, որը ստուգում է flippedTiles.length === 2-ը։ Կարող ենք ավելացնել նոր ընդհանրական փոփոխական՝ numTries, որն ավելացնում ենք այդ պայմանականի մեջ։
if (flippedTiles.length === 2) {
  numTries++;
  ...
}
Մենք պետք է ցուցադրենք վաստակած միավորները խաղի ավարտին, երբ խաղացողը համապատասխանաբար զույգեր է ստեղծել բոլոր սալիկների համար։ Ինչպե՞ս ենք դա ստուգում։ Կա երկու տարբերակ՝
  1. Կրկնօրինակում ենք մեր սալիկների զանգվածները և ստուգում՝ արդյոք isMatch և trueզույգը ճիշտ է ընտրված:
  2. Օգտագործում ենք ընդհանրական փոփոխական, որպեսզի ստուգենք, թե որքան համապատասխան զույգ է խաղացողը գտել, իսկ հետո ստուգում ենք՝ արդյոք նա ստացել է բոլոր հնարավոր զույգերի ընդհանուր քանակը։
Մենք նախկինում ունեցել ենք այսպիսի քննարկում, և ես նախընտրել եմ շարունակել այն տարբերակով, որտեղ մենք ստիպված չենք յուրաքանչյուր քայլում կրկնօրինակել ամբողջ զանգվածը։ Արի այս անգամ էլ ընտրենք այս երկրորդ տարբերակը։
Սկզբում պետք է 0 դարձնենք numMatches-ի սկզբնական արժեքը։ Դա կատարում ենք այն նույն վայրում, որտեղ սկզբնական արժեքներ ենք վերագրում մեր մնացած բոլոր ընդհանրական խաղերի ձևի փոփոխականներին։
var numMatches = 0;
Հետո if բլոկի համապատասխան զույգ սալիկների ներսում տեղադրում ենք numMatches փոփոխականը՝
if (flippedTiles[0].face === flippedTiles[1].face) {
  flippedTiles[0].isMatch = true;
  flippedTiles[1].isMatch = true;
  flippedTiles.length = 0;
  numMatches++;
}
draw ֆունկցիայի վերջում ստուգում ենք՝ արդյոք խաղացողը գտել է բոլոր համապատասխան զույգերը և հետո օգտատիրոջը ցուցադրում ենք շնորհավորանքի որևէ խոսք՝
if (numMatches === tiles.length/2) {
  fill(0, 0, 0);
  text(«Բոլորը գտել ես» + numTries + " tries"-ում,
       20, 360);
}
Կարող ես փորձարկել այն ներքևի հատվածում, սակայն գուցե որոշ ժամանակ պահանջվի, որպեսզի հաղթես։ (Իհարկե, առանց որևէ վիրավորանքի, բայց ինձնից ևս որոշ ժամանակ է պահանջվել հաղթելու համար)
Ահա մի հուշում՝ քեզ օգնելու համար, երբ խաղի որոշ հատվածներ փորձարկելիս դժվարությամբ ես կարողանում հասնել նրանց։ Ժամանակավորապես փոփոխիր քո խաղը, որպեսզի ավելի արագ վերջացնես և հաղթես։ Օրինակ՝ այս խաղում NUM_ROWS-ը և NUM_COLS-ը փոխիր ավելի փոքր թվերով, որպեսզի ավելի արագ վերջացնես։ Այժմ փորձիր դա ներքևում։

Ուզո՞ւմ ես միանալ խոսակցությանը։

Առայժմ հրապարակումներ չկան։
Անգլերեն հասկանո՞ւմ ես: Սեղմիր այստեղ և ավելի շատ քննարկումներ կգտնես «Քան» ակադեմիայի անգլերեն կայքում: