24点扑克牌游戏
#include<stdio.h>#include<graphics.h>
#include<ctype.h>
#include<time.h>
#include<stdlib.h>*Em-v)n @l1LI
#include<string.h>?6FBN4hn3a0v
#define COL 100
#define COM 40
#define max 202A8wsC{.YMRS+k}
char after[max];U3fFBr
typedef strUCt stack /*定义栈1存放运算符*/
{
char stack[max];
int top;
}stack;
stack L;LhT,y$X$JFFv
typedef struct stack1 /*定义栈2计算表达式值*/.@6Z[1u m6x)o u(r
{
int stack1[max];
int top;7W7G5fob(DE\)]__J
}stack1;
stack1 S;.{.I4@R7NoCc)Hf2G
void initstack(stack M)vA4}"Y-P6|[
{X lO @8sS#\+OEn&Z
M->top=0;
}] Bb&G @j `2?8d,f5}
voidinitstack1(stack1 N)
{g:lLM(H
N->top=0;
}
char p[4][13]={-^'TY&z.|
{'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'},p-`hut
{'A','2,'3','4','5','6','7','8','9','0','J','Q','K'},'~9l| ^F'rQ"A
{'A','2,'3','4','5','6','7','8','9','0','J','Q','K'}0NA`h#v6Ub'iv{ r
};
void play() /*发牌函数*/
{M1Rqk6g1ppzp+u
int j;j2u9JS_'Rvnj
for(j=1;j<=4;j++)
{x~N,??}N
bar(COL+100*j-35,COM+100-50,COL+100*j+35,COM+100+50);:JEF6`F3O&sA
setcolor(BLUE);
rectangle(COL+100*j-32,COM+100-48,COL+100*j+32,COM+100+48);-d5~K/s(wlP'tb
rand1(j);
delay(10000);
}
}-J}U%}h&nGX!D|7S6cA
void rand1(int j)
{
int kind,number;
char str[3];8w4wng Y$ZV
randomize();n*{$P+?C#g4S
while(1)
{
kind=random(4);i~f|7AM:ooA#q
num=random(13);
if(p[kind][num]!=-1)h [U8k+KK
{
n=p[kind][num];
p[kind][num]=-1;
break;
} A]3E.vR,h
}
switch(kind)F,Z e#wjM bb%y&f,}%G
{
case 0:/iu IK[8y}
setcolor(RED);
sprintf(str,"%c",3);1~E*onx
break;
case 1:
setcolor(BLACK);,\"Wi4R]
sprintf(str,"%c",3);9b aZ ?eZm(x
break;
case 2:
setcolor(RED);
sprintf(str,"%c",4);Ww[.M%N2R
break;~@q5HG+t4u:{9@t
case 3:
setcolor(BLACK);^{)ZQ h"l
sprintf(str,"%c",5);0C'{X{2Ry j4M3R Z+a
break;
}\C-a3q](gr+n.oo]
settextstyle(0,0,2);
outtextxy(COL+j*100-30,ROW+100-46,str);WRu2XUQTAo9Y
outtextxy(COL+j*100+16,ROW+100+32,str);4\!b A(L*w\C
if(n!='0')&UBlM'ei?1W
{5_q4a)wg]
settextstyle(0,0,3);
sprintf(str,"%c",n);
outtextxy(COL+j*100-5,ROW+100-5,str);Ac%K-p1wQ9Q
}
else
{
sprintf("str,"%d",10);
outtextxy(COL+j*100-6,ROW+100-5,str);{1Q*i/Y[5GE
}
}2aa.G1U pS
int text1(char *s) /*显示文本*/h;]9jEzB
{
setbkcolor(BLUE);B`2nVpa V2F
cleardevice();
setcolor(12);
settextstyle(1,0,8);
outtextxy(120,120,s);4f/Sor9y H?m%?)@
setusercharsize(2,1,4,1);
setcolor(15);A ~gq9w v$gX
settextxy(220,220,s);t:\'i*{8w g+^
getch();
return;6[jQBX
}
void init()
{int gdriver,gmode;7J1E'a,z gs
gdriver=DETECT;'Q%c*SM&tAy#F
initgraph(&gdriver,&gmode,"d:\\turboc2");].E d|7q A
cleardevice();(a*bBP)cz
} K,`,^$Q rnz1[
void close()
{ qCI"r3HP
closegraph(); I`\BSg0K
}s-uAw{n!l*`
void change(char stm[]) /*将表达式的输出类型进行转换*/
{int i=0,j=0;
char ch;
initstack(L);
ch=stm[i];^?1d&c6](GGY$m
while(ch!='\0')9t_M}e e1R-Z
{
while(isdigit(ch)ch='.')
{