نمایش نتایج 1 تا 5 از 5

نام تاپیک: سورس بازی دوز

  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1385
    پست
    67

    سورس بازی دوز

    #include <iostream.h>
    #include <stdlib.h>
    #include <conio.h>
    #include <graphics.h>
    #include <dos.h>
    #define tb textbackground
    #define br break
    void form(void);
    void choice(void);
    void asli(void);
    void hosh(void);
    void rang(int a,int b,int r);
    void choos(int x,int y,int r,int t);
    int a[3][3],rec=0,s=0,te=0,scom,nobat,p1,p2;
    main()
    {
    clrscr();
    int a;
    form();
    for(;;)
    {
    p1=3;p2=3;
    nobat=0;
    asli();
    gotoxy(1,3);
    cout<<nobat;
    if(nobat==1)
    hosh();
    if(kbhit())
    {
    a=getch();
    if(a==27) break;
    }
    }
    return 0;
    }
    //*******************
    void asli(void)
    {
    int g,t=0;
    g=getch();
    if(g==27)exit(0);
    if(g==55)
    {
    if(a[0][0]==1 && t==0)
    {
    a[0][0]=0;
    choos(0,0,0,2);
    t=1;s--;
    }
    if(s<3)
    if(a[0][0]==0 && t==0)
    {
    a[0][0]=1;
    choos(0,0,5,2);
    t=1; s++;nobat=1;
    }
    }
    if(g==56)
    {
    if(a[0][1]==1 && t==0)
    {
    a[0][1]=0;
    choos(0,1,0,2);
    t=1; s--;
    }
    if(s<3)
    if(a[0][1]==0 && t==0)
    {
    a[0][1]=1;
    choos(0,1,5,2);
    t=1;s++;nobat=1;
    }
    }
    if(g==57)
    {
    if(a[0][2]==1 && t==0)
    {
    a[0][2]=0;
    choos(0,2,0,2);
    t=1; s--;
    }
    if(s<3)
    if(a[0][2]==0 && t==0)
    {
    a[0][2]=1;
    choos(0,2,5,2);
    t=1; s++;nobat=1;
    }
    }
    if(g==52)
    {
    if(a[1][0]==1 && t==0)
    {
    a[1][0]=0;
    choos(1,0,0,2);
    t=1; s--;
    }
    if(s<3)
    if(a[1][0]==0 && t==0)
    {
    a[1][0]=1;
    choos(1,0,5,2);
    t=1; s++;nobat=1;
    }
    }
    if(g==53)
    {
    if(a[1][1]==1 && t==0)
    {
    a[1][1]=0;
    choos(1,1,0,2);
    t=1; s--;
    }
    if(s<3)
    if(a[1][1]==0 && t==0)
    {
    a[1][1]=1;
    choos(1,1,5,2);
    t=1; s++;nobat=1;
    }
    }
    if(g==54)
    {
    if(a[1][2]==1 && t==0)
    {
    a[1][2]=0;
    choos(1,2,0,2);
    t=1; s--;
    }
    if(s<3)
    if(a[1][2]==0 && t==0)
    {
    a[1][2]=1;
    choos(1,2,5,2);
    t=1; s++;nobat=1;
    }
    }
    if(g==49)
    {
    if(a[2][0]==1 && t==0)
    {
    a[2][0]=0;
    choos(2,0,0,2);
    t=1; s--;
    }
    if(s<3)
    if(a[2][0]==0 && t==0)
    {
    a[2][0]=1;
    choos(2,0,5,2);
    t=1; s++;nobat=1;
    }
    }
    if(g==50)
    {
    if(a[2][1]==1 && t==0)
    {
    a[2][1]=0;
    choos(2,1,0,2);
    t=1; s--;
    }
    if(s<3)
    if(a[2][1]==0 && t==0)
    {
    a[2][1]=1;
    choos(2,1,5,2);
    t=1; s++;nobat=1;
    }
    }

    if(g==51)
    {
    if(a[2][2]==1 && t==0)
    {
    a[2][2]=0;
    choos(2,2,0,2);
    t=1; s--;
    }
    if(s<3)
    if(a[2][2]==0 && t==0)
    {
    a[2][2]=1;
    choos(2,2,5,2);
    t=1; s++;nobat=1;
    }
    }

    }
    //******************************* form ***********************
    void form(void)
    {
    int col=2,i,j;
    for(i=20;i<60;i++)
    {
    gotoxy(i,4); tb(col); cprintf(" ");
    gotoxy(i,9); tb(col); cprintf(" ");
    gotoxy(i,14);tb(col); cprintf(" ");
    gotoxy(i,19);tb(col); cprintf(" ");
    }
    for(j=4;j<20;j++)
    {
    gotoxy(20,j);tb(col); cprintf(" ");
    gotoxy(33,j);tb(col); cprintf(" ");
    gotoxy(46,j);tb(col); cprintf(" ");
    gotoxy(59,j);tb(col); cprintf(" ");

    }
    gotoxy(23,23);
    cout<<"<<to exit game press ESC please...>>";
    gotoxy(29,24);
    cout<<"THIS GAME DIRECTED BY:";
    gotoxy(28,25);
    cout<<" <<yaser sajedi>>";
    }
    //**************************** rang******************
    void rang(int a,int b,int r)
    {
    gotoxy(a,b); tb(r); cprintf(" ");
    gotoxy(a,b+1); tb(r); cprintf(" ");
    }
    //************************| choos **********************
    void choos(int x,int y,int r,int t)
    {
    if(t==2)
    {
    if(x==0 && y==0)
    {
    rec=1;
    rang(23,6,r);
    if(r==6) a[0][0]=2;
    if(r==0) a[0][0]=0;
    }
    if(x==1 && y==0)
    {
    rec=1;
    rang(23,11,r);
    if(r==6) a[1][0]=2;
    if(r==0) a[1][0]=0;
    }

    if(x==2 && y==0)
    {
    rec=1;
    rang(23,16,r);
    if(r==6) a[2][0]=2;
    if(r==0) a[2][0]=0;
    }

    if(x==0 && y==1)
    {
    rec=1;
    rang(36,6,r);
    if(r==6) a[0][1]=2;
    if(r==0) a[0][1]=0;
    }

    if(x==1 && y==1)
    {
    rec=1;
    rang(36,11,r);
    if(r==6) a[1][1]=2;
    if(r==0) a[1][1]=0;
    }

    if(x==2 && y==1)
    {
    rec=1;
    rang(36,16,r);
    if(r==6) a[2][1]=2;
    if(r==0) a[2][1]=0;
    }

    if(x==0 && y==2)
    {
    rec=1;
    rang(49,6,r);
    if(r==6) a[0][2]=2;
    if(r==0) a[0][2]=0;
    }
    if(x==1 && y==2)
    {
    rec=1;
    rang(49,11,r);
    if(r==6) a[1][2]=2;
    if(r==0) a[1][2]=0;
    }
    if(x==2 && y==2)
    {
    rec=1;
    rang(49,16,r);
    if(r==6) a[2][2]=2;
    if(r==0) a[2][2]=0;
    }
    }
    }
    //********************************choice
    void choice(void)
    {
    int i,j;
    if(a[1][1]==0 && te==0)
    if(p1!=1 || p2!=1)
    {
    choos(1,1,6,2);
    te=1;
    a[1][1]=2;
    }
    for(i=0;i<3;i++)
    for(j=0;j<3;j++)
    if(a[i][j]==0 && te==0)
    {
    a[i][j]=2;
    choos(i,j,6,2);
    te=1;
    }
    }
    //********************hosh
    void hosh(void)
    {
    int i,j,s1=0,temp=0,ab[8],cd[8];
    if(scom==3)
    for(i=2;i>=0;i--)
    for(j=2;j>=0;j--)
    if(a[i][j]==2 && temp==0)
    {
    a[i][j]=0;
    p1=i;p2=j;
    choos(i,j,0,2);
    scom--;
    temp=1;
    }
    delay(500);
    if(scom<3)
    {
    for(i=0;i<8;i++){ab[i]=0;}
    for(i=0;i<3;i++)
    {
    if(a[0][i]==1) ab[0]++;
    if(a[1][i]==1) ab[1]++;
    if(a[2][i]==1) ab[2]++;
    if(a[i][0]==1) ab[3]++;
    if(a[i][1]==1) ab[4]++;
    if(a[i][2]==1) ab[5]++;
    if(a[i][i]==1) ab[6]++;
    if(a[i][2-i]==1) ab[7]++;
    }
    //*****************tashkhis
    for(i=0;i<8;i++)
    if(ab[i]==3)
    {
    gotoxy(20,2);
    cout<<"*** YOU WON ***";
    getch();
    exit(0);
    }
    if((ab[0]+ab[1]+ab[2]==1) && s1==0)
    {
    choice();
    scom++;
    s1=1;
    }
    if(ab[0]==2 && s1==0)
    {
    for(i=0;i<3;i++)
    {
    if(a[0][i]==0)
    if(p1!=0 || p2!=i) {s1=1; scom++;choos(0,i,6,2);}
    }
    }
    if(ab[1]==2 && s1==0)
    {
    for(i=0;i<3;i++)
    {
    if(a[1][i]==0)
    if(p1!=1 || p2!=i){s1=1; scom++; choos(1,i,6,2);}
    }
    }
    if(ab[2]==2 && s1==0)
    {
    for(i=0;i<3;i++)
    {
    if(a[2][i]==0)
    if(p1!=2 || p2!=i){s1=1; scom++; choos(2,i,6,2);}
    }
    }
    if(ab[3]==2 && s1==0)
    {
    for(i=0;i<3;i++)
    {
    if(a[i][0]==0)
    if(p1!=i || p2!=0){s1=1; scom++; choos(i,0,6,2);}
    }
    }
    if(ab[4]==2 && s1==0)
    {
    for(i=0;i<3;i++)
    {
    if(a[i][1]==0)
    if(p1!=i || p2!=1){s1=1; scom++; choos(i,1,6,2);}
    }
    }
    if(ab[5]==2 && s1==0)
    {
    for(i=0;i<3;i++)
    {
    if(a[i][2]==0)
    if(p1!=i || p2!=2){s1=1; scom++; choos(i,2,6,2);}
    }
    }
    if(ab[6]==2 && s1==0)
    {
    for(i=0;i<3;i++)
    {
    if(a[i][i]==0)
    if(p1!=i || p2!=i){s1=1; scom++; choos(i,i,6,2);}
    }
    }
    if(ab[7]==2 && s1==0)
    {
    for(i=0;i<3;i++)
    {
    if(a[i][2-i]==0)
    if(p1!=i || p2!=2-i){s1=1; scom++; choos(i,2-i,6,2);}
    }
    }
    if(s1==0)
    {
    te=0;
    choice();scom++;
    }
    }
    for(i=0;i<8;i++){cd[i]=0;}
    for(i=0;i<3;i++)
    {
    if(a[0][i]==2) cd[0]++;
    if(a[1][i]==2) cd[1]++;
    if(a[2][i]==2) cd[2]++;
    if(a[i][0]==2) cd[3]++;
    if(a[i][1]==2) cd[4]++;
    if(a[i][2]==2) cd[5]++;
    if(a[i][i]==2) cd[6]++;
    if(a[i][2-i]==2) cd[7]++;
    }
    for(i=0;i<8;i++)
    if(cd[i]==3)
    {
    gotoxy(20,2);
    cout<<"*** YOU LOSE ***";
    getch();
    exit(0);
    }

    gotoxy(1,1);
    cout<<p1<<" "<<p2;;

    }
    //

  2. #2
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1385
    پست
    67
    pas engar kasi in sourso khaste bood?

  3. #3

    Thumbs up

    نقل قول نوشته شده توسط sajedi مشاهده تاپیک
    pas engar kasi in sourso khaste bood?
    sajedi tank you vere much az sorse ke ferestade

  4. #4
    من که نفهمیدم چه جوری بازی کنم!!!
    آخه یه توضیحی چیزی!

  5. #5
    کاربر تازه وارد
    تاریخ عضویت
    اردیبهشت 1390
    پست
    30

    نقل قول: سورس بازی دوز

    این به روش minimax حل شده؟؟

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •