با سلام خدمت دوستان و بازديدکنندگان محترم،
از اين همين حالا بخش برنامه نويسي هم به وبلاگ اضافه شد و از اين به بعد بيشتر راجع به برنامه نويسي و در ضمن بازي سازي مي نويسم.
چون تصميم گرفتم بيشتر سراغ نوشتن پيرامون موراد و کارهاي مورد علاقه ام بپردازم:
پایتون زبان برنامهنویسی تفسیری و سطح بالا ، شیگرا و یک زبان برنامهنویسی تفسیری سمت سرور قدرتمند است که توسط گیدو ون روسوم در سال ۱۹۹۰ ساخته شد. این زبان در ویژگیها شبیه پرل، روبی (رابی)، اسکیم، اسمالتاک و تیسیال است و از مدیریت خودکار حافظه استفاده میکند.
نقل شده از ویکی فارسی سایت تخصصی پایتون به زبان فارسی
پایتون به شکل پروژهای بازمتن توسعه یافته است و توسط بنیاد نرمافزار پایتون مدیریت میگردد. نسخهٔ 2.4.2 این زبان در تاریخ ۲۸ سپتامبر ۲۰۰۵ منتشر شد.
تاريخچه
نوشتن این زبان برای اولین بار در سال 1990 توسط فردی به نام گویدو ون رسوم کلید خورد. پایتون در یک محیط آموزشی ایجاد و توسعه یافته است . یعنی در کریسمس سال ۱۹۹۸ (میلادی) در موسسه ملی تحقیقات ریاضی و رایانه (CWI) شهر آمستردام. در آن زمان گیدو یک محقق در CWI بود و در زمان بیکاری خود بر روی پروژه شخصی خود یعنی پایتون کار می کرد . اولین نسخه عمومی از پایتون در ماه فوریه سال ۱۹۹۱ منتشر شد . برای مدتی نسبتاً طولانی پایتون توسط موسسه ملی تحقیقات و ابتکارات (CNRI) واقع در رستون ایالات متحده امریکا توسعه مییافت . تا اینکه در سال 2000تیم توسعه دهنده پایتون به آزمایشگاه های پایتون منتقل شدند . نام پایتون از برنامه مورد علاقه سازنده آن یعنی مونتی پایتون که یک برنامه کمدی انگلیس بود گرفته شده است .
ويژگي ها
شيء گرايي
پایتون یک زبان برنامهنویسی شیگرا است و از ویژگی های پیشرفتهایی چون وراثت، چند شکلی، سربار گزاری عملگر و … پشتیبانی می کند. یک از ویژگیهای پایتون که لقب چسب را برای پایتون به ارمغان آورده امکان استفاده از کد ها و کلاسهای نوشته شده در زبانهای دیگری چون سیپلاسپلاس و جاوا است که در حقیقت کار چسباندن قطعات کد جدا و فقط نوشتن بدنه اصلی به عهده پایتون است .
آزاد
پایتون یک زبان برنامهنویسی آزاد و بازمتن هست. میتوانید متن آن و خود برنامه را از اینترنت دریافت یا در توسعه آن همکاری کنید .
قابليت حمل
چون پایتون با زبان قابل حمل سی نوشته شده می تواند به صورت مجازی بر روی هر پردازشگردی همگردانی و اجرا شود . ماشین مجازی (مفسر پایتون) متن برنامه را خوانده و همزمان تفسیر کرده و اجرا می کند. پس شما می تونید یک برنامه را در ویندوز بنویسید و سپس بدون تغییر روی لینوکس یا مکینتاش یا هر سیستم عامل و سختافزار دیگری که پایتون روی آن نصب باشد اجرا کنید .
قدرتمند
پایتون زبانی چند رگه است که از زبانهای برنامهنویسی تفسیری (برای مثال : تیسیال، اسکیم، پرل) و زبانهای سیستمی (برای مثال: سیپلاسپلاس، سی و جاوا) مشتق شده. بنابراین تمام سادگی و راحتی کار زبانهای برنامهنویسی تفسیری و ویژگیها و قدرت زبانهای سطح پایین را داراست .
دروني سازي و گسترش
این ویژگی یکی از پرکاربرد ترین و قوی ترین ویژگی های پایتون می باشد . شما می توانید قطعه از کد را در زبانی چون سیپلاسپلاس، سی و جاوا نوشته سپس از آن در برنامه نوشته شده با پایتون استفاده کنید. و یا می توان از توابع کتابخانهای و کامپوننت هایی چون COM API ماژول) با برنامه نویسی معمولی هر زبان متفاوت می باشد . می توان از کد های پایتون در زبانهای دیگر نیز استفاده کرد (درونی سازی) استفاده کرد . البته نوع این نوع برنامه نویسی (درونی سازی)
سهولت در يادگيري
بی شک و حداقل از نظر بسیاری از برنامه نویسان پایتون این زبان یکی از آسان ترین زبان ها برای یادگیری و استفاده می باشد و از آن به عنوان یک زبان سریع برنامه نویسی یاد می کنند . این زبان نیازی به [[کامپایلر ]] ندارد و شما مستقیما می توانید پس از نوشتن کد و با یک دستور آن را اجرا کنید . دستورات این زبان بسیار نزدیک به زبان انسان می باشد . برای مثال برنامه Hello World را که اولین برنامه ساده می باشد را در دو زبان سی و پایتون مقایسه کنید :
Hello World در سی
#include <stdio.h> int main() { printf(" Hello world "); return 0; }
Hello World در پایتون
print "Hello World !!"
برخی از برنامه های نوشته شده با پایتون
- بیتتورنت (BitTorrent ) : نرم افزاری برای جستجوی فایل های به اشتراک گذاشته شده و …
- بلندر (Blender) : یک نرم افزار 3 بعدی و اپن سورس بسیار معروف
- چندلر (Chandler) : مدیر اطلاعات شخصی شامل تقویم ، میل ، کار های روزلنه ، یادداشت ها و …
- Civilization IV : یک گیم کامپیوتری بر مبنای پایتون که از boost.python استفاده می کند
- میلمن (Mailman) : یکی از معروفترین نرم افزار های مرتبط با ایمیل
- Kombilo : مدیر پایگاه داده و مرورگرگیم های go
- موین موین (MoinMoin) : یکی از قدرتمندترین و معروفتریم ویکی های موجود
- پلون (Plone) : یک ابزار مدیریتی محتوایی اپن سورس ، قدرتمند و کاربر پسند
- پورتاژ (Portage) : قلب توزیع جنتو . یک مدیر بستهای سیستم لینوکس
- زوپ (zope) : یک پلاتفورم شی گرای مبتنی بر وب . زوپ شامل یک سرور نرم افزار به همراه پایگاه داده شی گرا و یک رابط مدیریتی درونی مبتنی بر وب می باشد
- اس پی ای (SPE) : یک IDE رایگان ، اپن سورس برای سیستم عامل های ویندوز ، لینوکس ، مک که از wxGlade(طراحی رابط کاربر),PyChecker (دکتر کد) Blender(3D) پشتیبانی می کند .
این نوشته (پایتون) بخشی از کتاب پایتون می باشد .
خوب، مطلب بالا رو حتماً خوندید؟ پس دیگه الان تقریباً مواردی باب آشنایی با پایتون میدونید! برای آشنایی بیشتر و یادگرفتن اون می تونید به همین منبعی که من ازش استفاده کردم برید و مطالب اونجا رو بخونید. اینجا
من نمی خوام اینجا مطلبی در مورد آموزش پایتون بذارم، بهترین آموزش پایتون رو می تونید در همون سایت به فارسی و یا در سایت اصلی خودش به زبان انگلیسی مطالعه و کسب کنید. چیزی که من می خوام در موردش بنویسم، در مورد بازی سازی بوسیله این زبان است. البته تمام پست ها در این دسته به هم پیوسته نخواهند بود، چون من از روی مقالات و منابع مختلفی ترجمه می کنم و ممکنه که مطالب دو پست متوالی از یه جا نباشه. به هر حال، الان خودتون رو نگران این حرفم نکنید، به موقع خودتون می فهمید و در ضمن من هم توضیح میدم.
برای مطالب امروز و روز های بعد فعلاً اینها رو داشته باشید، پست بعد در ادامه اینها خواهد بود:
قرار اینجا چی یاد بگیریم؟
چگونگی نوشتن بازی های رایانه ای بوسیله زبان برنامه نویسی پایتون. با استفاده از کتابخونه های زیر:
-PyGame
و
-PyOpenGL
ما کارمون رو با مباحثی پیرامون چگونگی نصب پایتون و کتابخانه ها و همچنین مروری کوتاه پیرامون نحوه برنامه نویسی پایتون و نکات پایه ای پای گیم (از این به بعد برای سهولت در نوشتن بجای پای گیم از پ.گ استفاده می کنم) شروع می کنیم و کم کم ساخت بازی های دو بعدی و سه بعدی رو شروع می کنیم.
حتماً خیلی دوست دارید بدونید این آموزش ها رو چه کسانی نوشته اند؟
آموزش های آتی توسط دو فرد به نام های Geoff Howland و Rene Dudfield نوشته شده است. بهتر نیست قبل از شروع مقاله بعدی اسم این دو نفر رو گوگل کنیم تا راجع بهشون اطلاع پیدا کنیم و بهتر بشناسیمشون؟
خوب حتماً می دونید پایتون چیه و حتماً تا حالا فهمیدید که چرا ما پایتون رو برای بازی سازی انتخاب کردیم (اگر جستجو کردید و چیز بدرد بخوری پیدا نکردید همینجا بیان کنید تا با هم فکری هم دیگه نکات جالبی رو برای افرادی هم که نمی دونند بدست بیاریم)
نصب پایتون و شروع به کار با آن:
خوب وقتشه شعار رو کنار بزاریم و واقعاً شروع کنیم… همینطور که می دونید اکثر افراد از دو سیستم عامل محبوب ویندوز و لینوکس استفاده می کنند (در ایران)
ویندوز
این فایل ها رو بگیرید:
خود پایتون – پای گیم – چند مثال برای کار – حجم فایل ها زیاد نیست…
سیستم عامل لینوکس
پایتون به صورت پیشفرض در اکثر توزیعات لینوکس نصب میشه و بسته به نوع توزیع و بسته های شناخته شده در آن (deb or rpm) خودتون در سایت هایی نظیر GetDeb و غیره و با گوگل کردن به راحتی PyGame رو پیدا کنید.
خوب حتماً می دونید چطوری پایتون رو اجرا کنید پس دیگه توضیح نمی دم (ویندوزی ها از استارت منو IDLE رو پیدا کنند (GUI پایتون))
نظرتون راجع به اجرای این چند خط کد چیه؟
import pygame
print dir(pygame)
print dir()
خوب import از پایتون می خواد که اون ماژول رو بارگزاری کنه.
این کد هم بعدها زیاد به درد می خوره:
help(pygame.Rect)
اجرای مثال ها
در command prompt ویندوز این کدها را بنویسید:
set PATH=%PATH%;c:\Python24\
cd «\Program Files\Pygame-Docs\examples»
python chimp.py
توجه کنید که مسیر مثال ها به این بستگی داره که شما کجا اونها را از جالت فشرده زیپ خارج کرده باشید. شاید شما بخواید خط set رو توی autoexec.bat تون قرار بدید تا لازم نباشه هر دفعه برای استفاده از پایتون این رو بنویسید.
کابران سیستم عامل لینوکس هم از کدهایی نظیر زیر استفاده می کنند:
cd /usr/share/doc/python2.4-pygame/examples/
python chimp.py
خوب، تا آموزش بعدی سعی کنید برخی دیگه از مثالها رو اجرا کنید.
مطالب این پست تا حدودی ترجمه از این سایت و استفاده از دانسته های قبلی خودم بود.
پ.ن: در صورتی که پیرامون این آموزش مشکلی داشتید می توانید مشکلات خودتون رو در این تاپیک از سایت دنیای آینده مطرح کنید. اما در صورتی که سوال شما پیرامون خود پایتون هستش می تونید به فروم تخصصی پایتون به فارسی مراجعه کنید. در ضمن، سوالات پیرامون نصب این ها در لینوکس رو هم می تونید در سایت هایی نظیر اوبونتوی ایران، تکنوتاکس و وبلاگ های مرتبط با لینوکس بپرسید. برخی از وبلاگ های خوب در این زمینه: اوبونتو بلاگ , مداد آی تی، کافه ی گنو و لینوکس، آموزش لینوکس و … .
پ.ن2: لطفاً فقط به مطالب من اکتفا نکنید، اگر واقعاً می خواید بازی نویسی با پایتون رو یاد بگیری خودتون هم جستجو کنید و حتی ما رو هم از نتایجتون خبر کنید.
پ.ن3: اگر این پست رو به صورت کامل خوندید و به دردتون خورد حتماً نظر بدید، اینجوری من بهتر می فهمم که این مطلب چقدر طرفداره!