آموزش زمان بازی ۲۰۲۴ – ساخت بازی با جاوااسکریپت و ترتیب تصادفی - آخرین آپدیت

دانلود Game Time 2024 – Build a JavaScript Game with Random Order

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: به‌روزرسانی شده در می ۲۰۲۵. این دوره اکنون دارای قابلیت Coursera Coach است! روشی هوشمندانه‌تر برای یادگیری با گفتگوهای تعاملی و آنی که به شما کمک می‌کند دانش خود را آزمایش کنید، پیش‌فرض‌ها را به چالش بکشید و در حین پیشروی در دوره، درک خود را عمیق‌تر کنید. در این دوره می‌آموزید که چگونه یک بازی کارتی مبتنی بر جاوااسکریپت با مکانیسم ترتیب تصادفی کارت‌ها بسازید. در پایان دوره، قادر خواهید بود یک بازی کاملاً کاربردی ایجاد کنید و مهارت‌های کلیدی مانند ساختار HTML، استفاده از CSS Grid برای چیدمان، برنامه‌نویسی ناهمگام (Asynchronous) در جاوااسکریپت با async/await، استفاده از Fetch API برای دریافت داده‌ها و الگوریتم shuffler Fisher-Yates برای تصادفی‌سازی را به کار بگیرید. همچنین در زمینه دستکاری DOM، انیمیشن‌های CSS و افزودن ویژگی‌های تعاملی مانند چرخش پویا کارت‌ها و منطق بازی با شمارنده‌ها تخصص پیدا خواهید کرد. این دوره به شش بخش تقسیم شده است. در بخش اول، یاد می‌گیرید که HTML را بنویسید، با CSS استایل‌دهی کنید و از CSS Grid برای ایجاد یک چیدمان واکنش‌گرا (Responsive) استفاده کنید. همچنین متغیرهای root در CSS و بهترین روش‌های نام‌گذاری را بررسی خواهید کرد. بخش دوم بر پر کردن صفحه بازی با کارت‌ها، استفاده از JSON برای ذخیره داده‌های کارت و ادغام جاوااسکریپت برای ارجاع پویا به کارت‌ها تمرکز دارد. شما همچنین تکنیک‌های پیشرفته برای به‌روزرسانی بهینه DOM را فرا خواهید گرفت. در بخش سوم، افکت‌های چرخش کارت را پیاده‌سازی کرده و ترتیب کارت‌ها را با استفاده از الگوریتم Fisher-Yates تصادفی می‌کنید. بخش چهارم به بررسی منطق تطبیق کارت‌ها، شمارنده‌ها و محدود کردن کلیک‌ها می‌پردازد. در بخش پنجم، جلوه‌های بصری مانند ستاره‌های ریزان و لایه تصویر باخت معرفی می‌شوند. در نهایت، شما یک بازی صیقل‌خورده و آماده برای تست خواهید داشت. این یک دوره سطح متوسط است. توسعه‌دهندگانی که دانش پایه‌ای در HTML، CSS و جاوااسکریپت دارند و می‌خواهند مهارت‌های خود را ارتقا دهند، این دوره برای آن‌ها مفید خواهد بود.

سرفصل ها و درس ها

راه‌اندازی کد پروژه Setting up the project code

  • معرفی دوره Course Intro

  • نوشتن HTML Writing the HTML

  • نوشتن CSS و توضیح تفاوت REM و EM Writing CSS, and explaining REM vs EM

  • استفاده از سیستم CSS Grid برای نمایش کارت‌ها Using the CSS grid system to display the cards

  • تعریف متغیرهای root در CSS Defining CSS root variables

  • بیشتر درباره CSS root و قراردادهای نام‌گذاری More about CSS root and naming conventions

پر کردن شبکه CSS با کارت‌ها Populate our CSS grid with cards

  • ایجاد فایل JSON حاوی آرایه‌ای از اشیاء کارت Create a JSON file that contains an array with card objects

  • نحوه ارجاع به فایل JSON از طریق فایل اصلی جاوااسکریپت How to reference a JSON file from our main JavaScript file

  • استفاده از async/await همراه با Fetch Using async/await with Fetch

  • بررسی CORS، پروتکل فایل و دسترسی‌های سرور توسعه محلی CORS, File Protocol, and what files a local development server can access

  • استفاده از Fetch سنتی و متد Array.map() Traditional Fetch and the Array.map() method

  • استفاده از تابع flatmap() برای ایجاد آرایه کارت‌ها Using the flatmap() function to create our cards array

  • استفاده از spread syntax برای ایجاد آرایه Using the spread syntax to create an array

  • افزودن خودکار المان‌ها به چیدمان CSS Grid Elements are automatically added to the CSS grid layout

  • نحوه ارجاع به کارت‌ها در کد How cards will be referenced in our code

  • افزودن مستقیم کارت‌ها به DOM Directly adding cards to the DOM

  • استفاده از appendChild() برای افزودن کارت‌ها به DOM Using appendChild() to add our cards to the DOM

  • مشکلات افزودن مستقیم آیتم‌ها به DOM زنده در هر حلقه What are the problems with adding items directly to the live DOM on each loop

  • داکیومنت فرگمنت (Document Fragment) چیست؟ What is a document fragment?

  • استفاده از فرگمنت‌ها برای افزودن کارت‌ها به DOM زنده Using fragments to add cards to the live DOM

  • تست کد و دسترسی به ویژگی childElementCount Testing code and accessing the childElementCount property

  • استایل‌دهی به پشت کارت با CSS Styling back of the card with CSS

  • استایل‌دهی به روی کارت با CSS Styling front of the card with CSS

افزودن افکت چرخش و استفاده از شافل Fisher-Yates Adding flip effect, and using the Fisher-Yates shuffle

  • افزودن داینامیک شنونده رویداد کلیک (Click Event Listener) Adding the click event listener dynamically

  • استفاده از تبدیل‌های سه بعدی CSS برای چرخش ۱۸۰ درجه کارت روی محور Y Using CSS 3D transformations to rotate our card 180 degrees on the Y-axis

  • راه‌اندازی تابع شافل (ترتیب تصادفی) Setting up the shuffle function

  • الگوریتم شافل Fisher-Yates (یا Knuth) Fisher-Yates (or Knuth) shuffle algorithm

  • اعمال شافل Fisher-Yates روی آرایه کارت‌ها Applying the Fisher-Yates shuffle to our cards array

  • بررسی لاگ مستقیم آرایه در کنسول و ارجاع حافظه‌ای Logging an array directly in the console, logs a reference to it in memory

  • حل مشکل با ایجاد یک کپی کم‌عمق از آرایه با spread syntax Solving the issue by creating a shallow copy of the array using spread syntax

  • استفاده از destructuring assignment برای بهبود کد Using the destructuring assignment to improve our code

افزودن منطق کارت‌های مشابه و غیرمشابه و شمارنده‌ها Adding logic for matched and unmatched cards, and counters

  • استفاده از کلمه کلیدی THIS برای تعریف کارت اول و دوم Using THIS keyword to define the first and second card

  • افزودن فلگ برای جلوگیری از کلیک همزمان روی بیش از ۲ کارت Adding a flag to disallow the user to click on more than 2 cards at once

  • استفاده از ویژگی Dataset و عملگر Ternary برای پیاده‌سازی منطق تطبیق Dataset property, and ternary operator in JavaScript to implement matching logic

  • استفاده از تابع setTimeout() برای تعریف تابع unflipCard Using the setTimeout() function to define the unflipCard function

  • بازنشانی متغیرها و کارت‌ها Resetting our variables and cards

  • استفاده از متد removeEventListener() و افزودن رنگ پس‌زمینه Using removeEventListener() method, and adding a background color

  • جلوگیری از کلیک مجدد کاربر روی یک کارت و بازنشانی فلگ‌ها Precluding the user from clicking on the same card twice, and resetting flags

کدنویسی ستاره‌های ریزان و افزودن لایه تصویر باخت Coding falling stars, and adding a losing image overlay

  • افزودن شمارنده برای تعداد تلاش‌های باقی‌مانده Adding a counter for tries remaining

  • استفاده از عملگر کاهش (decrement) و بررسی ساده با IF Using the decrement operator and performing a simple IF check

  • ایجاد ساختار HTML برای نمایش تصویر باخت Creating the HTML structure to contain our losing image

  • استفاده از position در CSS و متد requestAnimationFrame() Using CSS position and also using the request Animation Frame() method

  • ایجاد ستاره ریزان با استفاده از جاوااسکریپت Creating a falling star using JavaScript

  • اعمال انیمیشن‌های CSS و keyframes Applying CSS animations and CSS keyframes

  • تست کد و استفاده از متد remove() برای حذف ستاره‌ها از DOM Testing code, and using the remove() method to remove stars from the DOM

  • استفاده از شمارنده‌ها، setInterval و clearInterval Using counters, setInterval and clearInterval

  • تست کد نهایی Testing final code

  • اعمال transition در CSS برای رنگ پس‌زمینه پشت کارت Applying a CSS transition to the background color of our back card

بخش پایانی Outro

  • بخش پایانی Outro

نمایش نظرات

آموزش زمان بازی ۲۰۲۴ – ساخت بازی با جاوااسکریپت و ترتیب تصادفی
جزییات دوره
7h 35m
49
(آخرین آپدیت)
25
- از 5
دارد
دارد
دارد
Chris Croft
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Chris Croft Chris Croft

مربی مدیریت، سخنران، نویسنده