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

کد بازی دوز (نسخه D4N005H)

نویسنده: دانوش پیچگاه
شنبه چهاردهم دیماه سال 1392 ساعت 00:49 مشاهده مطلب نظرات
درود؛

کد بازی دوز بدون نیاز به رنگ ها و با وسیله آرایه ها و البته همراه با راهنما در ادامه همین پست قابل دیدن است.
تنها برای یادگیری از کد ها استفاده نمایید.
بدرود.
پیش از دیدن کد, یک سری اطلاعات خلاصه شده ملزوم است تا با آنها آشنا شوید:

جدول بازی اینگونه تقسیم بندی شده است و بازه ها هم هرکدام از مستطیل های کوچک هستند؛ مختصات ماوس ابتدا سنجیده شده و بازی را طوی متوجه می کنیم تا به طور مناسب مختصات را محاسبه کرده تا در خانه ای که موشواره قرار دارد یک دایره قرمز (کاربر شماره یک) یا بنفش (کاربر شماره دو) ایجاده کرده و مقدار 0 یا 1 را بسته به اینکه چه کاربری بازی را انجام میدهد؛ در آرایه همان قسمت (بازه) قرار می دهد.
عکس خلاصه شده جدول بازی

#include<iostream.h> بخش فراخوانی توابع
#include<conio.h>
#include<graphics.h>
#include<mouse.h>  فراخوانی توابع موشواره
#include<process.h> فراخوانی تابع خروج
#include<dos.h>    فراخوانی توابع صدا
#include<stdlib.h> کد فراخوانی توابع رندم

int AA[3][3]; int BB[3][3];   ساخت آرایه ها

void Copy_right_DANOOSH_Peechgah () این کد علاوه بر ایجاد خطوط و تشکیل جدول؛ آرایه ها را
{                                                                .برابر با عددی غیر صفر و یک می کند
 for (int i=1; i<4; i++)
 {
  for (int j=1; j<4; j++)
  {
  if ((AA[i][j]==0)||(AA[i][j]==1))
  AA[i][j]=rand();
  }
 }
 sound(2014);
 setbkcolor(7);
 delay(95);
 nosound();
 sound(1392);
 delay(95);
 nosound();
 line (0,0,480,0); line (0,0,0,360);
 line (0,120,480,120); line (160,0,160,360);
 line (0,240,480,240); line (320,0,320,360);
 line (0,360,480,360); line (640,0,640,640);
 line (0,480,480,480); line (480,0,480,360);
}

void A(int x, int y, int i, int j)        کدی که دایره بازیکن شماره یک را می نویسد
{ if ((AA[i][j]!=0)&&(AA[i][j]!=1)) .و آرایه های منتخب را برابر با صفر می کند
 {AA[i][j]=1;
 if ((x<160)&&(y<120))  این ها چگونگی تقسیم بندی (بازه بندی) زمین یا جدول
 circle (80,60,60);            .بازی را نشان می دهند؛ رجوع کنید به همان تصویر بالا
 if ((x>160)&&(x<320)&&(y<120))
  circle (240,60,60);
 if ((x>320)&&(x<640)&&(y<120))
  circle (400,60,60);
 if ((x<160)&&(y>120)&&(y<240))
  circle (80,180,60);
 if ((x<160)&&(y>240)&&(y<480))
   circle (80,300,60);
 if ((x>160)&&(y>120)&&(y<240)&&(x<320))
  circle (240,180,60);
 if ((x>320)&&(y>120)&&(y<240)&&(x<640))
  circle (400,180,60);
 if ((x>160)&&(x<320)&&(y>240)&&(y<480))
  circle (240,300,60);
 if ((x>320)&&(x<640)&&(y>240)&&(y<480))
  circle (400,300,60);}
}

void B(int x, int y, int i, int j)    همان کار تابع پیشین را انجام می دهد
{ if ((AA[i][j]!=0)&&(AA[i][j]!=1)) منتهی آرایه های منتخب را برابر با
 {AA[i][j]=0;    .یک می نماید و سپس دایره کاربر دوم را رسم می کند
 if ((x<160)&&(y<120))
 circle (80,60,60);
 if ((x>160)&&(x<320)&&(y<120))
  circle (240,60,60);
 if ((x>320)&&(x<640)&&(y<120))
  circle (400,60,60);
 if ((x<160)&&(y>120)&&(y<240))
  circle (80,180,60);
 if ((x<160)&&(y>240)&&(y<480))
   circle (80,300,60);
 if ((x>160)&&(y>120)&&(y<240)&&(x<320))
  circle (240,180,60);
 if ((x>320)&&(y>120)&&(y<240)&&(x<640))
  circle (400,180,60);
 if ((x>160)&&(x<320)&&(y>240)&&(y<480))
  circle (240,300,60);
 if ((x>320)&&(x<640)&&(y>240)&&(y<480))
  circle (400,300,60);}
}

void RULE ()  این تابع چک میکند که آیا سه آرایه در یک ستون
{                  یال سه آرایه در یک سطر مقدار مساوی دارند یا خیر
 for (int i=1; i<=3; i++) اگر همه برابر باشند بازی تمام می شود
 {
 if ((AA[1][i]==AA[2][i])&&(AA[3][i]==AA[2][i]))
 exit(0);
 if ((AA[i][1]==AA[i][2])&&(AA[i][3]==AA[i][2]))
 exit(0);
 }

}

void main() تابع اصلی بازی
{
 int x,y,c;
 int m=0,d=0;
 initgraph(&m,&d,"");
 initmouse();     فراخوانی دستورات موشواره
 showmouse(); نمایش موشواره
 Copy_right_DANOOSH_Peechgah (); .فراخوانی تابع نخست
 while (1==1) هم استفاده کرد for (;;) می توان به جای این دستور از
 {
  getmouse(&x,&y,&c); مختصات و نوع کلیک (کلیک راست یا چپ) را میگیرد
  if (c==1)        اگر چپ کلیک شد:
  {setcolor(4);  رنگ دایره کاربر نخست
 if ((x<160)&&(y<120)) بازه بندی برای کلیک کردن
 A(x,y,1,1);         آرایه یک یک فراخوانی شده و مقادیر مختصات موشواره وارد داده می شود
 if ((x>160)&&(x<320)&&(y<120))
 A(x,y,1,2);
 if ((x>320)&&(x<640)&&(y<120))
 A(x,y,1,3);
 if ((x<160)&&(y>120)&&(y<240))
 A(x,y,2,1);
 if ((x<160)&&(y>240)&&(y<480))
 A(x,y,3,1);
 if ((x>160)&&(y>120)&&(y<240)&&(x<320))
 A(x,y,2,2);
 if ((x>320)&&(y>120)&&(y<240)&&(x<640))
 A(x,y,2,3);
 if ((x>160)&&(x<320)&&(y>240)&&(y<480))
 A(x,y,3,2);
 if ((x>320)&&(x<640)&&(y>240)&&(y<480))
 A(x,y,3,3);
 setcolor(15);} رنگ به حالت پیش فرض در می آید
  if (c==2)  اگر راست کلیک شد:
  {
 setcolor(5); رنگ دایره بازیکن دوم
 if ((x<160)&&(y<120))
 B(x,y,1,1);
 if ((x>160)&&(x<320)&&(y<120))
 B(x,y,1,2);
 if ((x>320)&&(x<640)&&(y<120))
 B(x,y,1,3);
 if ((x<160)&&(y>120)&&(y<240))
 B(x,y,2,1);
 if ((x<160)&&(y>240)&&(y<480))
 B(x,y,3,1);
 if ((x>160)&&(y>120)&&(y<240)&&(x<320))
 B(x,y,2,2);
 if ((x>320)&&(y>120)&&(y<240)&&(x<640))
 B(x,y,2,3);
 if ((x>160)&&(x<320)&&(y>240)&&(y<480))
 B(x,y,3,2);
 if ((x>320)&&(x<640)&&(y>240)&&(y<480))
 B(x,y,3,3);
 setcolor(15); رنگ به حالت پیش فرض در آید
  }
 RULE(); پس از هر کلیک؛ چک می کند آیا کسی برنده شده است یا خیر
 }
  exit(0);
}

هاست
هاست هاست

آرشیو

برچسب ها

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

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

صفحه نخست

مدیر سایت

دانوش پیچگاه

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

آرشیو مطالب

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

آرشیو

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

تماس با ما

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

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

آمار سایت

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

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

موضوعات

نویسندگان

آخرین عناوین

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

  • مدیر سایت: دانوش پیچگاه
  • http://neohoosh.ir
  • شعار سایت: بلاگ ویژه مهندسی آی تی و کامپیوتر
  • فرم تماس با ما