پارس‌کدرز چگونه کار می‌کند؟

از پارس‌کدرز بیشترین بهره را ببرید و رویای کاری خود را زندگی کنید.

پارس‌کدرز خریداران یا کارفرمایان را به مجری‌ها /فریلنسرهای خبره‌ای متصل می‌کند که برای انجام پروژه آماده هستند.

پروزه پروتئوس (9362)

یک روز پیش منتشر شده

تعداد بازدید: 61

کد پروژه: 611925


شرح پروژه

سلام و وقت شما بخیر پروژه پروتئوس میتونید انجام بدید؟ سلام. این پروژه‌ایه که باید برام انجام بدی. لطفاً دقیقاً طبق همین نکاتی که می‌گم پیش برو.
---

عنوان پروژه: بازی هدف‌گیری با دکمه (هدف متحرک)

توضیح کلی بازی:
یک هدف روی یک ردیف چراغ (یا صفحه نمایش) رفت و برگشت می‌کنه. کاربر باید دقیقاً وقتی هدف به وسط رسید، دکمه شلیک رو بزنه. اگه درست بزنه، یک امتیاز می‌گیره و هدف تندتر می‌شه. اگه اشتباه بزنه (زود یا دیر)، یک امتیاز کم می‌شه و هدف کندتر می‌شه. بازی تا رسیدن به ۱۰ امتیاز ادامه پیدا می‌کنه و در آخر امتیاز نهایی رو نشون میده.

---

بخش اول: سخت‌افزار (مبتنی بر 8086)

۱. ریزپردازنده 8086:

· حتماً باید از 8086 استفاده کنی.
· می‌تونی به انتخاب خودت حالت مینیموم یا ماکزیموم رو استفاده کنی.
· باید گذرگاه آدرس (Address Bus)، گذرگاه داده (Data Bus) و سیگنال‌های کنترلی مثل RD, WR, M/IO, ALE رو درست پیاده‌سازی کنی.
· نحوه اتصال 8086 به حافظه و I/O باید دقیقاً مطابق با زمان‌بندی گذرگاه و آدرس‌دهی استاندارد 8086 باشه.
· توی نرم‌افزار Proteus باید بشه عملکرد پایه‌های 8086 رو دید؛ مثلاً خوندن دستور از حافظه و تبادل داده با I/O باید به وضوح قابل مشاهده و تست باشه.

۲. حافظه:

· برای اجرای برنامه و ذخیره داده‌ها، باید حداقل یک ماژول حافظه (RAM یا ROM) توی مدار بذاری.
· خودت تصمیم بگیر که ROM رو برای برنامه بذاری یا RAM رو برای داده، یا هر دو رو ترکیبی استفاده کنی. فقط باید با ساختار سیستم هماهنگ باشه.


۳. ورودی سیستم (حداقل دو ورودی قابل تست):

· دکمه شلیک (Fire)
· دکمه ریست یا شروع جدید (Reset/New Game)
(نوع ورودی‌ها کاملاً آزاده، اما همین دوتا کلید ساده کافیه.)

۴. خروجی قابل مشاهده (حداقل یکی):

برای نمایش حرکت هدف از یه ردیف LED و برای نمایش امتیاز از ۷-سگمنت استفاده کن.
می‌تونی Buzzer هم برای اعلام شلیک موفق یا ناموفق بذاری.

· به Buzzer صداهای مختلف بده (مثلاً برای موفقیت یه صدای بلند و برای شکست یه صدای کوتاه).

---

بخش دوم: نرم‌افزار (زبان اسمبلی 8086)

· کل برنامه رو باید به زبان اسمبلی 8086 بنویسی و با آدرس‌هایی که توی سخت‌افزار مشخص کردی، هماهنگ کنی.
· حتماً باید از زیرروال‌های جداگانه استفاده کنی. حداقل این زیرروال‌ها رو داشته باش:
۱. زیرروال حرکت هدف (به‌روز کردن موقعیت و تغییر جهت در لبه‌ها)
۲. زیرروال بررسی شلیک (مقایسه موقعیت فعلی با موقعیت وسط)
۳. زیرروال نمایش امتیاز
۴. زیرروال مدیریت سرعت (زیاد یا کم کردن مقدار تأخیر)
· از پشته (Stack) برای ذخیره موقت ثبات‌ها موقع فراخوانی زیرروال‌ها استفاده کن. همچنین وضعیت بازی مثل موقعیت، جهت، امتیاز و مقدار تأخیر رو هم توی پشته ذخیره کن.
· اگه دوست داری و بلدی، از وقفه (Interrupt) برای تشخیص فشار دکمه‌ها استفاده کن که امتیاز خلاقیت داره.
· حتماً اسم‌گذاری متغیرها و برچسب‌ها رو مناسب انجام بده و کامنت‌گذاری رو به اندازه‌ای انجام بده که من بتونم برنامه رو راحت بخونم و بررسی کنم.

---

بخش سوم: الگوریتم پردازشی اصلی بازی

۱. حرکت هدف: هدف به صورت رفت و برگشت (غیرخطی) حرکت می‌کنه. هر بار یه گام به چپ یا راست می‌ره، و وقتی به لبه رسید، جهت عوض می‌شه.

۲. تشخیص شلیک: وقتی دکمه شلیک فشرده شد، موقعیت فعلی هدف رو با موقعیت وسط مقایسه کن. به عنوان "شلیک دقیق" در نظر بگیر.

۳. مدیریت امتیاز و سرعت:

· اگه شلیک دقیق بود: یک امتیاز بهش اضافه کن و مقدار تأخیر حلقه رو کم کن (یعنی هدف تندتر بره).
· اگه شلیک دقیق نبود: یک امتیاز ازش کم کن (تا صفر) و مقدار تأخیر حلقه رو زیاد کن (یعنی هدف کندتر بره).
· این کار رو ادامه بده تا امتیاز به ۱۰ برسه. وقتی به ۱۰ رسید، هدف رو متوقف کن و امتیاز نهایی رو ثابت روی خروجی نشون بده.

۴. دکمه ریست: با فشردن دکمه ریست، همه متغیرها (موقعیت، جهت، امتیاز، و مقدار تأخیر) به حالت اولیه برگردن و بازی از اول شروع بشه.

---

تذکر آخر:
لطفاً اول مدار رو توی Proteus ببند و آدرس پورت‌های ورودی و خروجی رو دقیق مشخص کن، بعد کدنویسی رو شروع کن. حتماً باید بشه توی شبیه‌سازی، سیگنال‌های خوندن/نوشتن حافظه و I/O رو مشاهده کرد. بدون تأیید اولیه مدار، شروع به کدنویسی نکن.

اگه چیزی مبهم بود یا سوالی داشتین، بهم بگین.

مهارت ها و تخصص های مورد نیاز


مهلت برای انجام

3روز

وضعیت مناقصه

بسته


درباره کارفرما

عضویت هفت سال پیش

6060 پروژه ثبت شده ،
18 پروژه در حال انجام ،
9 پروژه آماده دریافت پیشنهاد ،
نرخ پذیرش پیشنهاد 66%

برای پیدا کردن پروژه‌های مشابه ثبت نام کنید و پروفایل خود را بسازید.

ورود با گوگل
یا
نام نباید خالی باشد.
نام خانوادگی نباید خالی باشد.

نیاز به استخدام فریلنسر یا سفارش پروژه مشابه دارید؟

سفارش پروژه مشابه

نیاز به استخدام فریلنسر یا سفارش پروژه مشابه دارید؟

سفارش پروژه مشابه

قادر به انجام این پروژه هستید؟

ثبت نام کنید

متأسفانه مهلت ارسال پیشنهاد این پروژه به پایان رسیده و پروژه بسته شده است؛ اما فرصت‌های متعددی در سایت موجود می‌باشد.

سری به پروژه‌های مشابه بزنید

تمرین متلب (9362)

یک روز پیش منتشر شده

روش کار در پارس‌کدرز

به رایگان یک حساب کاربری بسازید

مهارت‌ها و تخصص‌های خود را ثبت کنید، رزومه و نمونه‌کارهای خود را نشان دهید و سوابق کاری خود را شرح دهید.

به شیوه‌ای که دوست دارید کار کنید

برای پروژه‌های دلخواه در زمان دلخواه پیشنهاد قیمت خود را ثبت کنید و به فرصت‌های شغلی منحصر به فرد دسترسی پیدا کنید.

با اطمینان دستمزد دریافت کنید

از زمان شروع کار تا انتهای کار به امنیت مالی شما کمک خواهیم کرد. وجه پروژه را از ابتدای کار به امانت در سایت نگه خواهیم داشت تا تضمین شودکه بعد از تحویل کار دستمزد شما پرداخت خواهد شد.

می‌خواهید شروع به کار کنید؟

یک حساب کاربری بسازید


بهترین مشاغل فریلنسری را پیدا کنید
رشد شغلی شما به راحتی ایجاد یک حساب کاربری رایگان و یافتن کار (پروژه) متناسب با مهارت‌های شما است.

پیدا کردن کار (پروژه)

تماشای دمو روش کار