ZAMYLA CHAN: اجازه دهید که سرگرم کننده با پانزده. پانزده اولین بازی که شما دریافت می باشد برای پیاده سازی و آن را تعاملی. در حال حاضر، به نگرانی نیست. شما لازم نیست برای نوشتن تمام چیزی که خودتان. در کد توزیع نگاه کنید چون بسیاری از ساختار بازی در حال حاضر راه اندازی را برای شما. آن را می پذیرد و تجزیه خط فرمان بحث از کاربر و ایجاد هیئت مدیره در ورودی است. این چک اگر بازی را به دست آورد و خروجی پس از آن که کاربر برنده بازی. و بازی را به نفع خود، آن را می شود ورودی از کاربر و تابع انتقال می نامد. بنابراین ما در حال به اجرای چهار توابع برای بازی از پانزده، init انجام، قرعه کشی، حرکت، و به دست آورد. نخست، اجازه دهید به مقابله با init انجام. در init انجام، برای مقداردهی اولیه، ما را نمایندگی هیئت مدیره در یک آرایه عدد صحیح 2D. و این یک متغیر جهانی به نام است هیئت مدیره با ابعاد MAX، و MAX، حداکثر ابعاد از هیئت مدیره. در حال حاضر، بعد واقعی از هیئت مدیره توسط کاربر، ارائه شده در داده عدد صحیح د، که می تواند کمتر از MAX باشد. اما در C، شما می توانید آرایه های تغییر اندازه نیست، بنابراین شما با گیر که حداکثر ابعاد. کار شما در init انجام است به پر ارزش های هیئت مدیره با ارزش درست باشد. در حال حاضر، ما دیده ایم آرایه 1D، اما چگونه می توانم آرایه 2D کار می کند؟ این شاخص از سطر وجود دارد، صفر نمایه مثل همیشه، و پس از آن نیز از ستون. و شما شبکه خود را در در پر نزولی ارزش ها، درست مثل این. شبکه، 0، 0، 0 ردیف، ستون 0، 8، شبکه 0، 1 7 است. این است که برای یک مثال که در آن د، د کمی، 3 است. در حال حاضر، هیئت مدیره در پانزده نیز باید شامل کاشی خالی، اگر تا کنون با بازی فیزیکی بازی. اما، هیئت مدیره آرایهای از اعداد صحیح است، بنابراین تمام ارزش ها باید اعداد صحیح. پس از آن تا به شما برای تصمیم گیری یک عدد صحیح ارزش برای نمایش یک کاشی خالی است. به مقداردهی اولیه هیئت مدیره خود را، شما می توانید استفاده کنید ساختار حلقه حاوی با شروع دولت از هیئت مدیره، که در آن هیئت مدیره من J نشان دهنده عنصر در من سطر و ستون j. آنها در جهت نزولی شروع و، به یاد داشته باشید، که اگر تعداد از کاشی عجیب و غریب است، پس شما باید به تعویض محل از 2 و 1. بنابراین، ما باید ما هیئت مدیره مقداردهی اولیه. در حال حاضر، که ما شروع مجدد ما هیئت مدیره، از آن زمان به آن جلب شده است. قرعه کشی خواهد شد و وضعیت فعلی چاپ هیئت مدیره، اما شما باید مطمئن شوید چاپ کاشی در همان جهت که شما آنها را مقدار دهی اولیه شده است. و شما همچنین نیاز به فرمت اعداد خود را به درستی. از آنجا که ما ممکن است تک رقمی و رقم دو برابر، و سپس شما می خواهید قبل از یک فضای خالی چاپ هر شماره رقم تنها. شما استفاده از آن با استفاده از حفره یا سوراخ -. اما به یاد داشته باشید فضای خالی است. ما نمی خواهیم به چاپ تعداد واقعی که ما انتخاب کرده ایم برای نشان دادن که فضای خالی در هیئت مدیره، اما ما نیز نمی خواهید به چاپ هیچ چیز در همه. پس چه می توانید انجام دهید این است که تعریف یک نماد و یا شخصیت به نمایندگی از کاشی خالی است. در مثال قبلی من انتخاب کردهام تاکید، و سپس شما فقط چاپ که هر زمان که شما در رسیدن به خالی فضا در عملکرد قرعه کشی خود را. پس قرعه کشی برای حلقه های تو در تو. چیزی شبیه به این. برای هر سطر، و پس از آن برای هر مقدار در ردیف، شما به چاپ ارزش در این فضا. هنگامی که تمام ارزش های شما چاپ کرده ام در ردیف، و سپس شما می توانید یک خط جدید چاپ کنید. به یاد داشته باشید که برای قرعه کشی شما تابع باید اکو یا آینه منظور در تابع مقداردهی اولیه خود را. حالا که شما در هیئت مدیره و مقدار اولیه که شما آن را رسم کرده ایم، آن هم به اجازه کاربر آن را ویرایش کنید و حرکت خود را. بنابراین در تابع Fifteen.c، برنامه طول می کشد ورودی از کاربر و پس از آن، تابع حرکت، عبور در تعدادی از کاشی که کاربر می خواهد به حرکت می کند. در حال حاضر، مراقب باشید. این تعداد واقعی از کاشی است و نه جایگاه واقعی خود را. بنابراین، شما نیاز به جستجو برای کاشی است موقعیت می دانم که در آن است. حالا شما باید فقط اجازه می دهد کاربر به یک حرکت اگر آن را قانونی. حرکت قانونی هر کاشی است که مجاور به کاشی خالی است. این بدان معناست که در بالا و پایین، به سمت چپ و به سمت راست. بنابراین شما باید بدانید که در آن کاشی خالی نیز هست. در حال حاضر، برای هر حرکت شما در جستجوی کاشی کاربران، اما آن را احتمالا بهترین برای جستجوی کاشی خالی هر زمان دلیل این که شما در حال انجام آن در هر زمان تنها کاربر می خواهد به حرکت می کند. بنابراین، به جای آن، بهتر است به خاطر داشته باشید که در آن کاشی خالی است با استفاده از و همچنین متغیر نام برد. بنابراین هنگامی که شما اجازه می دهد تا کاربر را به خود حرکت می کند، آنها به خوبی در خود راه برای برنده شدن در بازی از پانزده. برای برنده شدن در بازی از پانزده، کاشی باید در یک جهت خاص، و تابع به دست آورد که آیا چک بازی برنده شده است. این درست میشود اگر بازی را به دست آورد و کاشی را در جهت درست است، و غلط در غیر این صورت. پس از بازی پانزده، کاشی را به نفع خود باید با نظم، با کاشی خالی در گوشه پایین سمت راست. پس چگونه شما بررسی کنید که آیا کاربر تا به هیئت مدیره را به سمت راست منتقل شد گرایش؟ خوب، شما بیش از هیئت مدیره تکرار و بررسی ارزش مطمئن شوید که آنها در جای مناسب هستید. برای این کار، شما می توانید تو در تو استفاده برای حلقه درست مثل شما بود در قرعه کشی و در init انجام. یک زن و شوهر از راه برای بررسی وجود دارد و اعتبار که آیا در هیئت مدیره است درست و برنده شکل گیری، هر چند. اگر شما از چپ به راست، شروع از سطر بالا به پایین، و سپس هر تعداد باید بزرگتر از است از گذشته شد. مراقب باشید در مورد آنچه شما ارزش قائل ام انتخاب برای کاشی خالی خود را هر چند. یا شما می توانید از متغیر شمارنده به استفاده از اطمینان حاصل شود که هر مقدار در محل است، اگر شما می آیند تا با نوعی از فرمول برای نشان دادن این. پس لذت ببرید تجربه با ریاضی. هنگامی که شما با یک راه، بازگشت آمده ام درست زمانی که کاربر بازی به دست آورد. اما اگر هر مقدار نادرست، بازگشت است غلط، کاربر را به ادامه حرکت چرا که آنها بازی کرده اند به دست آورد. به محض این که چک شما پیاده سازی و همراه با مقداردهی اولیه، قرعه کشی، و حرکت، شما بازی را از پانزده به پایان رسید. تبریک می گویم و بازی سرگرم کننده است. نام من Zamyla است و این CS50 است.