<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>فصل دوازدهم  on کتاب Python Crash Course</title>
		<link>https://python.iotwithiman.com/docs/part02/ch12/</link>
		<description>Recent content in فصل دوازدهم  on کتاب Python Crash Course</description>
		<generator>Hugo</generator>
		<language>fa-IR</language>
		
		
		
		
			<atom:link href="https://python.iotwithiman.com/docs/part02/ch12/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>مرور پروژه و ساختن اوّلین موجود بیگانه</title>
				<link>https://python.iotwithiman.com/docs/part02/ch12/p01/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://python.iotwithiman.com/docs/part02/ch12/p01/</guid>
				<description>&lt;p&gt;در این فصل موجودات بیگانه را به &lt;em&gt;هجوم بیگانگان&lt;/em&gt; اضافه می‌کنیم. ابتدا یک موجود بیگانه را به بالای صفحه اضافه می‌کنیم سپس ناوگانی کامل از این بیگانگان تولید می‌کنیم. کاری می‌کنیم که این ناوگان به سمت پایین و کناره‌ها حرکت کند و هر کدام را که گلوله بخورند، خلاص می‌کنیم. در نهایت تعداد سفینه‌های هر بازیکن را محدود می‌کنیم و با تمام شدن سفینه‌ها به بازی پایان می‌دهیم.&lt;/p&gt;&#xA;&lt;p&gt;هر چه در این پروژه بیشتر پیش می‌روید هم با پای‌گیم بیشتر آشنا می‌شوید و هم در مورد مدیریّت پروژه‌های بزرگ می‌آموزید. همچنین یاد می‌گیرید که چگونه برخورد بین اشیای مختلف بازی مانند گلوله‌ها و موجودات بیگانه را تشخیص دهید. تشخیص این برخوردها به شما کمک می‌کند که برهم‌کنش بین عناصر مختلف را در بازی‌های خود تعیین کنید: برای مثال می‌توانید شخصیّت بازی را داخل دیوارهای یک هزارتو محدود کنید یا توپی را بین دو بازیکن بازی رد و بدل کنید. کار را بر اساس نقشه‌ای ادامه می‌دهیم که گاه‌به‌گاه آن را مجدّداً بررسی می‌کنیم تا تمرکز را بر روی بخش‌های کدنویسی حفظ کنیم.&lt;/p&gt;</description>
			</item>
			<item>
				<title>ساختن ناوگان موجودات بیگانه</title>
				<link>https://python.iotwithiman.com/docs/part02/ch12/p02/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://python.iotwithiman.com/docs/part02/ch12/p02/</guid>
				<description>&lt;p&gt;برای رسم ناوگان باید بفهمیم که چند موجود بیگانه در طول صفحه جا می‌گیرد و چند سطر از این موجودات کل صفحه را پر می‌کند. ما ابتدا فاصله‌ی افقی موجودات بیگانه را تعیین و یک سطر ایجاد می‌کنیم سپس فاصله‌ی عمودی را مشخّص کرده و ناوگان کامل را می‌سازیم.&lt;/p&gt;&#xA;&lt;h3 id=&#34;تعیین-تعداد-موجودات-بیگانهای-که-در-یک-سطر-جا-میشوند&#34;&gt;تعیین تعداد موجودات بیگانه‌ای که در یک سطر جا می‌شوند&lt;/h3&gt;&#xA;&lt;p&gt;برای پیدا کردن تعداد موجوداتی که در یک سطر جا می‌شوند به کل فضای افقی موجود نگاهی می‌اندازیم. عرض صفحه در &lt;code&gt;settings.screen_width&lt;/code&gt; ذخیره می‌شود امّا به حاشیه‌ای خالی در دو طرف صفحه هم نیاز داریم. این حاشیه را برابر با عرض یکی از موجودات بیگانه در نظر می‌گیریم. چون در هر دو طرف حاشیه داریم، فضای موجود برای بیگانگان برابر می‌شود با عرض صفحه منهای دو برابر عرض هر موجود بیگانه:&lt;/p&gt;</description>
			</item>
			<item>
				<title>به راه انداختن ناوگان</title>
				<link>https://python.iotwithiman.com/docs/part02/ch12/p03/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://python.iotwithiman.com/docs/part02/ch12/p03/</guid>
				<description>&lt;p&gt;اکنون کاری می‌کنیم که ناوگان به سمت راست صفحه حرکت کند تا به لبه‌ی آن برسد، سپس آن را به اندازه‌ی مشخّص‌شده‌ای پایین می‌بریم و دوباره در جهت مخالف حرکت می‌دهیم. این را تا وقوع یکی از موارد زیر ادامه می‌دهیم: تمام موجودات بیگانه هدف گلوله قرار بگیرند، یکی از آن‌ها به سفینه بخورد یا به پایین صفحه برسد. کار را با حرکت دادن ناوگان به سمت راست شروع می‌کنیم.&lt;/p&gt;</description>
			</item>
			<item>
				<title>شلّیک به موجودات بیگانه</title>
				<link>https://python.iotwithiman.com/docs/part02/ch12/p04/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://python.iotwithiman.com/docs/part02/ch12/p04/</guid>
				<description>&lt;p&gt;تا اینجا سفینه و ناوگان بیگانگان را ساخته‌ایم ولی گلوله‌ها با رسیدن به موجودات بیگانه صرفاً از آن‌ها رد می‌شوند زیرا برخوردها را بررسی نمی‌کنیم. در برنامه‌نویسی بازی &lt;em&gt;برخورد&lt;/em&gt; زمانی رخ می‌دهد که عناصر بازی با هم هم‌پوشانی پیدا کنند. برای این که کاری کنیم گلوله‌ها موجودات بیگانه را نابود کنند از متد &lt;code&gt;sprite.groupcollide()&lt;/code&gt; استفاده می‌کنیم تا برخورد بین اعضای دو گروه را تشخیص دهیم.&lt;/p&gt;&#xA;&lt;h3 id=&#34;تشخیص-برخورد-گلوله&#34;&gt;تشخیص برخورد گلوله&lt;/h3&gt;&#xA;&lt;p&gt;هدف ما این است که برخورد گلوله به یک موجود بیگانه را بلافاصله تشخیص دهیم تا بتوانیم پیش از اصابت آن را هرچه‌سریع‌تر از روی صفحه حذف کنیم. برای چنین منظوری بلافاصله بعد از به‌روزرسانی موقعیّت تمام گلوله‌ها به دنبال برخوردها می‌گردیم.&lt;/p&gt;</description>
			</item>
			<item>
				<title>پایان دادن به بازی</title>
				<link>https://python.iotwithiman.com/docs/part02/ch12/p05/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://python.iotwithiman.com/docs/part02/ch12/p05/</guid>
				<description>&lt;p&gt;اگر شما در یک بازی بازنده نشوید، دیگر آن بازی چه لذّت و چالشی خواهد داشت؟ اگر بازیکنان در کشتن موجودات بیگانه به اندازه‌ی کافی سرعت به خرج ندهد موجودات بیگانه پس از برخورد، سفینه‌های آن‌ها را به نابودی خواهند کشید. همزمان با این تعداد سفینه‌های قابل استفاده‌ی هر بازیکن را محدود کرده و با رسیدن موجودات بیگانه به پایین صفحه سفینه را نابود می‌کنیم. بازی با به پایان رسیدن سفینه‌های قابل استفاده‌ی بازیکن به پایان خواهد رسید.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
