پایان نامه ها

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

برای دانلود متن کامل پایان نامه ها اینجا کلیک کنید

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="">
تجدید کد امنیتی
درباره من
دانلود متن کامل با فرمت ورد پایان نامه های کارشناسی ارشد خرید و فروش و معاوضه پایان نامه آرشیو پایان نامه مجموعه کامل پایان نامه دسترسی متن کامل پایان نامه های ایران داک (گنج)
Designed By Erfan Powered by Bayan