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++;
  ...
}
გვინდა, რომ ქულა ეკრანზე დავბეჭდოთ, როცა თამაში მორჩება- როდესაც მოთამაშე ყველა წყვილს იპოვის. როგორ ვამოწმებთ ამას? 2 ვარიანტი მახსენდება:
  1. გადავუყვებით ჩვენს ფურცელთა მასივს და ვამოწმებთ, isMatch არის თუ არა true (ჭეშმარიტი) ყოველი მათგანისთვის.
  2. ვიყენებთ გლობალურ ცვლადს, რათა თვალ-ყური ვადევნოთ, რამდენი წყვილი იპოვა მოთამაშემ და შემდეგ ვამოწმებთ, არის თუ არა ეს რიცხვი ყველა შესაძლო წყვილის რაოდენობის ტოლი.
ამაზე ადრეც ვისაუბრეთ და მე ავირჩიე ის ვარიანტი, რომელშიც არ გვჭირდებოდა მთელი მასივისთვის გადაყოლა ყოველ ჯერზე. ახლაც ასე მოვიქცეთ, მეორე ვარიანტი.
ჯერ numMatches-ს ინიციალიზაციას ვუკეთებთ 0-ზე, იგივე ადგილზე, სადაც ინიციალიზაციას ვუკეთებთ თამაშის მდგომარეობის ყველა სხვა გლობალურ ცვლადს.
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("You found them all in " + numTries + " tries",
       20, 360);
}
შეგიძლიათ, ეს სცადოთ ქვემოთ, მაგრამ შეიძლება, მომგებიან მდგომარეობამდე მისასვლელად დრო დაგჭირდეთ (ამის გამო არ გამიბრაზდეთ, მეც დიდი დრო მჭირდება!).
როდესაც თქვენი თამაშის იმ ნაწილებს ტესტავთ, რომლებში მოხვედრაც რთულია, დროებით შეცვალეთ თქვენი თამაში ისე, რომ იქ უფრო მარტივად მოხვდეთ. მაგალითად, ამ თამაშში შეცვალეთ NUM_ROWS და NUM_COLS მცირე რიცხვებით და უფრო მალე დაამთავრებთ. ახლა სცადეთ ეს ქვემოთ!

გსურთ, შეუერთდეთ დისკუსიას?

პოსტები ჯერ არ არის.
გესმით ინგლისური? დააწკაპუნეთ აქ და გაეცანით განხილვას ხანის აკადემიის ინგლისურენოვან გვერდზე.