24点扑克牌游戏

王朝other·作者佚名  2008-06-01
窄屏简体版  字體: |||超大  

#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!='\0')

{

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++;

 

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航