当前位置:主页   - 电脑 - 程序设计 - C/C++
24点扑克牌游戏
来源:网络   作者:   更新时间:2010-05-17
收藏此页】    【字号    】    【打印】    【关闭

  #include<stdio.h>
    #include<graphics.h>
    #include<ctype.h>
    #include<time.h>
    #include<stdlib.h>
    #include<string.h>
    #define COL 100
    #define COM 40
    #define max 20
    char after[max];
    typedef strUCt stack                                                                           /*定义栈1存放运算符*/
    {
    char stack[max];
    int top;
    }stack;
    stack L;
    typedef struct stack1                                                                       /*定义栈2计算表达式值*/
    {
    int stack1[max];
    int top;
    }stack1;
    stack1 S;
    void initstack(stack M)
    {
    M->top=0;
    }
    voidinitstack1(stack1 N)
    {
    N->top=0;
    }
    char  p[4][13]={
    {'A','2,'3','4','5','6','7','8','9','0','J','Q','K'},
    {'A','2,'3','4','5','6','7','8','9','0','J','Q','K'},
    {'A','2,'3','4','5','6','7','8','9','0','J','Q','K'},
    {'A','2,'3','4','5','6','7','8','9','0','J','Q','K'}
    };
    void play()                                                                                                           /*发牌函数*/
    {
    int j;
    for(j=1;j<=4;j++)
    {
    bar(COL+100*j-35,COM+100-50,COL+100*j+35,COM+100+50);
    setcolor(BLUE);
    rectangle(COL+100*j-32,COM+100-48,COL+100*j+32,COM+100+48);
    rand1(j);
    delay(10000);
    }
    }
    void rand1(int j)
    {
    int kind,number;
    char str[3];
    randomize();
    while(1)
      {
       kind=random(4);
       num=random(13);
       if(p[kind][num]!=-1)
          {
            n=p[kind][num];
            p[kind][num]=-1;
            break;
          }
    }
    switch(kind)
    {
    case 0:
    setcolor(RED);
    sprintf(str,"%c",3);
    break;
    case 1:
    setcolor(BLACK);
    sprintf(str,"%c",3);
    break;
    case 2:
    setcolor(RED);
    sprintf(str,"%c",4);
    break;
    case 3:
    setcolor(BLACK);
    sprintf(str,"%c",5);
    break;
    }
    settextstyle(0,0,2);
    outtextxy(COL+j*100-30,ROW+100-46,str);
    outtextxy(COL+j*100+16,ROW+100+32,str);
    if(n!='0')
    {
    settextstyle(0,0,3);
    sprintf(str,"%c",n);
    outtextxy(COL+j*100-5,ROW+100-5,str);
    }
    else
    {
    sprintf("str,"%d",10);
    outtextxy(COL+j*100-6,ROW+100-5,str);
    }
    }
    int text1(char *s)                                                                                       /*显示文本*/
    {
    setbkcolor(BLUE);
    cleardevice();
    setcolor(12);
    settextstyle(1,0,8);
    outtextxy(120,120,s);
    setusercharsize(2,1,4,1);
    setcolor(15);
    settextxy(220,220,s);
    getch();
    return;
    }
    void init()
    {int gdriver,gmode;
    gdriver=DETECT;
    initgraph(&gdriver,&gmode,"d:\turboc2");
    cleardevice();
    }
    void close()
    {
    closegraph();
    }
    void change(char stm[])                                                                                                 /*将表达式的输出类型进行转换*/
    {int i=0,j=0;
    char ch;
    initstack(L);
    ch=stm[i];
    while(ch!='')
    {
          while(isdigit(ch)ch='.')
                  {
                   after[j]=ch;
                   j++;
                  ch=stm[++i];
                  }
         switch(ch)
                  {
                    case '+':
                    case '-':
                                while(L->top!=0&&L->stack[L->top]!='(')
                                         {
                                          after[j]=L->stack[L->top];
                                          j++;
                                          L->top--;
                                         }
                                         L->top++;

其它资源
来源声明

版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明