پایان نامه ها

دانلود پایان نامه رشته های معماری و شهرسازی برنامه ریزی شهری مدیریت آموزشی شیمی فیزیک ریاضی زیست شناسی کشاورزی تربیت بدنی بازاریابی گرافیک پژوهش هنر تبدیل انرژی مشاوره ساخت و تولید صنایع غذایی رایگان پروژه تحقیق پژوهش مقاله پلیمر سمینار

پایان نامه ها

لینک های سایت دانلود پایان نامه و سمینار ارشد – سبز فایل : دانلود پایان نامه حقوق - دانلود پایان نامه مدیریت - دانلود پایان نامه روانشناسی

دانلود پایان نامه رشته های معماری و شهرسازی برنامه ریزی شهری مدیریت آموزشی شیمی فیزیک ریاضی زیست شناسی کشاورزی تربیت بدنی بازاریابی گرافیک پژوهش هنر تبدیل انرژی مشاوره ساخت و تولید صنایع غذایی رایگان پروژه تحقیق پژوهش مقاله پلیمر سمینار

دانلود متن کامل با فرمت ورد پایان نامه های کارشناسی ارشد خرید و فروش و معاوضه پایان نامه آرشیو پایان نامه مجموعه کامل پایان نامه دسترسی متن کامل پایان نامه های ایران داک (گنج)

آخرین مطالب

6f/2 (34275)

مدیر سایت | جمعه, ۵ آبان ۱۳۹۶، ۱۱:۲۰ ق.ظ

6f/2 (34275)

آ7

 

برای برنامه نویسی در محیط گرافیکی نیاز به مقدماتی برای ورود به محیط گرافیک است . اولین خط هر برنامه گرافیکی بعد از دستور Program ، فرمان زیر است :

Uses graph ;

با استفاده از دستور uses برنامه شما می تواند از پیمانه ها و ثوابت توربو پاسکال استفاده کند . این ثوابت و پیمانه ها در فایلی که یک unit نامیده می شود جای می گیرند . کدی که در حالت گرافیکی توسط کامپیوتر تولید می شود ، به نوع کامپیوتر بستگی دارد . بنابراین نوع سخت افزار گرافیکی که در اختیار سیستم است باید به توربو پاسکال اعلام شود . برای این کار از دو متغیر Driver و Mode بصورت زیر استفاده می شود :

Var

  Driver , Mode : Integer ;

محتوای این دو متغیر نوع سخت افزارهای گرافیکی سیستم را مشخص می کند . برای تعیین حالت گرافیکی از دستور زیر استفاده می شود :

InitGraph (Driver, Mode, ‘…….’) ;

رویه InitGraph سیستم گرافیکی شما را بررسی کرده و سپس در متغیرهای Driver و Mode مقادیر مناسب را قرار می دهد . پارامتر رشته ای ‘……’ شاخه ای را مشخص می کند که در آن نرم افزار کنترل سیستم گرافیکی شما وجود دارد . رشته ای که بدون کاراکتر است ‘ ‘ به این معناست که این نرم افزار در شاخه جاری قرار دارد .

این نرم افزار همواره در شاخه BGI قرار دارد و معمولا" در محلی است که برنامه توربو پاسکال نصب شده است . بنابراین باید آدرس شاخه BGI را بجای این رشته بنویسیم . برای انعطاف پذیر شدن برنامه و قابلیت اجرای آن روی سیستم های مختلف معمولا" یک نسخه از شاخه BGI را در شاخه ای که برنامه در آن قرار دارد ، کپی می کنیم .

صفحه نمایشی که مانند یک صفحه مختصات است :

در برنامه نویسی گرافیکی موقعیت هر خط یا هر شکلی را که روی صفحه نمایش رسم می کنید ، باید کنترل کنید . صفحه نمایش را در محیط گرافیکی بصورت مختصات X-Y تعدادی نقطه می توان در نظر گرفت . در اکثر نمایشگرها ابعاد متداول عبارتند از : 200×320 ، 350×640 ، 480×640 . که معمولا" تعداد نقاط در محور X ها بیشتر است .

توابع GetMaxX و GetMaxY در توربو پاسکال، به ترتیب حداکثر تعداد نقاط در Xها و Yها را برمی گردانند . بنابراین برای بدست آوردن ابعاد واقعی نمایشگر خود می توانید از این توابع بصورت زیر استفاده کنید :               

 MaxX := GetMaxX ;             MaxY := GetMaxY ;

مختصات گوشه های صفحه نمایش به صورت زیر است.

برای برگرداندن برنامه به حالت متنی از دستور زیراستفاده می کنیم . 

CloseGraph ;

رنگ زمینه و متن :

بطور پیش فرض برای رنگ های زمینه و متن ، به ترتیب از سیاه و سفید استفاده می شود . دستورات زیر امکان تغییر رنگ زمینه و متن را فراهم می کنند .

SetBkColor (….) ;                  تعیین رنگ زمینه

SetColor (….) ;                         تعیین رنگ متن  

برای انتخاب رنگها از ثوابت رنگی یا معادل عددی رنگها طبق جدول زیر استفاده می شود :

 
ثابت مقدار ثابت مقدار

Black 0 DarkGray 8

Blue 1 LightBlue 9

Green 2 LightGreen 10

Cyan 3 LightCyan 11

Red 4 LightRed 12

Magenta 5 LightMagenta 13

Brown 6 Yellow 14

LightGray 7 White 15

 

خلاصه ای از توابع و رویه های گرافیکی :

·                Line (X1, Y1, X2, Y2) ;

بین نقاط (X1,Y1) و (X2,Y2) خطی رسم می شود .

·        Rectangle (X1, Y1, X2, Y2) ;

مستطیلی که قطر آن بین نقاط (X1,Y1) و (X2,Y2) است می کشد .

·        Circle (X, Y, R) ;

دایره به مرکز (X,Y) و شعاع R رسم می کند .

·        Arc (X, Y, Angle1, Angle2, R) ;

کمانی از زاویه Angle1 تا Angle2 و به مرکز (X,Y) و شعاع R رسم می کند .

·        SetFillStyle (FilPat, FilCol ) ;

برای رنگ آمیزی قسمتهایی از صفحه نمایش با رنگهای مختلف از این رویه استفاده می شود تا نوع رنگ و نحوه رنگ آمیزی مشخص شود .

الگوهای رنگ آمیزی و رنگها با توجه به جدول زیر انتخاب می شوند ، در این رویه هم از نام ثابت و هم از معادل عددی می توانید استفاده کنید .

تا زمانیکه بار دیگر این رویه را فراخوانی نکنید ، این حالت فعال خواهد بود .
ثابت معادل عددی الگوی رنگ آمیزی ثابت معادل عددی الگوی رنگ آمیزی

EmptyFill2 0 رنگ زمینه LtBkSlashFill 6 \ \ \ \ (بافاصله)

SolidFill 1 بصورت توپر HatchFill 7 هاشور

LineFill 2 – – – – XhatchFill 8 متقاطع

ItSlashFill 3 / / / / (بافاصله) InterLeaveFill 9 خط در میان

SlashFill 4 //// (بدون فاصله) WidDotFill 10 نفطه ای (بافاصله)

BslashFill 5 \\\\ (بدون فاصله) CloseDotFill 11 نقطه ای(بدون فاصله)

 

 

 

 

 

 

 

·       

FloodFill (X, Y, Border) ;

محدوده ای را که حاوی نقطه (X,Y) است و با خطوطی به رنگ Border محصور شده است ، با الگوی جاری رنگ آمیزی می کند .

·        Bar (X1, Y1, X2, Y2) ;

مستطیلی توپر می کشد که قطر آن بین نقاط (X1,Y1) و (X2,Y2) است .

·        PieSlice (X, Y, Angle1, Angle2, R) ;

یک برش دایره توپر می کشد که از زاویه Angle1 شروع شده و به Angle2 ختم می شود و دارای مرکز (X,Y) و شعاع R می باشد .

·        OutTextXY (X, Y, TextString) ;

در نقطه (X,Y) کاراکترهای رشته TextString را چاپ می کند .

v    برنامه زیر یک نمونه از برنامه نویسی ساده گرافیکی را نشان می دهد .

uses graph;

procedure HappyFace(MidX,MidY:integer);

var

HeadRadius:integer;

begin

   HeadRadius:=GetMaxY div 4;

   Circle (MidX, MidY, HeadRadius);

end;

 

var                

   Driver,Mode,MidX,MidY:integer;

begin

   InitGraph (Driver, Mode, ' ');

   MidX:=GetMaxX div 2;

   MidY:=GetMaxY div 2;

   HappyFace(MidX,MidY);

   OutTextXY(230, 400, '!!! Press Any Key !!!');

   readln;

   CloseGraph;

end.

نقاشی متحرک گرافیکی :

اگر یک رویه گرافیکی دارای پارامتر باشد ، می توان موقعیت یک شکل را تغییر داد و یا آن شکل را در چند نقطه از صفحه نمایش رسم کرد . علاوه بر این می توان یک شکل را متحرک ساخت . این کار به این صورت انجام می شود که ابتدا شکلی در نقطه خاصی از صفحه نمایش رسم می شود ، سپس از آن نقطه پاک شده و در محل دیگری رسم می شود . با تکرار این عمل شکل مورد نظر متحرک به نظر می رسد .

برای تعیین سرعت حرکت از یک تأخیر زمانی بین دفعات رسم شکل استفاده می کنیم . برای ایجاد این تأخیر می توان از رویه Delay (DelayTime) استفاده کرد . عدد DelayTime بر اساس میلی ثانیه بیان می شود و البته برای استفاده از این تابع باید  واحد Crt را با فرمان uses Crt در ابتدای برنامه فراخوانی کنید .

v    در مثال بعد با استفاده از روش گفته شده ، شکل رسم شده در مثال قبل را متحرک می کنیم.

var

   Driver,Mode,MidX,MidY:integer;

begin

   InitGraph (Driver, Mode, ' ');

   MidX:=0;

   MidY:=0;

   while ((MidX<GetMaxX) and (MidY<GetMaxY)) do

     begin

       HappyFace(MidX,MidY);

       MidX:=MidX+50;

       MidY:=MidY+50;

       Delay(50);

       SetFillStyle(3,4);

       Bar(0,0,639,479);

     end;

   OutTextXY(230, 400, '!!! Press Any Key !!!');

   readln;

   CloseGraph;

end.

 

دستور کار (1 )

در محیط گرافیک توربو پاسکال برنامه ای بنویسید که اشکال زیر را در خروجی رسم کند . سعی کنید توابع را طوری بنویسید که با دریافت مختصات یک نقطه از شکل مثلا" مرکز آن ، تمام شکل را رسم کند . (مانند مثال مطرح شده در جزوه) سعی کنید تمام مختصات لازم برای رسم اشکال را با فرمول بدست آورید و تا حد امکان از استفاده مستقیم از اعداد خودداری کنید .

دستور کار (2 )

در محیط گرافیک توربو پاسکال برنامه ای بنویسید تا اشکال زیر را به ترتیب و بصورت متحرک نمایش دهد. سرعت حرکت آدمک باید به گونه ای باشد که بین مرحله اول تا آخر 2 ثانیه طول بکشد. نیازی به جابجایی خانه ها وجود ندارد ، برنامه را طوری بنویسید که آدمک از یک خانه بیرون بیاید و دوباره در همان خانه فرو برود . تابع رسم آدمک باید به گونه ای باشد که با دریافت مختصات یک نقطه مشخص (مرکز خانه) آدمک را رسم کند و هر بار با کم یا زیاد کردن مختصات این نقطه آدمک را در محل جدیدی رسم کند .

 

دستور کار (3 )

برنامه ای بنویسید که پنجره زیر را رسم کند . برای طرح پنجره ها و رنگها به دلخواه تصمیم بگیرید.

دستور کار (4 )

با استفاده از تابعی که در دستور کار (2) نوشته اید ، برنامه ای بنویسید که آدمک را به طور تصادفی در خانه های پنجره شماره یک ظاهر کند . به این ترتیب که با یک تابع شماره خانه ای را که آدمک باید در آن ظاهر شود ، به طور تصادفی تولید کنید و سپس مختصات مرکز آن خانه را به تابع رسم آدمک بدهید . این کار باید تا زمانی ادامه پیدا کند که 10 بار آدمک در خانه های مختلف ظاهر و سپس ناپدید شود . تابع حرکت آدمک را بدون استفاده از Delay  بنویسید .  برای ایجاد حالت متحرک بعد از هر بار رسم آدمک پنجره شماره 1 باید مجددا" رسم شود .

 

دستور کار (5 )

برنامه ای بنویسید که ماوس را در پنجره شماره 2 فعال کند و محل کلیک کردن ماوس را مشخص کند . بطوریکه اگر کاربر در هر محلی از یک خانه کلیک کند برنامه شماره آن خانه را بعنوان خروجی برگرداند . مثلا" اگر کاربر در هر نقطه ای از خانه شماره 1 کلیک کند برنامه عدد یک را بعنوان خروجی برگرداند .

 

دستور کار (6 )

برنامه ای را که در دستور کار (4) نوشته اید طوری تغییر دهید که اگر در زمان حرکت آدمک ، کاربر ماوس را در هر کدام از خانه های پنجره شماره 2 کلیک کند ، آدمک بعدی ظاهر شود . یعنی با هر بار کلیک ماوس بازی به مرحله بعدی برود .

 

دستور کار (7 )

برنامه دستور کار (6) را به گونه ای تغییر دهید که تشخیص دهد آیا شماره خانه ای که ماوس در آن کلیک شده ، با شماره خانه ای که آدمک در آن حرکت می کرده یکسان است یا نه ؟ در صورت یکسان بودن شماره ها یک امتیاز مثبت و در صورت یکسان نبودن یک امتیاز منفی به کاربر بدهید .

پروژه نهایی :

بازی کامپیوتری طراحی شده در طول ترم را تکمیل کنید به نحوی که بعد از هر بازی امتیاز کاربر را نمایش دهد .

 

امکانات اضافی :

1- استفاده از طرحها و رنگهای متنوع در طراحی پنجره ها ، خانه ها و آدمکهای بازی .

2- ایجاد پنجره ای مخصوص نمایش امتیاز کاربر در هر مرحله و در انتهای بازی .

3- استفاده از امکانات صوتی در مراحل مختلف بازی مثل شروع بازی ، پایان بازی ، انتخاب خانه صحیح ، انتخاب خانه غلط ، ظاهر شدن آدمک جدید ، ناپدید شدن آدمک متحرک .

4- طراحی صفحه متحرک برای شروع و پایان بازی .

5- …


۰
  • مدیر سایت

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی