SpareNet Servers Advertising & Link Exchange

اطلاعیه

بستن
هیچ اطلاعیه ای هنوز ایجاد نشده است .

C++ modern UI system

بستن
X
 
  • فیلتر
  • زمان
  • نمایش
پاک کردن همه
نوشته‌های جدید

  • C++ modern UI system

    سلام اینم یه کد هوش مصنوعی حرفه ای

    [php]#include<iostream.h>
    #include<stdlib.h>
    #include<conio.h>
    #include<graphics.h>
    #include<dos.h>
    void rectangel(int x1,int y1,int x2,int y2)
    {
    line(x1,y1,x2,y1);
    line(x1,y1,x1,y2);
    line(x1,y2,x2,y2);
    line(x2,y1,x2,y2);
    }
    struct node{
    int state[3];
    int action[2];
    int depth;
    int veiw;
    }root;
    struct node empty={ 0,0,0,
    0,0,
    0,
    0
    };

    struct node stack[50];
    int top=0;
    void clear()
    {
    for(int j=0;j<=50;j++)
    stack[top]=empty;
    }
    void push(struct node t)
    {
    stack[top]=t;
    top++;
    }
    struct node pop()
    {
    top--;
    return stack[top];
    }
    int emptyf()
    {
    if(top==0)
    return 1;
    else return 0;
    }
    void succesor(struct node n)
    {
    struct node k;
    if(n.state[2]==1)
    {
    k.depth=n.depth+1;
    k.state[0]=n.state[0]-1;
    k.state[1]=n.state[1];
    k.state[2]=0;
    k.action[0]=-1;
    k.action[1]=0;
    k.veiw=0;
    push(k);
    k.depth=n.depth+1;
    k.state[0]=n.state[0]-2;
    k.state[1]=n.state[1];
    k.state[2]=0;
    k.action[0]=-2;
    k.action[1]=0;
    k.veiw=0;
    push(k);
    k.depth=n.depth+1;
    k.state[0]=n.state[0];
    k.state[1]=n.state[1]-1;
    k.state[2]=0;
    k.action[0]=0;
    k.action[1]=-1;
    k.veiw=0;
    push(k);
    k.depth=n.depth+1;
    k.state[0]=n.state[0];
    k.state[1]=n.state[1]-2;
    k.state[2]=0;
    k.action[0]=0;
    k.action[1]=-2;
    k.veiw=0;
    push(k);
    k.depth=n.depth+1;
    k.state[0]=n.state[0]-1;
    k.state[1]=n.state[1]-1;
    k.state[2]=0;
    k.action[0]=-1;
    k.action[1]=-1;
    k.veiw=0;
    push(k);
    }
    if(n.state[2]==0)
    {
    k.depth=n.depth+1;
    k.state[0]=n.state[0]+1;
    k.state[1]=n.state[1];
    k.state[2]=1;
    k.action[0]=1;
    k.action[1]=0;
    k.veiw=0;
    push(k);
    k.depth=n.depth+1;
    k.state[0]=n.state[0];
    k.state[1]=n.state[1]+1;
    k.state[2]=1;
    k.action[0]=0;
    k.action[1]=1;
    k.veiw=0;
    push(k);
    k.depth=n.depth+1;
    k.state[0]=n.state[0]+2;
    k.state[1]=n.state[1];
    k.state[2]=1;
    k.action[0]=2;
    k.action[1]=0;
    k.veiw=0;
    push(k);
    k.depth=n.depth+1;
    k.state[0]=n.state[0]+1;
    k.state[1]=n.state[1]+1;
    k.state[2]=1;
    k.action[0]=1;
    k.action[1]=1;
    k.veiw=0;
    push(k);
    k.depth=n.depth+1;
    k.state[0]=n.state[0];
    k.state[1]=n.state[1]+2;
    k.state[2]=1;
    k.action[0]=0;
    k.action[1]=2;
    k.veiw=0;
    push(k);
    }
    }
    int goal=0;
    struct node IDS(int l)
    {
    struct node g;
    while(emptyf()!=1 && goal!=1)
    {
    g=pop();
    if(g.depth!=0 && g.state[0]==3 && g.state[1]==3 && g.state[2]==1)
    continue;
    if ((g.state[0]==0 && g.state[1]==2 && g.state[2]==0) ||
    (g.state[0]==1 && g.state[1]==2 && g.state[2]==0) ||
    (g.state[0]==0 && g.state[1]==1 && g.state[2]==0) ||
    (g.state[0]==1 && g.state[1]==2 && g.state[2]==1))
    continue;
    if(g.state[0]<0 || g.state[1]<0 || g.state[0]>3 || g.state[1]>3)
    continue;
    if(g.state[0]>g.state[1] && g.state[1]!=0)
    continue;
    if(g.state[0]==0 && g.state[1]==0 && g.state[2]==0)
    {
    goal=1;
    struct node mmm=g;
    return mmm;
    }
    if(g.depth<l && g.veiw==0)
    {
    g.veiw=1;
    push(g);
    succesor(g);
    }
    }
    return g;
    }
    void main()
    {
    //clrscr();
    int gdriver = DETECT , gmode , errorcode;
    initgraph(&gdriver, &gmode, "d:\\tc\\bgi");
    errorcode = graphresult();
    if (errorcode != grOk)
    {
    cout<<"Graphics error: %s\n"<< grapherrormsg(errorcode)<<endl;
    cout<<"Press any key to halt:";
    getch();
    exit(1);
    }
    root.state[0]=3;
    root.state[1]=3;
    root.state[2]=1;
    root.action[0]=0;
    root.action[1]=0;
    root.depth=0;
    root.veiw=0;
    int d=0;
    struct node km;
    while(goal!=1)
    {
    clear();
    push(root);
    km=IDS(d);
    d++;
    }
    int array[40];
    int dd=km.depth;
    int index=0;
    array[index]=km.state[2];
    index++;
    array[index]=km.state[1];
    index++;
    array[index]=km.state[0];
    cout<<"depth="<<d<<endl;
    while(!(km.state[0]==3 && km.state[1]==3 && km.state[2]==1))
    {
    km=pop();
    if(km.depth==dd)
    continue;
    if(km.depth==dd-1)
    {
    index++;
    array[index]=km.state[2];
    index++;
    array[index]=km.state[1];
    index++;
    array[index]=km.state[0];
    dd=km.depth;
    }
    }
    int count=0;
    int tmparay[40];
    for(int i=0;i<index+1;i++)
    tmparay[i]=array[index-i];
    count=0;
    int aray[12][3];
    for(i=0;i<12;i++)
    {
    aray[i][0]=tmparay[count];
    count++;
    aray[i][1]=tmparay[count];
    count++;
    aray[i][2]=tmparay[count];
    count++;
    }
    for(i=0;i<12;i++)
    {
    for(int j=0;j<3;j++)
    cout<<" "<<aray[i][j];
    cout<<endl;
    }
    cout<<" Missionaries"<<endl<<endl<<endl<<endl<<endl;
    cout<<endl<<endl<<endl<<endl<<endl;
    cout<<" Cannibals";
    rectangel(150,200,250,400);
    for(i=0;i<12;i++)
    {
    if(aray[i][2]==1)
    {
    if((aray[i][0]==3) && (aray[i][1]==3))
    {
    setcolor(0);
    rectangel(220,280,250,330);
    setcolor(7);
    rectangel(150,200,250,400);
    rectangel(150,280,180,330);
    rectangel(60,210,80,230);
    rectangel(90,210,110,230);
    rectangel(120,210,140,230);
    rectangel(60,370,80,390);
    rectangel(90,370,110,390);
    rectangel(120,370,140,390);
    }
    else if((aray[i][0]==3) && (aray[i][1]==0))
    {
    setcolor(0);
    rectangel(220,280,250,330);
    rectangel(60,210,80,230);
    rectangel(90,210,110,230);
    rectangel(120,210,140,230);
    rectangel(260,370,280,390);
    rectangel(290,370,310,390);
    rectangel(320,370,340,390);
    setcolor(7);
    rectangel(150,200,250,400);
    rectangel(150,280,180,330);
    rectangel(60,370,80,390);
    rectangel(90,370,110,390);
    rectangel(120,370,140,390);
    rectangel(260,210,280,230);
    rectangel(290,210,310,230);
    rectangel(320,210,340,230);
    }
    else if((aray[i][0]==2) && (aray[i][1]==3))
    {
    setcolor(0);
    rectangel(220,280,250,330);
    rectangel(120,370,140,390);
    rectangel(260,210,280,230);
    rectangel(290,210,310,230);
    rectangel(320,210,340,230);
    rectangel(290,370,310,390);
    rectangel(320,370,340,390);
    setcolor(7);
    rectangel(150,200,250,400);
    rectangel(150,280,180,330);
    rectangel(60,210,80,230);
    rectangel(90,210,110,230);
    rectangel(120,210,140,230);
    rectangel(60,370,80,390);
    rectangel(90,370,110,390);
    rectangel(260,370,280,390);
    }
    else if((aray[i][0]==2) && (aray[i][1]==2))
    {
    setcolor(0);
    rectangel(290,370,310,390);
    rectangel(220,280,250,330);
    rectangel(320,370,340,390);
    rectangel(290,210,310,230);
    rectangel(320,210,340,230);
    rectangel(120,370,140,390);
    rectangel(120,210,140,230);
    setcolor(7);
    rectangel(150,200,250,400);
    rectangel(150,280,180,330);
    rectangel(60,210,80,230);
    rectangel(90,210,110,230);
    rectangel(60,370,80,390);
    rectangel(90,370,110,390);
    rectangel(260,210,280,230);
    rectangel(260,370,280,390);
    }
    else if((aray[i][0]==2) && (aray[i][1]==0))
    {
    setcolor(0);
    rectangel(290,370,310,390);
    rectangel(320,370,340,390);
    rectangel(290,370,310,390);
    rectangel(120,370,140,390);
    rectangel(60,210,80,230);
    rectangel(90,210,110,230);
    rectangel(120,210,140,230);
    setcolor(7);
    rectangel(150,200,250,400);
    rectangel(150,280,180,330);
    rectangel(60,370,80,390);
    rectangel(90,370,110,390);
    rectangel(260,210,280,230);
    rectangel(290,210,310,230);
    rectangel(320,210,340,230);
    rectangel(260,370,280,390);
    }
    else if((aray[i][0]==1) && (aray[i][1]==3))
    {
    setcolor(0);
    rectangel(90,370,110,390);
    rectangel(120,370,140,390);
    rectangel(220,280,250,330);
    rectangel(260,210,280,230);
    rectangel(290,210,310,230);
    rectangel(320,210,340,230);
    rectangel(320,370,340,390);
    setcolor(7);
    rectangel(150,200,250,400);
    rectangel(60,210,80,230);
    rectangel(90,210,110,230);
    rectangel(120,210,140,230);
    rectangel(60,370,80,390);
    rectangel(150,280,180,330);
    rectangel(260,370,280,390);
    rectangel(290,370,310,390);
    }
    else if((aray[i][0]==1) && (aray[i][1]==1))
    {
    setcolor(0);
    rectangel(260,210,280,230);
    rectangel(260,370,280,390);
    rectangel(90,370,110,390);
    rectangel(120,370,140,390);
    rectangel(220,280,250,330);
    rectangel(90,210,110,230);
    rectangel(120,210,140,230);
    setcolor(7);
    rectangel(150,200,250,400);
    rectangel(150,280,180,330);
    rectangel(60,210,80,230);
    rectangel(60,370,80,390);
    rectangel(290,210,310,230);
    rectangel(320,210,340,230);
    rectangel(290,370,310,390);
    rectangel(320,370,340,390);
    }
    else if((aray[i][0]==1) && (aray[i][1]==0))
    {
    setcolor(0);
    rectangel(220,280,250,330);
    rectangel(320,370,340,390);
    rectangel(60,210,80,230);
    rectangel(90,210,110,230);
    rectangel(120,210,140,230);
    rectangel(90,370,110,390);
    rectangel(120,370,140,390);
    setcolor(7);
    rectangel(150,200,250,400);
    rectangel(60,370,80,390);
    rectangel(150,280,180,330);
    rectangel(260,210,280,230);
    rectangel(290,210,310,230);
    rectangel(320,210,340,230);
    rectangel(260,370,280,390);
    rectangel(290,370,310,390);
    }
    }
    if(aray[i][2]==0)
    {
    if((aray[i][0]==3) && (aray[i][1]==3))
    {
    setcolor(0);
    rectangel(150,280,180,330);
    setcolor(7);
    rectangel(150,200,250,400);
    rectangel(220,280,250,330);
    rectangel(60,210,80,230);
    rectangel(90,210,110,230);
    rectangel(120,210,140,230);
    rectangel(60,370,80,390);
    rectangel(90,370,110,390);
    rectangel(120,370,140,390);
    }
    else if((aray[i][0]==3) && (aray[i][1]==0))
    {
    setcolor(0);
    rectangel(150,280,180,330);
    rectangel(60,210,80,230);
    rectangel(90,210,110,230);
    rectangel(120,210,140,230);
    rectangel(260,370,280,390);
    rectangel(290,370,310,390);
    rectangel(320,370,340,390);
    setcolor(7);
    rectangel(150,200,250,400);
    rectangel(220,280,250,330);
    rectangel(60,370,80,390);
    rectangel(90,370,110,390);
    rectangel(120,370,140,390);
    rectangel(260,210,280,230);
    rectangel(290,210,310,230);
    rectangel(320,210,340,230);
    }
    else if((aray[i][0]==2) && (aray[i][1]==3))
    {
    setcolor(0);
    rectangel(150,280,180,330);
    rectangel(120,370,140,390);
    rectangel(260,210,280,230);
    rectangel(290,210,310,230);
    rectangel(320,210,340,230);
    rectangel(290,370,310,390);
    rectangel(320,370,340,390);
    setcolor(7);
    rectangel(150,200,250,400);
    rectangel(220,280,250,330);
    rectangel(60,210,80,230);
    rectangel(90,210,110,230);
    rectangel(120,210,140,230);
    rectangel(60,370,80,390);
    rectangel(90,370,110,390);
    rectangel(260,370,280,390);
    }
    else if((aray[i][0]==2) && (aray[i][1]==2))
    {
    setcolor(0);
    rectangel(290,370,310,390);
    rectangel(150,280,180,330);
    rectangel(320,370,340,390);
    rectangel(290,210,310,230);
    rectangel(320,210,340,230);
    rectangel(120,370,140,390);
    rectangel(120,210,140,230);
    setcolor(7);
    rectangel(150,200,250,400);
    rectangel(220,280,250,330);
    rectangel(60,210,80,230);
    rectangel(90,210,110,230);
    rectangel(60,370,80,390);
    rectangel(90,370,110,390);
    rectangel(260,210,280,230);
    rectangel(260,370,280,390);
    }
    else if((aray[i][0]==2) && (aray[i][1]==0))
    {
    setcolor(0);
    rectangel(150,280,180,330);
    rectangel(320,370,340,390);
    rectangel(290,370,310,390);
    rectangel(120,370,140,390);
    rectangel(60,210,80,230);
    rectangel(90,210,110,230);
    rectangel(120,210,140,230);
    setcolor(7);
    rectangel(150,200,250,400);
    rectangel(220,280,250,330);
    rectangel(60,370,80,390);
    rectangel(90,370,110,390);
    rectangel(260,210,280,230);
    rectangel(290,210,310,230);
    rectangel(320,210,340,230);
    rectangel(260,370,280,390);
    }
    else if((aray[i][0]==1) && (aray[i][1]==3))
    {
    setcolor(0);
    rectangel(90,370,110,390);
    rectangel(120,370,140,390);
    rectangel(150,280,180,330);
    rectangel(260,210,280,230);
    rectangel(290,210,310,230);
    rectangel(320,210,340,230);
    rectangel(320,370,340,390);
    setcolor(7);
    rectangel(150,200,250,400);
    rectangel(60,210,80,230);
    rectangel(90,210,110,230);
    rectangel(120,210,140,230);
    rectangel(60,370,80,390);
    rectangel(260,370,280,390);
    rectangel(290,370,310,390);
    rectangel(220,280,250,330);
    }
    else if((aray[i][0]==1) && (aray[i][1]==1))
    {
    setcolor(0);
    rectangel(150,280,180,330);
    rectangel(260,210,280,230);
    rectangel(260,370,280,390);
    rectangel(90,370,110,390);
    rectangel(120,370,140,390);
    rectangel(90,210,110,230);
    rectangel(120,210,140,230);
    setcolor(7);
    rectangel(150,200,250,400);
    rectangel(220,280,250,330);
    rectangel(60,210,80,230);
    rectangel(60,370,80,390);
    rectangel(290,210,310,230);
    rectangel(320,210,340,230);
    rectangel(290,370,310,390);
    rectangel(320,370,340,390);
    }
    else if((aray[i][0]==1) && (aray[i][1]==0))
    {
    setcolor(0);
    rectangel(150,280,180,330);
    rectangel(320,370,340,390);
    rectangel(60,210,80,230);
    rectangel(90,210,110,230);
    rectangel(120,210,140,230);
    rectangel(90,370,110,390);
    rectangel(120,370,140,390);
    setcolor(7);
    rectangel(150,200,250,400);
    rectangel(220,280,250,330);
    rectangel(60,370,80,390);
    rectangel(260,210,280,230);
    rectangel(290,210,310,230);
    rectangel(320,210,340,230);
    rectangel(260,370,280,390);
    rectangel(290,370,310,390);
    }
    else if((aray[i][0]==0) && (aray[i][1]==3))
    {
    setcolor(0);
    rectangel(260,210,280,230);
    rectangel(290,210,310,230);
    rectangel(320,210,340,230);
    rectangel(150,280,180,330);
    rectangel(60,370,80,390);
    rectangel(90,370,110,390);
    rectangel(120,370,140,390);
    setcolor(7);
    rectangel(150,200,250,400);
    rectangel(60,210,80,230);
    rectangel(90,210,110,230);
    rectangel(120,210,140,230);
    rectangel(220,280,250,330);
    rectangel(260,370,280,390);
    rectangel(290,370,310,390);
    rectangel(320,370,340,390);
    }
    else if((aray[i][0]==0) && (aray[i][1]==0))
    {
    setcolor(0);
    rectangel(60,210,80,230);
    rectangel(90,210,110,230);
    rectangel(120,210,140,230);
    rectangel(60,370,80,390);
    rectangel(90,370,110,390);
    rectangel(120,370,140,390);
    rectangel(150,280,180,330);
    setcolor(7);
    rectangel(150,200,250,400);
    rectangel(220,280,250,330);
    rectangel(260,210,280,230);
    rectangel(290,210,310,230);
    rectangel(320,210,340,230);
    rectangel(260,370,280,390);
    rectangel(290,370,310,390);
    rectangel(320,370,340,390);
    }
    }
    getch();
    }
    getch();
    }[/php]
    [align=center][/align]
    [align=center][/align]
صبر کنید ..
X