Backend CI / type-check, build, tests (push) Successful in 1m16s
Server grades levels 7-13 and keeps castle attempt results separate from stored progress. Co-authored-by: Cursor <cursoragent@cursor.com>
37 lines
2.3 KiB
Markdown
37 lines
2.3 KiB
Markdown
# مرحله ۱۲ — هدف مالی
|
||
|
||
## هدف
|
||
|
||
کودک یک خواسته را به هدف مشخص تبدیل کند، مبلغ باقیمانده و زمان لازم را حساب کند و بعد از تغییر شرایط برنامه را اصلاح کند. مبالغ خیالیاند و از کیف پول بازی کم نمیشوند. بدهی، درآمد تضمینی و حذف نیاز ضروری راهحل نیستند.
|
||
|
||
## سناریو
|
||
|
||
بسته ساخت کاردستی قلعه ۱۲۰ سکه است. موجودی ۳۰، پول هفتگی ۳۰ و نیاز ضروری عادی ۱۰ سکه است. پسانداز قابل انتخاب در حالت عادی ۵، ۱۰، ۱۵ یا ۲۰ است. خرج اختیاری = ۳۰ − ۱۰ − پسانداز. صفر بودن آن خطا نیست.
|
||
|
||
مبلغ باقیمانده ۹۰ است. تعداد هفته = `ceil(۹۰ / پسانداز هفتگی)`.
|
||
|
||
| پسانداز | هفته |
|
||
| ---: | ---: |
|
||
| ۵ | ۱۸ |
|
||
| ۱۰ | ۹ |
|
||
| ۱۵ | ۶ |
|
||
| ۲۰ | ۵ |
|
||
|
||
در هفته دوم نیاز ضروری ۲۰ سکه میشود. پسانداز همان هفته ۰، ۵ یا ۱۰ است. هفته اول با نرخ اولیه ثبت شده میماند. از هفته سوم نرخ ادامه دوباره یکی از ۵، ۱۰، ۱۵ یا ۲۰ است و خودکار پر نمیشود.
|
||
|
||
`موجودی پس از هفته دوم = ۳۰ + نرخ اولیه + نرخ هفته دوم`
|
||
|
||
`هفتههای باقیمانده = ceil(max(0, ۱۲۰ − موجودی) / نرخ ادامه)`
|
||
|
||
`کل زمان = ۲ + هفتههای باقیمانده`
|
||
|
||
مثال ۱۵ / ۵ / ۱۵: موجودی ۵۰، پنج هفته دیگر، کل ۷ هفته، موجودی نهایی ۱۲۵.
|
||
|
||
## نمره
|
||
|
||
پنج سؤال ۲۰ امتیازی: ۰، ۴۰، ۶۰، ۸۰، ۱۰۰. سرعت برنامه نمره نیست. زیر ۶۰ تکمیل نمیشود. پاداش پایه ۵۰ XP و ۲۰ سکه است.
|
||
|
||
شناسهها: `q-goal=specific`، `q-left=90`، `q-weeks=6`، `q-need=adjust`، `q-change=update`.
|
||
|
||
ارسال: `{ questionId: "plan", plan: { initialWeekly, exceptionWeekly, continueWeekly } }` بهعلاوه پنج `{ questionId, answerId }`. زمان و موجودی کلاینت پذیرفته نمیشود.
|