لینکهای مفید برای شرکت در مسابقه:
Node v14.4.0
استفاده میکند.در طول مسابقه میتوانید سؤالات خود را از قسمت «سؤال بپرسید» مطرح کنید.
با trend شدن زمینهای متاورس و خرید آنها توسط مردم، شمسالله تصمیم گرفته که به فروش زمینهای متاورسی روی بیاورد. او که جدیداً با وبسوکت آشنا شده است، میخواهد این پروژه را با وبسوکت پیادهسازی کند. برای این کار، او سرور این پروژه را ساخته و از شما میخواهد که در قسمت فرانتاند پروژه به او کمک کنید.
پروژهی اولیه را از این لینک دانلود کنید.
برای اجرای پروژه، باید Node.js و npm را از قبل نصب کرده باشید.
metaverse-lands
، دستور npm install
را برای نصب نیازمندیها اجرا کنید.npm start
را برای راهاندازی پروژه اجرا کنید.metaverse-lands
، دستور npm install
را برای نصب نیازمندیها اجرا کنید.npm run server
را برای راهاندازی سرور پروژه اجرا کنید.در این پروژه، ارتباط شما با سرور بر بستر وبسوکت است و شما تمام دادهها را از این طریق سرور دریافت میکنید و از همین طریق برای سرور میفرستید. در همان لحظه که به وبسوکت وصل شوید، شما دیتای مپ یا نقشه و همچنین دیتای دارندگان هر نقطه از نقشه را دریافت میکنید.
ساختار دادهی ارسالی سرور بهشکل زیر است:
که type
میتواند یکی از دو مقدار MAP
و OWNER
را داشته باشد.
MAP
مشخصکنندهی دادههای نقشه اصلی است.OWNER
مشخصکنندهی دادههای دارندگان هر نقطه از نقشه است.دادههای MAP
بهشکل زیر هستند:
بدین ترتیب مختصات تمام نقاط نقشه را سرور برای شما میفرستد. دقت کنید دادههای نقشه مرتب نیست و تمام مختصات در یک آرایه قرار دارد. همچنین اگر type
یک نقطه برابر LAND
بود، بدین معنا است که آن نقطه زمین است و اگر برابر WALL
بود، بدین معنا است که آن نقطه دیوار است. در صورتی که یک نقطه LAND
بود، شما باید آن نقطه را به رنگ DEFAULT_COLORS.LAND
و اگر WALL
بود، باید به رنگ DEFAULT_COLORS.WALL
در بیاورید.
دادههای OWNER
بهشکل زیر است:
در دادههای بالا، startCord
نشاندهندهی شروع مختصات نقاطی است که تحت مالکیت فردی با رنگ اتخصاصی color
است. همچنین endCord
نشاندهندهی پایان مختصات است. تمام نقاط بین startCord
و endCord
تحت مالکیت این فرد یا شرکت است و رنگ این نقط باید به رنگ color
باشد. با این فرض این نقاط همیشه به شکل مربع یا مستطیل هستند. شما باید بر اساس این دادهها، نقشه را ترسیم کنید. پس از آن، در هر لحظه ممکن است سرور دادههای دارندگان جدید را برای شما بفرستد. شما باید بر اساس دادههای جدید، نقشه را بهروزرسانی کنید.
همچنین کاربر فعلی میتواند با انتخاب هر نقطه از نقشه، آن نقطه را برای خود خریداری کند.
برای این کار، شما باید ساختار دادهای مانند ساختار دادهی زیر را برای سرور تحت سوکت بفرستید:
سرور پس دریافت این نقاط، دادههای مالک این نقطه را برای شما میفرستد و شما باید مانند قبل، نقشه را بهروزرسانی کنید.
App.jsx
توجه کنید.Block
استفاده کنید.OWNER
پیوسته است.server
را بررسی کنید."ws://localhost:3001"
)data/index.js
قرار داده شده است.App.jsx
هستید.پس از پیادهسازی موارد خواستهشده، فایل App.jsx
را آپلود کنید.