پس در ویدیوهای قبلی دیدیم آرایه‌ها چگونه کار می‌کنند و یکی از پروژه‌های بعدی بازی دوز خواهد بود.
و برای اینکه دوز را بفهمیم، باید مطمئن شویم که از آرایه‌ها به صورت دوبعدی استفاده می‌کنیم.
باشه.
پس دیدیم چگونه یک آرایه یک‌بعدی بسازیم.
اما حالا می‌خواهیم ببینیم چگونه آرایه‌های دوبعدی ایجاد می‌شوند.
برای تعریف یک آرایه دوبعدی، دوباره از کروشه‌ها استفاده می‌کنید.
اما سپس یک کاما بین آن‌ها اضافه می‌کنید.
پس این یکی یک آرایه دوبعدی خواهد بود، به عنوان مثال برای تعریف آن.
و سپس می‌توانیم بگوییم new int.
و اینجا من از یک آرایه چندبعدی سه در سه استفاده می‌کنم.
شکل آن چیزی شبیه این خواهد بود، بذارید اینجا نشان دهم.
پس چند مقدار داریم اینجا، باشه.
پس این آرایه دوبعدی حالا به این شکل خواهد بود.
دارای دو بعد است.
هم در جهت x و هم در جهت y حرکت می‌کند، باشه.
پس آن‌ها را اینجا داریم.
پس در موقعیت صفر صفر مقدار صفر داریم و در موقعیت صفر یک.
پس خط صفر، ستون یک نیز صفر داریم.
اما این فقط به این دلیل است که به طور پیش‌فرض همه مقادیر صفر هستند.
اما این محتوای آرایه دوبعدی فعلی ما است.
حال می‌توانیم از این استفاده کنیم و یک آرایه سه‌بعدی هم بسازیم با اضافه کردن یک کاما دیگر اینجا.
و بیایید آن را 3D declaration بنامیم.
اما سپس باید مطمئن شویم که بعد دیگری هم اضافه می‌کنیم.
پس این یکی یک مکعب سه در سه در سه خواهد بود.
سه در جهت x، سه در جهت y و سه در جهت z.
پس این یک آرایه سه‌بعدی خواهد بود.
و من نمی‌توانم یک آرایه سه‌بعدی را روی یک صفحه دوبعدی نمایش دهم.
برای این کار به یک مکعب سه‌بعدی نیاز دارم.
حالا چگونه چنین آرایه‌ای را مستقیماً مقداردهی اولیه کنم؟
پس بذارید نشان دهم.
int و دوباره از استفاده می‌کنم تا ساده باشد.
array to the initialized و این یکی خواهد بود.
و اینجا می‌توانیم از کروشه‌ها استفاده کنیم.
پس روش کار این است که شما چند بعد دارید و باید از آکولادهای اطراف استفاده کنید.
و سپس برای هر بعد که می‌خواهید استفاده کنید، دوباره از آکولادها استفاده کنید.
پس روش کار این است که من اینجا، به عنوان مثال، یک مقدار یک و یک مقدار دو اختصاص می‌دهم.
و سپس این یکی سه و چهار.
پس حالا یک آرایه دوبعدی با دو مقدار داریم.
پس اینجا دیدیم، سه، باشه.
و این یکی فقط دو مقدار در محور x و محور y خواهد داشت.
پس اگر آن را با کاری که قبلاً انجام دادیم مقایسه کنیم، حالا مقادیر را مستقیماً اختصاص داده یا مقداردهی اولیه کرده‌ایم.
مستقیماً.
پس این یکی یک خواهد بود و این یکی دو.
این یکی سه و آن یکی چهار.
پس می‌بینید که این کاری است که اینجا انجام دادیم.
گفتیم در اولین ردیف، این اولین ردیف است.
مقدار یک در موقعیت صفر و مقدار دو در موقعیت یک، اندیس یک داریم.
و سپس در ردیف دوم سه و چهار داریم، باشه.
پس بیایید سعی کنیم به آیتم‌های داخل این آرایه دسترسی پیدا کنیم.
مقداردهی اولیه.
و بنابراین من تمام کدهای دیگر که قبلاً داشتیم را حذف می‌کنم.
read key فقط تابع را اینجا نگه می‌دارم.
array 2D initialized و فرض کنیم می‌خواهم به در موقعیت صفر صفر دسترسی پیدا کنم.
باشه، نمی‌توانم فقط صفر بگویم، بلکه باید هر دو بعد را اینجا داشته باشم چون این یک آرایه دوبعدی است.
باید آن را با کاما جدا کنم و به این شکل به آن دسترسی پیدا کنم.
باشه، پس این نحوه دسترسی به متغیر است.
و همینطور می‌توانم مقدار آن را بازنویسی کنم.
فرض کنیم اول به صفر صفر دسترسی پیدا می‌کنیم و سپس صفر صفر را با مثلاً پنج بازنویسی می‌کنیم.
و سپس دوباره به آن دسترسی پیدا می‌کنیم.
پس دوباره آن را نمایش می‌دهیم.
بذارید نشان دهم این چگونه خواهد بود.
پس خواهیم دید اول یک می‌گیریم و سپس پنج.
چرا یک گرفتیم؟
خب، چون مقداردهی اولیه entry در صفر صفر یک بوده است.
و سپس آن را با پنج بازنویسی کردیم.
پس حالا چگونه به این سه دسترسی پیدا کنیم؟ امیدوارم ویدیو را متوقف کرده و کمی فکر کرده باشید.
در مورد آن.
پس برای دسترسی به این سه، باید بگویم یک، صفر، چون ورودی اول ردیف است و.
ورودی دوم ستون
پس اینجا در ردیف یک است.
و اینجا در ردیف صفر .
است
پس اگر بخواهم به چیزی از اینجا دسترسی پیدا کنم، باید مثل یک آرایه معمولی با آن رفتار کنم.
اما در ردیف یک، به اصطلاح.
درسته.
پس می‌گویم این اندیس صفر است و این اندیس یک، اما مربوط به ردیف یک است.
پس باید از یک به عنوان ردیف و صفر به عنوان ستون استفاده کنم.
پس حالا این به من اجازه می‌دهد به این سه دسترسی پیدا کنم، باشه.
بذارید این خط را حذف کنم و ببینیم آیا واقعاً سه را می‌گیریم.
و این هم هست.
عدد سه را اینجا می‌گیریم.
خیلی خب، باشه.
پس بیایید یک آرایه دیگر بسازیم.
اما این بار یک آرایه چندبعدی ایجاد می‌کنیم که قابلیت ذخیره یک میدان سه در سه را داشته باشد
X یا اطلاعات یک میدان سه در سه، مثل دوز که می‌توانی
داشته باشی O و یا
و این یعنی باید از رشته‌ها برای این کار استفاده کنیم
پس بنابراین بیایید ویدیو را متوقف کنیم.
یا می‌توانید ویدیو را متوقف کنید و خودتان امتحان کنید، فقط برای چند لحظه. امیدوارم امتحان کرده باشید.
پس کاری که اینجا انجام می‌دهم این است که یک آرایه دیگر می‌سازم، این بار از نوع رشته، و این
چندبعدی خواهد بود.
و نام آن را بگذاریم مثلاً tic tac toe field.
و این یکی شامل یک آرایه رشته‌ای چندبعدی خواهد بود.
پس اینجا باید در انتها یک سمی‌کالن اضافه کنم چون این هنوز یک تعریف آرایه است.
و اینجا می‌توانم بروم جلو و مقادیر را بسازم.
پس این به این شکل خواهد بود.
و سپس یکی دیگر به این شکل و سومی هم به همین صورت.
خب، چه چیزی باید داخل آن باشد؟
فرض کنیم اولین ورودی O است، مثل این. ورودی دوم X است.
ورودی سوم هم X خواهد بود.
و سپس اینجا O و اینجا دوباره O داریم.
و اینجا X داریم.
و حالا در نهایت ردیف سوم قرار است x، x و o باشد چون به یک برنده نیاز داریم.
پس چه کسی در این حالت برنده شد؟ O برنده شد.
هر بازیکنی که O را به عنوان نشان خودش داشت، به اصطلاح.
چون اگر خط بزنیم می‌بینید که بازیکن برنده شده است.
پس این شکلی است که یک میدان دوز می‌تواند به نظر برسد.
char حالا البته می‌توانستید از هم استفاده کنید چون واقعاً فقط یک کاراکتر است.
string اما من برای سادگی از استفاده می‌کنم.
پس این همان چیزی است که یک میدان دوز به نظر می‌رسد.
چطور یا بهتر بگویم فرض کنید می‌خواهم tic tac toe field را در یک موقعیت نمایش دهم.
و حالا جالب می‌شود.
یک، دو.
خب حالا چه چیزی می‌گیرم؟
فکر کنید.
ویدیو را متوقف کنید و سریع فکر کنید.
چه چیزی می‌گیرم؟
پس من ردیف یک را می‌گیرم، یعنی این ردیف اینجا.
و ورودی اندیس دو را می‌گیرم که این x اینجاست.
پس بگذارید سریع اجرا کنیم و خواهید دید واقعاً x را می‌گیریم، باشه.
پس من سریعاً این آرایه رشته‌ای چندبعدی را ساختم تا فقط درک کنید
که اندیس‌ها چه شکلی هستند.
پس اگر یک آرایه سه‌بعدی داشته باشید، اگر بخواهید به این آیتم دسترسی پیدا کنید باید از صفر، صفر استفاده کنید.
صفر.
یا حتی می‌توانیم جلوتر برویم و مثلاً صفر، صفر و دو، صفر اضافه کنیم.
و شاید این باعث شود راحت‌تر بفهمید.
پس این‌ها اندیس‌ها هستند اگر بخواهید به آن‌ها دسترسی پیدا کنید.
پس اگر بخواهید به آیتم بالا سمت چپ دسترسی پیدا کنید باید از صفر صفر استفاده کنید.
اگر بخواهید به این آیتم اینجا دسترسی داشته باشید باید از یک یک به عنوان اندیس استفاده کنید.
پس بگذارید سریع نشان دهم، اگر من به یک، دو دسترسی پیدا کنم واقعاً مقدار یک،.
دو را به عنوان مقدار اینجا می‌گیرم
خیلی خب.
پس این به طور کلی نحوه استفاده از آرایه‌های چندبعدی است.
حداقل اینجا ما از آرایه‌های دوبعدی استفاده کردیم.
حالا این دقیقاً به همین شکل برای آرایه‌های سه‌بعدی هم کار می‌کند، فقط باید ابعاد بیشتری اضافه کنید.
به آن.
پس بیایید در ویدیوی بعدی سریعاً نگاهی به آرایه‌های سه‌بعدی بیندازیم.
می‌بینمتان آنجا.