تبلیغات
گروه مهندسی IT نئوهوش - بازی موش و گربه (نسخه yashar)
برای مشاهده هر پست، روی آن کلیک کنید تا محتوای آن پست به نمایش درآید

بازی موش و گربه (نسخه yashar)

پنجشنبه 7 آذر 1392 ساعت 21:23 مشاهده مطلب نظرات
با سلام ، در این پست من بازی موش و گربه را بدلیل در خواست بازدید کنندگان محترم با توضیحات کامل قرار داده ام تا خواندن برنامه برای شما دوستاران برنامه نویسی آسان تر شود . (این نسخه نسبت به کد D4N005H آسان تر می باشد.)
برای مشاهده ادامه توضیحات به بخش ادامه مطلب مراجعه نمایید.
در بخش اول این برنامه با استفاده از دستور for و line خط های عمودی و افقی را رسم می نماییم .(خط های عمودی در یک حلقه و خط های افقی نیز در حلقه ای جداگانه.)

پس از رسم خطوط با استفاده از دستورات setfillsyle و floodfill خانه های مورد نظر را با رنگ مورد نظر پر می کنیم.

نکته : ساختار املایی دو دستور فوق به صورت زیر می باشد:
setfillstyle (a , b ) ;
در این دستور a نوع رنگ آمیزی خانه ها (پر کردن ، هاشور و ....) که عددی بین 1 تا 12 می باشد. برای اطلاع از نوع رنگ آمیزی هر عدد از قسمت هلپ برنامه استفاده نمایید.
b نیز رنگ مورد نظر شما می باشد. عددی بین 1 تا 15
floodfill(int c , int d , e);
در این دستور c و d مختصات یک نقطه درون محلی است که می خواهیم آن ناحیه رنگ شود و e رنگ مرزی می باشد که می خواهیم تا آن مرز رنگ آمیزی انجام شود.
پس از این دستورات یک for بی نهایت داریم که در آن ابتدا یک کلید را از کاربر دریافت می نماید و سپس شرط دکمه های ورودی قرار گرفته و در هر شرط کلید شرطی دیگر وجود دارد که با استفاده از getpixel چک میکند که اگر با تغییر هر بار x و y (مختصات مرکز دایره -گربه-) اگر x+r (مرز دایره) درون پیکسل های قرمز وارد شد دایره را در مکان قبلی چاپ کند و در غیر این صورت با زدن دکمه ها دایره به اندازه طول ضلع مربع ها پرش انجام دهد.

نکته : در این بخش می خواهم شما را با تابع sound آشنا کنم ؛ این تابع صدا را با فرکانس های درخواستی شما تولید میکند ، و سپس با عمل delay طول زمان اجرا و در انتها با دستور nosound پروسه تولید صدا را خاتمه می دهیم.

نکته : در مقیاس پیکسل برای نمایش یک رشته در مختصاتی خاص از دستور outtextxy استفاده می کنیم.

کد برنامه به شرح زیر می باشد :

#include<iostream.h>
#include<conio.h>
#include<math.h>
#include<dos.h>
#include<graphics.h>

void main()
{
clrscr();

int x = 20 , y = 20 , r = 15 , R=30 ;    // tarif moteghayer
char k ;

int m = 0 , n = 0 ;              // mohit graphic
initgraph(&m , &n , "");

circle(620 , 460 , 10);
outtextxy(617 ,456 , "m");


int xl1 = 0 , yl1 = 0  , yl2 =480 , xl2 = 50 ;
for (int i = 1 ; i <=16 ; i++){           // khat haye amudi

line (xl1 , yl1 , xl1 , yl2);

xl1+=40 ;
}

xl1 = 0 , yl1 = 0  , yl2 =400 , xl2 = 600 ;
for (int j = 1 ; j <= 13 ; j++){           // khat haye ofoghi

line (xl1 , yl1 , xl2 , yl1);

yl1+=40 ;
}

setfillstyle(1,4);           //1
floodfill(100,100,15);

setfillstyle(1,4);           //2
floodfill(300 , 100 , 15);

setfillstyle(1,4);           //3
floodfill(500,100,15);

setfillstyle(1,4);           //10
floodfill(100,380,15);

setfillstyle(1,4);           //11
floodfill(300,380,15);

setfillstyle(1,4);           //12
floodfill(500,380,15);

setfillstyle(1,4);           //4
floodfill(170,180,15);

setfillstyle(1,4);           //5
floodfill(300,180,15);

setfillstyle(1,4);           //6
floodfill(410,180,15);

setfillstyle(1,4);           //7
floodfill(170,285,15);

setfillstyle(1,4);           //8
floodfill(300,285,15);

setfillstyle(1,4);           //9
floodfill(410,285,15);



for (;;){

k = getch();
if (k == 'q'){sound(1100); delay(300); nosound(); sound(540); delay(150); nosound(); sound(1000); delay(89); nosound();break;}

if (k == 'd'){
if( getpixel(x+40 , y )==4){
circle(x,y,r);
sound(850); delay(90); nosound(); sound(140); delay(170); nosound(); sound(600); delay(50); nosound();sound(700); delay(90); nosound();


}
else
{
setcolor(0);
circle(x,y,r);
x+=40;
setcolor(14);
circle(x,y,r);
}}
if (k == 'a'){
if(getpixel(x-40 , y )==4 ){
circle(x,y,r);
sound(850); delay(90); nosound(); sound(140); delay(170); nosound(); sound(600); delay(50); nosound();sound(700); delay(90); nosound();
//circle(x,y,r);

}
else
{
setcolor(0);
circle(x,y,r);
x-=40;
setcolor(14);
circle(x,y,r);
}}
if (k == 's'){
if( getpixel(x , y+40 )==4){
circle(x,y,r);
sound(850); delay(90); nosound(); sound(140); delay(170); nosound(); sound(600); delay(50); nosound();sound(700); delay(90); nosound();
//circle(x,y,r);

}
else
{
setcolor(0);
circle(x,y,r);
y+=40;
setcolor(14);
circle(x,y,r);
}}
if (k == 'w'){
if(getpixel(x , y-40 )==4){
circle(x,y,r);
sound(850); delay(90); nosound(); sound(140); delay(170); nosound(); sound(600); delay(50); nosound();sound(700); delay(90); nosound();
//circle(x,y,r);

}
else
{
setcolor(0);
circle(x,y,r);
y-=40;
setcolor(14);
circle(x,y,r);
}}
if ((600<x)&&(440<y)) {
clrscr();
setcolor(0);
outtextxy(275,230,"YOU WIN");
delay(200);
sound(1200); delay(200); nosound(); sound(500); delay(120); nosound(); sound(1000); delay(89); nosound(); break;
}
}

getch();
لطفا سولات خود را با ما درمیان بگذارید .امیدوارم از این پست استفاده لازم را داشته باشید.

آرشیو

برچسب ها

گروه مهندسی IT نئوهوش

بلاگ ویژه مهندسی آی تی و کامپیوتر

صفحه نخست

مدیر سایت

دانوش

نوشته های مدیر

آرشیو مطالب

لیست کامل مطالب سایت

آرشیو

با ما در تماس باشید

NeoHoosh.official@gmail.com

تماس با ما

کلیه حقوق این سایت محفوظ است.

طراح قالب: ـنقاشـ ، ویرایش: دانوش پیچگاه

درآمد بیت کوین از روش آگهی Earn free bitcoin - دریافت رایگان بیت کوین

آمار سایت

  • بازدید کل:
  • بازدید امروز:
  • بازدید دیروز:
  • بازدید ماه قبل:
  • بازدید این ماه:
  • آخرین بازدید:
  • بروزرسانی:
  • تعداد مطالب:
  • نویسندگان:

سایر امکانات

  • نظرسنجی

    برای شرکت در نظرسنجی سایت اینجا را کلیک کنید

    image
    شما چه فردی هستید؟







درود!
این جا مکانی است ویژه برای دانشجویان مهندسی کامپیوتر / آی تی و نرم افزار و صد البته افرادی که جویندگان دانش و تکنولوژی هستند.
آقایان دانوش ،یاشار و آمالی دارندگان این بلاگ بودند و هم اکنون تنها آقای دانوش مدیریت این وبلاگ را بر عهده دارد، با توجه به زمان بندی ها هم اکنون در این سایت فعالیت پویا ای نداریم.

موضوعات

نویسندگان

آخرین عناوین

با ما در ارتباط باشید و ما را از نظرات ارزشمند خود مطلع کنید

  • مدیر سایت: دانوش
  • NeoHoosh.official@gmail.com
  • http://danoush.mihanblog.com
  • شعار سایت: بلاگ ویژه مهندسی آی تی و کامپیوتر
  • فرم تماس با ما