三国杀武将台词代码安全代码

太阳神三国杀源代码的编译教程(windows系统)(个人讲解版)_南海道士吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:9贴子:
太阳神三国杀源代码的编译教程(windows系统)(个人讲解版)
三国杀是由网友“太阳神上”用C++语言编写,编译的一款三国杀游戏平台。而且是开源的。“太阳神上”已经写过一篇在windows环境下编译的教程,不过对新人而言比较难懂。所以个人再写一篇详细的。原教程地址:
炎堤秘炮诖矩、踪习芬富固艘、嗜镭潞茄敌创. . . 被楼主禁言,将不能再进行回复
票牛教你如何买到热门、便宜、真实的演出门票!
先要下载两个东西:和swig的版本(至少为4.7.0以上)最新下载地址:http://玩谐.玩谐/玩谐downloads玩谐/玩谐sdk-windows-cpp-offline玩谐 (把玩谐去掉,进入页面后会自动下载,如果没有动静,点击图中红圈的地方开始下载,文件很大,要耐心)
接下来是下载swig下载地址:http://晚些晚些/晚些download.html晚些(进入之后,可以点击图中红圈的地方,然后等待几秒,就会自动下载)
现在我们要下载太阳神三国杀的了。地址:https://问问问问/问问Moligaloo问问/问问QSanguosha问问(把“问问”去掉再访问)点击图片中红圈的地方,等待下载。注意:不要使用IE或基于IE内核的浏览器(比如)下载。推荐使用:、等非ie内核的浏览器。
下载完毕后,你会得到这个压缩包。接下来就是将里面的文件解压出来,放置一个想要放的地方(注意:路径名里最好不要出现汉语)。这是本人存放的路径。
现在我们要生成sanguosha_wrap.cxx 文件: 接下点击任务栏中的“开始”,找到“运行”,输入“cmd”。然后输入一段命令“win-2.0.4\swig.exe -c++ -lua
E:\Moligaloo-QSanguosha-6081d52\swig\sanguosha.i”(双引号不用输入)这段命令前面是你放置的位置,中间“ -c++ -lua
”,最后一段则源代码中的要生成的文件。输入完毕后回车,等待再次出现输入符号后,打开源文件中的文件夹,你就看见生成好的sanguosha_wrap.cxx文件。
接下来我们要开始编译exe运行文件了。打开。(qt有中文版,这里以此版为依据)点击“open project”,找到目录,点击图中选定的这个文件。打开后,会出现这个界面,直接点“finish”。然后就是选择编译的类型“debug(调试)”或“release(发布)”,我们这里选择“release”。
接下来要选择编译运行的目标文件夹,如图中红框地方,点击browse后,选择文件夹。
接下来点击这个选项,开始编译。之后,在你放置的根目录里会出现这个文件夹。我们称之为“编译目录”。接下来我们还要把下图中,红框中的文件夹、黑框中文件夹里所有的文件,粘贴到”编译目录“中去。
接下来就等待编译结束,结束后,会出现这个文件,好了,编译成功。
缺牙要及时修复,揭秘种植牙如何做到几十年不掉?
在新建一个新的文件夹,按照如图下的布置,去或安装目录中寻找相应的文件或文件夹**于此。这样,新编译的太阳神三国杀就完成了。
“红框中的文件夹、黑框中文件夹里所有的文件”这句话到底怎么理解??是红框的整个文件夹和黑框文件夹中的文件,还是都只要其中的文件不要文件夹呢?
不好意思。。。没看清楚。。呵呵。。但是我的没出现编译目录。。。
按下编译,在根目录里就会出现编译目录。(期间要等待一会,如果过了一段时间没有出现的话就查看qt creator是否有提示错误)。
提示错误了。。:-1: 错误:LNK1181: 无法打开输入文件“fmodex.lib”这样。。
太阳神三国杀的版本库已经升级,要下载新的Qt和⒋8版版本库。
我下载的应该都是最新才对啊TAT
留下问题时的截图,明天帮你解决。
就这样啊。。编译的时候也没有出现新的文件夹。。
重新按照步骤做,qt verison选择4.8.0
楼主,我跟上面那哥们一个问题,请问该如何解决?
打开项目时的界面,没有Build Directory
这里是这样设置的,构建目录跟你的不一样,原因就是前面没有Build Directory,这里不这样设置的话就不会生成构建目录,之后的步骤就和你的一样了。
将resource文件夹以及lib文件夹里的文件拷到构建目录后编译通过,但是出现一堆warning。这里若不是将lib文件夹里的文件拷到构建目录,而是仅仅将lib文件夹拷过来的话就会出现错误提示::-1: 错误:LNK1181: 无法打开输入文件“fmodex.lib”
虽然编译通过,但是调试运行的时候出错,楼主知道什么原因么?D:\QSanguosha-build-desktop\release\QSanguosha.exe 启动中...程序异常终止。D:\QSanguosha-build-desktop\release\QSanguosha.exe 退出,退出代码: - {1 ?}D:\QSanguosha-build-desktop\release\QSanguosha.exe 启动中...程序异常终止。D:\QSanguosha-build-desktop\release\QSanguosha.exe 退出,退出代码: - {1 ?}
我的版本老了,新qt编译的教程我在制作。
鉴於以上问题,更新一下本教程。
从第7层楼开始更新,上面的内容接第六层。版本为4.8.0了打开 creator
点击打开文件打开本项目
点击完成点击红圈的地方,选择编译出的类型,我这里选择的是发布
贴吧热议榜
使用签名档&&
保存至快速回贴//sanguosha
#include&iostream&
#include&time.h&
struct pai
void Kanpai()
if(paifu==0||paifu==1);
printf(&牌副参数错误!\n&);
switch(huase)
case 0:cout&&&黑桃&;
case 1:cout&&&红桃&;
case 2:cout&&&草花&;
case 3:cout&&&方片&;
case -1:cout&&&无色&;
default:printf(&花色错误!\n&);
switch(dianshu)
case 0:cout&&&A &;
case 1:cout&&&2 &;
case 2:cout&&&3 &;
case 3:cout&&&4 &;
case 4:cout&&&5 &;
case 5:cout&&&6 &;
case 6:cout&&&7 &;
case 7:cout&&&8 &;
case 8:cout&&&9 &;
case 9:cout&&&10 &;
case 10:cout&&&J &;
case 11:cout&&&Q &;
case 12:cout&&&K &;
case -1:cout&&&无点数&;
default:printf(&点数错误!\n&);
switch(leixing)
case 101:cout&&&【杀】&&&
case 102:cout&&&【闪】&&&
case 103:cout&&&【桃】&&&
case 201:cout&&&【过河拆桥】&&&
case 202:cout&&&【顺手牵羊】&&&
case 203:cout&&&【无中生有】&&&
case 204:cout&&&【决斗】&&&
case 205:cout&&&【借刀杀人】&&&
case 206:cout&&&【桃园结义】&&&
case 207:cout&&&【五谷丰登】&&&
case 208:cout&&&【南蛮入侵】&&&
case 209:cout&&&【万箭齐发】&&&
case 210:cout&&&【无懈可击】&&&
case 251:cout&&&【乐不思蜀】&&&
case 252:cout&&&【闪电】&&&
case 301:cout&&&【诸葛连弩(1)】&&&
case 302:cout&&&【雌雄双股剑(2)】&&&
case 303:cout&&&【青釭剑(2)】&&&
case 304:cout&&&【青龙偃月刀(3)】&&&
case 305:cout&&&【丈八蛇矛(3)】&&&
case 306:cout&&&【贯石斧(3)】&&&
case 307:cout&&&【方天画戟(4)】&&&
case 308:cout&&&【麒麟弓(5)】&&&
case 331:cout&&&【八卦阵】&&&
case 361:cout&&&【赤兔(-1)】&&&
case 362:cout&&&【大宛(-1)】&&&
case 363:cout&&&【紫辛(-1)】&&&
case 381:cout&&&【爪黄飞电(+1)】&&&
case 382:cout&&&【的卢(+1)】&&&
case 383:cout&&&【绝影(+1)】&&&
default:printf(&类型参数错误!&);
void Qishixipai(pai A[2][4][13],pai paidui[104])
int i,m,x,y,z,a[104]={0};
srand((unsigned)time(NULL));
for(i=1;i&=104;i++)
while(a[m=rand()%104]);
for(i=0;i&=103;i++)
x=(a[i]-1)/52;
y=((a[i]-1)-52*x)/13;
z=(a[i]-1)%13;
paidui[i]=A[x][y][z];
void Xipai(pai paidui[104],int*paiduishu,pai qipaidui[104],int*qipaishu)
int i,m,a[104]={0};
srand((unsigned)time(NULL));
for(i=1;i&=(*qipaishu);i++)
while(a[m=rand()%(*qipaishu)]);
for(i=0;i&=((*qipaishu)-1);i++)
paidui[i]=qipaidui[a[i]];
qipaidui[a[i]].leixing=-1;
(*paiduishu)++;
(*qipaishu)--;
for(i=(*paiduishu);i&=103;i++)paidui[i].leixing=-1;
pai Mo1pai(pai A[104],int *x,pai B[104],int*y,int *b)
if((*x)==0)Xipai(A,x,B,y);
else if((*x)&0)printf(&摸牌参数错误!&);
p=A[104-(*x)];
return(p);
struct wujiang
pai shoupai[20];
pai zhuangbei[4];
pai pandingpai[3];
int juli[1];
void Kanshoupai()
printf(&玩家当前手牌:\n&);
if(shoupaishu)
for(m=0;m&=(shoupaishu-1);m++)
printf(&%d &,m);
(shoupai[m]).Kanpai();
else printf(&空城!\n&);
printf(&\n&);
void Kanzhuangbei()
if(juese)printf(&玩家&);
else printf(&电脑&);
printf(&当前装备:\n&);
printf(&0 武器: &);
if((zhuangbei[0]).leixing==-1)printf(&空\n&);
else (zhuangbei[0]).Kanpai();
printf(&1 防具: &);
if((zhuangbei[1]).leixing==-1)printf(&空\n&);
else (zhuangbei[1]).Kanpai();
printf(&2 进攻马: &);
if((zhuangbei[2]).leixing==-1)printf(&空\n&);
else (zhuangbei[2]).Kanpai();
printf(&3 防御马: &);
if((zhuangbei[3]).leixing==-1)printf(&空\n&);
else (zhuangbei[3]).Kanpai();
printf(&\n&);
void Kanpandingpai()
if(juese)printf(&玩家&);
else printf(&电脑&);
printf(&当前判定区:\n&);
if((pandingpai[0]).leixing==-1)printf(&空\n&);
printf(&0 &);
(pandingpai[0]).Kanpai();
if((pandingpai[1]).leixing==-1);
printf(&1 &);
(pandingpai[1]).Kanpai();
if((pandingpai[2]).leixing==-1);
printf(&2 &);
(pandingpai[2]).Kanpai();
void Mopai(int*shoupaishu,pai shoupai[20],pai A[104],int *x,pai B[104],int*y,int juese)
if(juese)printf(&玩家从牌堆摸2张牌\n&);
else printf(&电脑从牌堆摸2张牌\n&);
p=Mo1pai(A,x,B,y,shoupaishu);
shoupai[*shoupaishu-1]=p;
q=Mo1pai(A,x,B,y,shoupaishu);
shoupai[*shoupaishu-1]=q;
printf(&玩家当前手牌:\n&);
for(m=0;m&=(*shoupaishu-1);m++)
printf(&%d &,m);
(shoupai[m]).Kanpai();
printf(&牌堆还剩%d张牌!\n\n&,*x);
void Qishishoupai(wujiang *w,pai A[104],int *x,pai B[104],int*y)
a=Mo1pai(A,x,B,y,&((*w).shoupaishu));
(*w).shoupai[(*w).shoupaishu-1]=a;
b=Mo1pai(A,x,B,y,&((*w).shoupaishu));
(*w).shoupai[(*w).shoupaishu-1]=b;
c=Mo1pai(A,x,B,y,&((*w).shoupaishu));
(*w).shoupai[(*w).shoupaishu-1]=c;
d=Mo1pai(A,x,B,y,&((*w).shoupaishu));
(*w).shoupai[(*w).shoupaishu-1]=d;
if((*w).juese)printf(&玩家从牌堆摸4张牌\n&);
else printf(&电脑从牌堆摸4张牌\n&);
if((*w).juese)
printf(&玩家当前手牌:\n&);
for(m=0;m&=((*w).shoupaishu-1);m++)
printf(&%d &,m);
((*w).shoupai[m]).Kanpai();
printf(&牌堆还剩%d张牌!\n\n&,*x);
void Panding(pai paidui[104],int*paiduishu,pai qipaidui[104],int*qipaishu)
paidui[*paiduishu].Kanpai();
qipaidui[*qipaishu]=paidui[*paiduishu];
(*paiduishu)--;
(*qipaishu)++;
pai Zhangba(wujiang*w,pai qipaidui[104],int*qipaishu)
printf(&请输入任意两张手牌之前的编号,以空格隔开,以回车结束!\n&);
scanf(&%d&,&x);
scanf(&%d&,&y);
if((x&=0)&&(x&(*w).shoupaishu)&&(y&=0)&&(y&(*w).shoupaishu-1))
switch((((*w).shoupai[x].huase)%2)+(((*w).shoupai[y].huase)%2))
case 0:p.yanse=0;
case 2:p.yanse=1;
case 1:p.yanse=2;
default:printf(&【丈八蛇矛】函数参数错误!\n&);
qipaidui[*qipaishu]=(*w).shoupai[x];
(*w).shoupai[x].leixing=-1;
((*w).shoupaishu)--;
(*qipaishu)++;
qipaidui[*qipaishu]=(*w).shoupai[y];
(*w).shoupai[y].leixing=-1;
((*w).shoupaishu)--;
(*qipaishu)++; printf(&弃牌数:%d&,*qipaishu);
for(i=0;i&=(((*w).shoupaishu)+1);i++)
if((*w).shoupai[i].leixing==-1)
for(j=i+1;j&=(((*w).shoupaishu)+2);j++)
(*w).shoupai[j-1]=(*w).shoupai[j];
printf(&玩家把:\n&);
qipaidui[(*qipaishu)-2].Kanpai();
qipaidui[(*qipaishu)-1].Kanpai();
printf(&当作一张&);
switch(p.yanse)
case 0:printf(&黑色&);
case 2:printf(&红色&);
case 1:printf(&无色&);
default:printf(&绿色&);
printf(&无点数的【杀】&);
p.dianshu=-1;
p.leixing=101;
printf(&你将两张空气当作一张空气属性的【杀】使用或打出!\n&);
int Xuanpai(wujiang*w,int t)
if((*w).juese)
printf(&出牌请输入手牌之前的编号,以回车结束!\n如果你想结束出牌阶段,请输入“-1”,以回车结束!\n&);
scanf(&%d&,&x);
if((x&=-1&&x&((*w).shoupaishu))||((x==100)&&((*w).zhuangbei[0].leixing==305)))
printf(&你打出了一张空气!\n&);
pai Panpai(wujiang*w1,int*sha,int y,pai qipaidui[104],int*qipaishu)
p.leixing=0;
q.leixing=-1;
if(y==100)
if((*sha)&0)
q=Zhangba(w1,qipaidui,qipaishu);
printf(&使用!\n&);
printf(&当前回合使用【杀】的次数已用尽,你也不能使用【丈八蛇矛】效果!\n&);
switch((*w1).shoupai[y].leixing)
if(((*sha)&0)||((*w1).zhuangbei[0].leixing==301))
if(((*w1).zhuangbei[0].leixing==301))printf(&武器【诸葛连弩】效果被触发!\n&);
return (*w1).shoupai[y];
if((*w1).juese)printf(&当前回合使用【杀】的次数已用尽,你不能使用【杀】!\n&);
if((*w1).juese)
printf(&当前不需要响应任何操作,你不能主动打出【闪】!\n&);
if(((*w1).tili)&((*w1).tilishangxian))
return (*w1).shoupai[y];
if((*w1).juese)
printf(&你并未受伤,不能对自己使用【桃】!\n&);
if((*w1).juese)
printf(&当前不需要响应任何锦囊,你不能主动打出【无懈可击】!\n&);
case 383:return (*w1).shoupai[y];
default:printf(&手牌类型参数错误!\n&);
int Mubiao(pai p,wujiang *w1,wujiang *w2,int*sha)
switch(p.leixing)
if((*w1).juese)
printf(&请选择【杀】的目标!\n输入目标前的编号,以回车结束!\n0 电脑1\n&);
scanf(&%d&,&x);
if((*w1).zhuangbei[0].changdu&=(*w1).juli[0])
return((*w2).juese);
printf(&武器长度不够!\n&);
return -2;
printf(&目标错误!\n&);
return -2;
if((*w1).zhuangbei[0].changdu&=(*w1).juli[0])
return((*w2).juese);
else return -2;
case 103:return((*w1).juese);
if((*w1).juese)
printf(&请选择【过河拆桥】的目标!\n输入目标前的编号,以回车结束!\n0 电脑1\n&);
scanf(&%d&,&x);
if((*w2).shoupaishu||(*w2).zhuangbeishu||(*w2).pandingshu)return((*w2).juese);
printf(&目标没有牌!\n&);
return -2;
printf(&目标错误!\n&);
return -2;
else return((*w2).juese);
if((*w1).juese)
printf(&请选择【顺手牵羊】的目标!\n输入目标前的编号,以回车结束!\n0 电脑1\n&);
scanf(&%d&,&x);
if(((*w2).shoupaishu||(*w2).zhuangbeishu||(*w2).pandingshu)&&((*w1).juli[0]&=1))return((*w2).juese);
printf(&目标没有牌!\n&);
return -2;
printf(&目标错误!\n&);
return -2;
if((*w1).juli[0]&=1)return((*w2).juese);
else return -2;
return((*w1).juese);
if((*w1).juese)
printf(&请选择【决斗】的目标!\n输入目标前的编号,以回车结束!\n0 电脑1\n&);
scanf(&%d&,&x);
if(x==0)return((*w2).juese);
printf(&目标错误!\n&);
return -2;
else return((*w2).juese);
if((*w1).juese)
printf(&请选择【借刀杀人】的目标!\n输入目标前的编号,以回车结束!\n0 电脑1\n&);
scanf(&%d&,&x);
printf(&目标错误!\n&);
return -2;
if(((*w2).zhuangbei[0]).leixing&=300||((*w2).zhuangbei[0]).leixing&=331)
printf(&目标装备区里没有武器!\n&);
return -2;
printf(&请选择【杀】的目标!\n提示:【杀】的目标必须在【借刀杀人】的目标的攻击范围之内!\n输入目标前的编号,以回车结束!\n0 玩家\n&);
scanf(&%d&,&y);
printf(&目标错误!\n&);
return -2;
if(((*w2).zhuangbei[0].changdu)&(*w2).juli[0])
printf(&武器距离不够!\n&);
return -2;
return((*w2).juese);
if(((*w2).zhuangbei[0]).leixing&=300||((*w2).zhuangbei[0]).leixing&=331)return -2;
if(((*w2).zhuangbei[0].changdu)&(*w2).juli[0])return -2;
else return((*w2).juese);
case 207:return 99;
case 209:return 100;
if((*w1).juese)
printf(&请选择【乐不思蜀】的目标!\n输入目标前的编号,以回车结束!\n0 电脑1\n&);
scanf(&%d&,&x);
for(i=0;i&=2;i++)
if((*w2).pandingpai[i].leixing==251)
printf(&目标判定区里不能同时存在两张相同的延时类锦囊!\n&);
return -2;
else return((*w2).juese);
printf(&目标错误!\n&);
return -2;
for(i=0;i&=2;i++)
if((*w2).pandingpai[i].leixing==251)
if(i==-1)return -2;
else return((*w2).juese);
for(i=0;i&=2;i++)
if((*w1).pandingpai[i].leixing==252)
if((*w1).juese)printf(&目标判定区里不能同时存在两张相同的延时类锦囊!\n&);
return -2;
else return ((*w1).juese);
case 383:return((*w1).juese);
default:return -2;
void Da1pai(wujiang *w1,wujiang*w2,pai qipaidui[104],int *qipaishu,int x)
if((x&0||x&=((*w1).shoupaishu))&&x!=100)
printf(&你的牌呢?!\n&);
switch(((*w1).shoupai)[x].leixing)
qipaidui[*qipaishu]=((*w1).shoupai)[x];
for(i=x+1;i&=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
((*w1).shoupaishu)--;
(*qipaishu)++;
for(i=1;i&=0;i--)(*w2).pandingpai[i+1]=(*w2).pandingpai[i];
(*w2).pandingpai[0]=(*w1).shoupai[x];
for(i=x+1;i&=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
((*w1).shoupaishu)--;
((*w2).pandingshu)++;
for(i=1;i&=0;i--)(*w1).pandingpai[i+1]=(*w1).pandingpai[i];
(*w1).pandingpai[0]=(*w1).shoupai[x];
for(i=x+1;i&=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
((*w1).shoupaishu)--;
((*w1).pandingshu)++;
if((*w1).zhuangbei[0].leixing==-1)((*w1).zhuangbeishu)++;
qipaidui[*qipaishu]=((*w1).zhuangbei)[0];
(*qipaishu)++;
(*w1).zhuangbei[0]=(*w1).shoupai[x];
for(i=x+1;i&=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
((*w1).shoupaishu)--;
if((*w1).zhuangbei[1].leixing==-1)((*w1).zhuangbeishu)++;
qipaidui[*qipaishu]=((*w1).zhuangbei)[1];
(*qipaishu)++;
(*w1).zhuangbei[1]=(*w1).shoupai[x];
for(i=x+1;i&=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
((*w1).shoupaishu)--;
if((*w1).zhuangbei[2].leixing==-1)((*w1).zhuangbeishu)++;
qipaidui[*qipaishu]=((*w1).zhuangbei)[2];
(*qipaishu)++;
(*w1).zhuangbei[2]=(*w1).shoupai[x];
for(i=x+1;i&=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
((*w1).shoupaishu)--;
if((*w1).zhuangbei[3].leixing==-1)((*w1).zhuangbeishu)++;
qipaidui[*qipaishu]=((*w1).zhuangbei)[3];
(*qipaishu)++;
(*w1).zhuangbei[3]=(*w1).shoupai[x];
for(i=x+1;i&=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
((*w1).shoupaishu)--;
void Miaoshu(pai p,int juese,int duixiang)
if(juese==0)printf(&电脑&);
else if(juese==1)printf(&玩家&);
else printf(&角色参数错误!\n&);
if(p.leixing&=300&&p.leixing&100)
switch(duixiang)
case -1:printf(&打出&);
case 0:printf(&对电脑使用&);
case 1:printf(&对玩家使用&);
case 99:printf(&使用&);
case 100:printf(&对所有人使用&);
default:printf(&对象参数错误\n&);
else if(p.leixing&=301&&p.leixing&=400)
printf(&装备&);
else printf(&你出的是什么东西?\n&);
p.Kanpai();
if(!juese&&(p.leixing==101||p.leixing==204||p.leixing==205||p.leixing==207||p.leixing==208||p.leixing==209))printf(&请响应!\n&);
int Wuxie(pai *p,wujiang*w1,wujiang*w2,pai qipaidui[104],int*qipaishu,int a)
if((*w1).juese)
printf(&是否使用【无懈可击】响应?\n\n&);
(*w1).Kanshoupai();
printf(&如果要使用【无懈可击】请输入手牌之前编号,不需要请输入“-1”,以回车结束!\n&);
scanf(&%d&,&x);
for(x=0;x&((*w2).shoupaishu);x++)
if((*w2).shoupai[x].leixing==210)
printf(&电脑使用&);
((*w2).shoupai)[x].Kanpai();
printf(&对象是&);
(*p).Kanpai();
(*p)=((*w2).shoupai)[x];
qipaidui[*qipaishu]=((*w2).shoupai)[x];
for(int i=x+1;i&=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
((*w2).shoupaishu)--;
(*qipaishu)++;
else if((*w1).shoupai[x].leixing==210)
printf(&玩家使用&);
((*w1).shoupai)[x].Kanpai();
printf(&对象是&);
(*p).Kanpai();
(*p)=((*w1).shoupai)[x];
qipaidui[*qipaishu]=((*w1).shoupai)[x];
for(int i=x+1;i&=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
((*w1).shoupaishu)--;
(*qipaishu)++;
(*w1).Kanshoupai();
else printf(&你确定你使用的是【无懈可击】?\n&);
printf(&是否使用【无懈可击】响应?\n&);
(*w2).Kanshoupai();
printf(&如果要使用【无懈可击】请输入手牌之前编号,不需要请输入“-1”,以回车结束!\n&);
scanf(&%d&,&x);
else if((*w2).shoupai[x].leixing==210)
printf(&玩家使用&);
((*w2).shoupai)[x].Kanpai();
printf(&对象是&);
(*p).Kanpai();
(*p)=((*w2).shoupai)[x];
qipaidui[*qipaishu]=((*w2).shoupai)[x];
for(int i=x+1;i&=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
((*w2).shoupaishu)--;
(*qipaishu)++;
(*w2).Kanshoupai();
else printf(&你确定你使用的是【无懈可击】?\n&);
int Qiutao(wujiang*w,pai qipaidui[104],int*qipaishu)
if((*w).juese)
printf(&如果要使用【桃】请输入手牌之前的编号,不需要请输入“-1”,以回车结束!\n&);
scanf(&%d&,&x);
return -1;
else if((*w).shoupai[x].leixing==103)
qipaidui[*qipaishu]=((*w).shoupai)[x];
for(int i=x+1;i&=((*w).shoupaishu);i++)((*w).shoupai)[i-1]=((*w).shoupai)[i];
((*w).shoupaishu)--;
(*qipaishu)++;
else printf(&你确定你使用的是【桃】?\n&);
for(x=0;x&((*w).shoupaishu);x++)
if((*w).shoupai[x].leixing==103)
qipaidui[*qipaishu]=((*w).shoupai)[x];
for(int i=x+1;i&=((*w).shoupaishu);i++)((*w).shoupai)[i-1]=((*w).shoupai)[i];
((*w).shoupaishu)--;
(*qipaishu)++;
return -1;
int Binsi(wujiang*w1,wujiang*w2,pai qipaidui[104],int*qipaishu)
if(((*w2).tili)&0)return 0;
if((*w1).juese)
printf(&电脑濒死,是否使用【桃】?\n&);
i=Qiutao(w1,qipaidui,qipaishu);
if(i==0)((*w2).tili)++;
if((i==-1)||((*w2).tili&0))
if((*w2).tili&0)return 0;
i=Qiutao(w2,qipaidui,qipaishu);
if(i==0)((*w2).tili)++;
if((i==-1)||((*w2).tili&0))
if((*w2).tili&0)return 0;
else return -1;
printf(&玩家濒死,是否使用【桃】?\n&);
i=Qiutao(w2,qipaidui,qipaishu);
if(i==0)((*w2).tili)++;
if((i==-1)||((*w2).tili&0))
if((*w2).tili&0)return 0;
else return -1;
int Shan(wujiang*w1,wujiang*w2,pai paidui[104],int*paiduishu,pai qipaidui[104],int*qipaishu)
if((*w2).juese)
if(((*w2).zhuangbei[1].leixing==331)&&((*w1).zhuangbei[0].leixing!=303))
printf(&是否发动【八卦阵】防具效果?\n0 否\n1 是\n请输入选项之前的编号,以回车结束!\n&);
scanf(&%d&,&m);
Panding(paidui,paiduishu,qipaidui,qipaishu);
if(qipaidui[(*qipaishu)-1].huase%2)
printf(&【八卦阵】判定成功!\n&);
else if(m==0)
printf(&【八卦阵】判定失败!\n&);
else printf(&你确定你输入的是“0”或“1”?\n&);
else if(((*w2).zhuangbei[1].leixing==331)&&((*w1).zhuangbei[0].leixing==303))printf(&【青釭剑】锁定技被触发!\n&);
printf(&请输入手牌之前的编号,或者输入“-1”放弃打出【闪】,以回车结束!\n&);
scanf(&%d&,&x);
return -1;
else if((*w2).shoupai[x].leixing==102)
printf(&玩家打出&);
((*w2).shoupai)[x].Kanpai();
qipaidui[*qipaishu]=((*w2).shoupai)[x];
for(int i=x+1;i&=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
((*w2).shoupaishu)--;
(*qipaishu)++;
else printf(&你确定你打出的是【闪】?\n&);
if(((*w2).zhuangbei[1].leixing==331)&&((*w1).zhuangbei[0].leixing!=303))
Panding(paidui,paiduishu,qipaidui,qipaishu);
if(qipaidui[(*qipaishu)-1].huase%2)
printf(&【八卦阵】判定成功!\n&);
else printf(&【八卦阵】判定失败!\n&);
else if(((*w2).zhuangbei[1].leixing==331)&&((*w1).zhuangbei[0].leixing==303))printf(&【青釭剑】锁定技被触发!\n&);
for(x=0;x&((*w2).shoupaishu);x++)
if((*w2).shoupai[x].leixing==102)
printf(&电脑打出&);
((*w2).shoupai)[x].Kanpai();
qipaidui[*qipaishu]=((*w2).shoupai)[x];
for(i=x+1;i&=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
((*w2).shoupaishu)--;
(*qipaishu)++;
return -1;
int Sha(wujiang *w1,wujiang*w2,pai paidui[104],int*paiduishu,pai qipaidui[104],int*qipaishu)
if((*w2).juese)
printf(&请打出【闪】响应【杀】!否则你将受到1点伤害!\n&);
x=Shan(w1,w2,paidui,paiduishu,qipaidui,qipaishu);
((*w2).tili)--;
printf(&电脑对玩家造成1点伤害!\n&);
i=Binsi(w1,w2,qipaidui,qipaishu);
else if(x==0&&((*w1).zhuangbei[0].leixing==306))
if(((*w1).shoupaishu)&=2)
printf(&电脑弃掉:\n&);
((*w1).shoupai)[0].Kanpai();
qipaidui[*qipaishu]=((*w1).shoupai)[0];
for(i=1;i&=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
((*w1).shoupaishu)--;
(*qipaishu)++;
((*w1).shoupai)[0].Kanpai();
qipaidui[*qipaishu]=((*w1).shoupai)[0];
for(i=1;i&=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
((*w1).shoupaishu)--;
(*qipaishu)++;
printf(&发动【贯石斧】武器效果使【杀】造成伤害!\n&);
((*w2).tili)--;
i=Binsi(w1,w2,qipaidui,qipaishu);
else return 0;
else if(x==0&&((*w1).zhuangbei[0].leixing==304))
for(x=0;x&((*w1).shoupaishu);x++)
if((*w1).shoupai[x].leixing==101)
printf(&电脑发动【青龙偃月刀】效果对玩家使用&);
((*w1).shoupai)[x].Kanpai();
qipaidui[*qipaishu]=((*w1).shoupai)[x];
for(i=x+1;i&=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
((*w1).shoupaishu)--;
(*qipaishu)++;
i=Sha(w1,w2,paidui,paiduishu,qipaidui,qipaishu);
else//往上是玩家被使用【杀】 往下是电脑被使用【杀】
x=Shan(w1,w2,paidui,paiduishu,qipaidui,qipaishu);
if((*w1).zhuangbei[0].leixing==308)
printf(&是否发动【麒麟弓】武器效果?\n0 否\n1 是\n&);
scanf(&%d&,&x);
if(((*w2).zhuangbei[2].leixing==-1)&&((*w2).zhuangbei[3].leixing==-1))
printf(&电脑根本没有马,射你妹的马啊!\n&);
printf(&0 &);
((*w2).zhuangbei[2]).Kanpai();
printf(&1 &);
((*w2).zhuangbei[3]).Kanpai();
printf(&请选择要弃掉的马,输入之前的编号,以回车结束!\n&);
scanf(&%d&,&x);
if((x==0)&&((*w2).zhuangbei[2].leixing!=-1))
printf(&你弃掉了电脑的&);
((*w2).zhuangbei)[2].Kanpai();
qipaidui[*qipaishu]=((*w2).zhuangbei)[2];
((*w2).zhuangbeishu)--;
(*qipaishu)++;
((*w2).zhuangbei)[2].leixing=-1;
((*w2).juli[0])++;
else if((x==1)&&((*w2).zhuangbei[3].leixing!=-1))
printf(&你弃掉了电脑的&);
((*w2).zhuangbei)[3].Kanpai();
qipaidui[*qipaishu]=((*w2).zhuangbei)[3];
((*w2).zhuangbeishu)--;
(*qipaishu)++;
((*w2).zhuangbei)[3].leixing=-1;
((*w1).juli[0])--;
else printf(&射你妹的马!&);
else if(x==0)
else printf(&键盘上的“0”和“1”被你吃了吗?\n&);
((*w2).tili)--;
printf(&玩家对电脑造成1点伤害!\n&);
i=Binsi(w1,w2,qipaidui,qipaishu);
else if(x==0&&((*w1).zhuangbei[0].leixing==306))
printf(&是否发动【贯石斧】武器效果?\n0 否\n1 是\n&);
scanf(&%d&,&x);
if((*w1).shoupaishu+(*w1).zhuangbeishu&=2)
printf(&你除了【贯石斧】以外连2张牌都没有,发动你妹的效果!\n&);
printf(&请分别弃掉两张牌!\n&);
for(i=0;i&=2;i++)
printf(&请选择区域:\n0 手牌\n1 装备\n&);
scanf(&%d&,&x);
if(x==0&&((*w1).shoupaishu==0))printf(&你根本没有手牌,弃你妹啊!\n&);
else if(x==1&&((*w1).zhuangbeishu==1))printf(&你根本没有别的装备,弃你妹啊!\n&);
else if(x&=0&&x&=1)
else printf(&键盘上的“0”和“1”被你吃了吗?\n&);
(*w1).Kanshoupai();
printf(&弃牌请输入手牌之前的编号,以回车结束!\n&);
scanf(&%d&,&x);
if(x&=0&&x&((*w1).shoupaishu))
else printf(&弃你妹的手牌!\n&);
printf(&你弃掉了&);
((*w1).shoupai)[x].Kanpai();
qipaidui[*qipaishu]=((*w1).shoupai)[x];
for(i=x+1;i&=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
((*w1).shoupaishu)--;
(*qipaishu)++;
(*w1).Kanzhuangbei();
printf(&请输入装备之前的编号,以回车键结束!\n&);
scanf(&%d&,&x);
if((((*w1).zhuangbei[x]).leixing!=-1)&&(x&=0)&&(x&=3))
printf(&你弃掉了&);
((*w1).zhuangbei)[x].Kanpai();
qipaidui[*qipaishu]=((*w1).zhuangbei)[x];
((*w1).zhuangbeishu)--;
(*qipaishu)++;
((*w1).zhuangbei)[x].leixing=-1;
else printf(&弃你妹的装备!\n&);
printf(&玩家发动【贯石斧】武器效果使【杀】造成伤害!\n&);
((*w2).tili)--;
i=Binsi(w1,w2,qipaidui,qipaishu);
else if(x==0)
else printf(&键盘上的“0”和“1”被你吃了吗?\n&);
else if(x==0&&((*w1).zhuangbei[0].leixing==304))
printf(&是否发动【青龙偃月刀】武器效果?\n0 否\n1 是\n&);
scanf(&%d&,&x);
printf(&请对电脑使用一张【杀】!\n请输入手牌之前的编号,或者输入“-1”放弃出【杀】,以回车结束!\n&);
(*w1).Kanshoupai();
scanf(&%d&,&x);
else if((*w1).shoupai[x].leixing==101)
printf(&玩家对电脑使用&);
((*w1).shoupai)[x].Kanpai();
qipaidui[*qipaishu]=((*w1).shoupai)[x];
for(i=x+1;i&=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
((*w1).shoupaishu)--;
(*qipaishu)++;
i=Sha(w1,w2,paidui,paiduishu,qipaidui,qipaishu);
else printf(&你确定你打出的是【杀】?\n&);
else if(x==0)
else printf(&你确定你输入的是“0”或“1”?\n&);
else return 0;
void Tao(wujiang*w1)//【桃】函数
((*w1).tili)++;
if((*w1).juese)printf(&玩家&);
else printf(&电脑&);
printf(&恢复了1点体力!\n&);
if(((*w1).tili)&((*w1).tilishangxian))printf(&你被撑死了!\n&);
void Chai(wujiang*w1,wujiang*w2,pai qipaidui[104],int*qipaishu)
int i,x,y;
if((*w1).juese)
if((*w2).shoupaishu+(*w2).zhuangbeishu+(*w2).pandingshu==0)
printf(&对方空城,拆你妹啊!\n&);
printf(&请选择想拆的区域,输入选项之前的编号,以回车结束!\n0 手牌\n1 装备区\n2 判定区\n&);
scanf(&%d&,&x);
if(x==0&&((*w2).shoupaishu==0))printf(&你拆掉了一张空气!\n&);
else if(x==1&&((*w2).zhuangbeishu==0))printf(&你拆掉了一张空气!\n&);
else if(x==2&&((*w2).pandingshu==0))printf(&你拆掉了一张空气!\n&);
else if(x&=0&&x&=2)
else printf(&你拆掉了太空区里的一张牌!\n&);
srand((unsigned)time(NULL));
y=rand()%((*w2).shoupaishu);
printf(&你弃掉了电脑的&);
((*w2).shoupai)[y].Kanpai();
qipaidui[*qipaishu]=((*w2).shoupai)[y];
for(i=y+1;i&=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
((*w2).shoupaishu)--;
(*qipaishu)++;
(*w2).Kanzhuangbei();
printf(&请输入装备之前的编号,以回车键结束!\n&);
scanf(&%d&,&y);
if((((*w2).zhuangbei[y]).leixing!=-1)&&(y&=0)&&(y&=3))
printf(&你弃掉了电脑的&);
((*w2).zhuangbei)[y].Kanpai();
qipaidui[*qipaishu]=((*w2).zhuangbei)[y];
((*w2).zhuangbeishu)--;
(*qipaishu)++;
((*w2).zhuangbei)[y].leixing=-1;
if(!y)((*w2).zhuangbei)[y].changdu=1;
else if(y==2)((*w2).juli[0])++;
else if(y==3)((*w1).juli[0])--;
else printf(&你弃掉了一张空气!\n&);
(*w2).Kanpandingpai();
printf(&请输入判定牌之前的编号,以回车键结束!\n&);
scanf(&%d&,&y);
if((*w2).pandingpai[y].leixing!=-1)
printf(&你弃掉了电脑的&);
((*w2).pandingpai)[y].Kanpai();
qipaidui[*qipaishu]=((*w2).pandingpai)[y];
((*w2).pandingshu)--;
(*qipaishu)++;
((*w2).pandingpai)[y].leixing=-1;
else printf(&你弃掉了一张空气!\n&);
if((*w2).zhuangbeishu)
if((*w2).zhuangbei[1].leixing!=-1)
printf(&电脑弃掉了玩家的&);
((*w2).zhuangbei)[1].Kanpai();
qipaidui[*qipaishu]=((*w2).zhuangbei)[1];
((*w2).zhuangbeishu)--;
(*qipaishu)++;
((*w2).zhuangbei)[1].leixing=-1;
else if((*w2).zhuangbei[3].leixing!=-1)
printf(&电脑弃掉了玩家的&);
((*w2).zhuangbei)[3].Kanpai();
qipaidui[*qipaishu]=((*w2).zhuangbei)[3];
((*w2).zhuangbeishu)--;
(*qipaishu)++;
((*w2).zhuangbei)[3].leixing=-1;
((*w1).juli[0])--;
else if((*w2).zhuangbei[0].leixing!=-1)
printf(&电脑弃掉了玩家的&);
((*w2).zhuangbei)[0].Kanpai();
qipaidui[*qipaishu]=((*w2).zhuangbei)[0];
((*w2).zhuangbeishu)--;
(*qipaishu)++;
((*w2).zhuangbei)[0].leixing=-1;
((*w2).zhuangbei)[0].changdu=1;
printf(&电脑弃掉了玩家的&);
((*w2).zhuangbei)[2].Kanpai();
qipaidui[*qipaishu]=((*w2).zhuangbei)[2];
((*w2).zhuangbeishu)--;
(*qipaishu)++;
((*w2).zhuangbei)[2].leixing=-1;
((*w2).juli[0])++;
srand((unsigned)time(NULL));
y=rand()%((*w2).shoupaishu);
printf(&电脑弃掉了玩家的手牌&);
((*w2).shoupai)[y].Kanpai();
qipaidui[*qipaishu]=((*w2).shoupai)[y];
for(i=y+1;i&=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
((*w2).shoupaishu)--;
(*qipaishu)++;
void Qian(wujiang *w1,wujiang *w2)
int i,x,y;
if((*w1).juese)
if((*w2).shoupaishu+(*w2).zhuangbeishu+(*w2).pandingshu==0)
printf(&对方空城啦!你牵走了一张寂寞!\n&);
printf(&请选择想牵的区域,输入选项之前的编号,以回车结束!\n0 手牌\n1 装备区\n2 判定区\n&);
scanf(&%d&,&x);
if(x==0&&((*w2).shoupaishu==0))printf(&你牵走了一张空气!\n&);
else if(x==1&&((*w2).zhuangbeishu==0))printf(&你牵走了一张空气!\n&);
else if(x==2&&((*w2).pandingshu==0))printf(&你牵走了一张空气!\n&);
else if(x&=0&&x&=2)
else printf(&你牵走了太空区里的一张牌!\n&);
srand((unsigned)time(NULL));
y=rand()%((*w2).shoupaishu);
printf(&你牵走了电脑的&);
((*w2).shoupai)[y].Kanpai();
(*w1).shoupai[(*w1).shoupaishu]=((*w2).shoupai)[y];
for(i=y+1;i&=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
((*w2).shoupaishu)--;
((*w1).shoupaishu)++;
(*w2).Kanzhuangbei();
printf(&请输入装备之前的编号,以回车键结束!\n&);
scanf(&%d&,&y);
if((((*w2).zhuangbei[y]).leixing!=-1)&&(y&=0)&&(y&=3))
printf(&你牵走了电脑的&);
((*w2).zhuangbei)[y].Kanpai();
(*w1).shoupai[(*w1).shoupaishu]=((*w2).zhuangbei)[y];
((*w2).zhuangbeishu)--;
((*w1).shoupaishu)++;
((*w2).zhuangbei)[y].leixing=-1;
if(!y)((*w2).zhuangbei[y]).changdu=1;
else if(y==2)((*w2).juli[0])++;
else if(y==3)((*w1).juli[0])--;
else printf(&你弃掉了一张空气!\n&);
(*w2).Kanpandingpai();
printf(&请输入判定牌之前的编号,以回车键结束!\n&);
scanf(&%d&,&y);
if((*w2).pandingpai[y].leixing!=-1)
printf(&你牵走了电脑的&);
((*w2).pandingpai)[y].Kanpai();
(*w1).shoupai[(*w1).shoupaishu]=((*w2).pandingpai)[y];
((*w2).pandingshu)--;
((*w1).shoupaishu)++;
((*w2).pandingpai)[y].leixing=-1;
else printf(&你牵走了一张空气!\n&);
if((*w2).zhuangbeishu)
if((*w2).zhuangbei[1].leixing!=-1)
printf(&电脑牵走了玩家的&);
((*w2).zhuangbei)[1].Kanpai();
(*w1).shoupai[(*w1).shoupaishu]=((*w2).zhuangbei)[1];
((*w2).zhuangbeishu)--;
((*w1).shoupaishu)++;
((*w2).zhuangbei)[1].leixing=-1;
else if((*w2).zhuangbei[3].leixing!=-1)
printf(&电脑牵走了玩家的&);
((*w2).zhuangbei)[3].Kanpai();
(*w1).shoupai[(*w1).shoupaishu]=((*w2).zhuangbei)[3];
((*w2).zhuangbeishu)--;
((*w1).shoupaishu)++;
((*w2).zhuangbei)[3].leixing=-1;
((*w1).juli[0])--;
else if((*w2).zhuangbei[0].leixing!=-1)
printf(&电脑牵走了玩家的&);
((*w2).zhuangbei)[0].Kanpai();
(*w1).shoupai[(*w1).shoupaishu]=((*w2).zhuangbei)[0];
((*w2).zhuangbeishu)--;
((*w1).shoupaishu)++;
((*w2).zhuangbei)[0].leixing=-1;
((*w2).zhuangbei)[0].changdu=1;
printf(&电脑牵走了玩家的&);
((*w2).zhuangbei)[2].Kanpai();
(*w1).shoupai[(*w1).shoupaishu]=((*w2).zhuangbei)[2];
((*w2).zhuangbeishu)--;
((*w1).shoupaishu)++;
((*w2).zhuangbei)[2].leixing=-1;
((*w2).juli[0])--;
srand((unsigned)time(NULL));
y=rand()%((*w2).shoupaishu);
printf(&电脑牵走了玩家的手牌&);
((*w2).shoupai)[y].Kanpai();
(*w1).shoupai[(*w1).shoupaishu]=((*w2).shoupai)[y];
for(i=y+1;i&=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
((*w2).shoupaishu)--;
((*w1).shoupaishu)++;
void Wuzhong(wujiang*w1,pai A[104],int *x,pai B[104],int*y)
Mopai(&((*w1).shoupaishu),(*w1).shoupai,A,x,B,y,(*w1).juese);
int Juedou(wujiang*w1,wujiang*w2,pai qipaidui[104],int*qipaishu)
int i,j,x;
if((*w1).juese)
for(x=0;x&((*w2).shoupaishu);x++)
if((*w2).shoupai[x].leixing==101)
printf(&电脑打出&);
((*w2).shoupai)[x].Kanpai();
qipaidui[*qipaishu]=((*w2).shoupai)[x];
for(int i=x+1;i&=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
((*w2).shoupaishu)--;
(*qipaishu)++;
printf(&玩家对电脑造成1点伤害!\n&);
((*w2).tili)--;
i=Binsi(w1,w2,qipaidui,qipaishu);
printf(&请打出一张【杀】响应【决斗】,否则你将受到1点伤害!\n请输入手牌之前的编号,或者输入“-1”放弃出【杀】,以回车结束!\n&);
if(((*w1).zhuangbei[0].leixing==305))printf(&如果想发动【丈八蛇矛】效果,请输入“100”,以回车结束!\n&);
(*w1).Kanshoupai();
scanf(&%d&,&x);
((*w1).tili)--;
printf(&电脑对玩家造成1点伤害!\n&);
i=Binsi(w2,w1,qipaidui,qipaishu);
else if(((*w1).zhuangbei[0].leixing==305)&&x==100)
pai p=Zhangba(w1,qipaidui,qipaishu);
p.paifu=-1;
printf(&打出!\n&);
else if((*w1).shoupai[x].leixing==101)
printf(&玩家打出&);
((*w1).shoupai)[x].Kanpai();
qipaidui[*qipaishu]=((*w1).shoupai)[x];
for(i=x+1;i&=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
((*w1).shoupaishu)--;
(*qipaishu)++;
else printf(&你确定你打出的是【杀】?\n&);
printf(&请打出一张【杀】响应【决斗】,否则你将受到1点伤害!\n请输入手牌之前的编号,或者输入“-1”放弃出【杀】,以回车结束!\n&);
if(((*w1).zhuangbei[0].leixing==305))printf(&如果想发动【丈八蛇矛】效果,请输入“100”,以回车结束!\n&);
(*w2).Kanshoupai();
scanf(&%d&,&x);
((*w2).tili)--;
printf(&电脑对玩家造成1点伤害!\n&);
i=Binsi(w1,w2,qipaidui,qipaishu);
else if(((*w2).zhuangbei[0].leixing==305)&&x==100)
pai p=Zhangba(w2,qipaidui,qipaishu);
p.paifu=-1;
printf(&打出!\n&);
else if((*w2).shoupai[x].leixing==101)
printf(&玩家打出&);
((*w2).shoupai)[x].Kanpai();
qipaidui[*qipaishu]=((*w2).shoupai)[x];
for(i=x+1;i&=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
((*w2).shoupaishu)--;
(*qipaishu)++;
else printf(&你确定你打出的是【杀】?\n&);
for(x=0;x&((*w1).shoupaishu);x++)
if((*w1).shoupai[x].leixing==101)
printf(&电脑打出&);
((*w1).shoupai)[x].Kanpai();
qipaidui[*qipaishu]=((*w1).shoupai)[x];
for(int i=x+1;i&=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
((*w1).shoupaishu)--;
(*qipaishu)++;
printf(&玩家对电脑造成1点伤害!\n&);
((*w2).tili)--;
i=Binsi(w2,w1,qipaidui,qipaishu);
int Jiedao(wujiang*w1,wujiang*w2,pai paidui[104],int*paiduishu,pai qipaidui[104],int*qipaishu)
int i,j=0,x;
if((*w1).juese)
for(x=0;x&((*w2).shoupaishu);x++)
if((*w2).shoupai[x].leixing==101)
printf(&电脑对玩家使用&);
((*w2).shoupai)[x].Kanpai();
qipaidui[*qipaishu]=((*w2).shoupai)[x];
for(int i=x+1;i&=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
((*w2).shoupaishu)--;
(*qipaishu)++;
i=Sha(w2,w1,paidui,paiduishu,qipaidui,qipaishu);
printf(&玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n&,(*w1).tili,(*w1).tilishangxian,(*w2).tili,(*w2).tilishangxian);
printf(&电脑放弃使用【杀】,玩家获得电脑的武器&);
(*w2).zhuangbei[0].Kanpai();
(*w1).shoupai[(*w1).shoupaishu]=((*w2).zhuangbei)[0];
((*w2).zhuangbeishu)--;
((*w1).shoupaishu)++;
((*w2).zhuangbei)[0].leixing=-1;
((*w2).zhuangbei)[0].changdu=1;
(*w1).Kanshoupai();
printf(&请对电脑使用一张【杀】,否则电脑将获得你的武器!\n请输入手牌之前的编号,或者输入“-1”放弃出【杀】,以回车结束!\n&);
if(((*w2).zhuangbei[0].leixing==305))printf(&如果想发动【丈八蛇矛】效果,请输入“100”,以回车结束!\n&);
(*w2).Kanshoupai();
scanf(&%d&,&x);
else if(((*w2).zhuangbei[0].leixing==305)&&x==100)
pai p=Zhangba(w2,qipaidui,qipaishu);
p.paifu=-1;
printf(&使用!\n&);
else if((*w2).shoupai[x].leixing==101)
printf(&玩家对电脑使用&);
((*w2).shoupai)[x].Kanpai();
qipaidui[*qipaishu]=((*w2).shoupai)[x];
for(i=x+1;i&=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
((*w2).shoupaishu)--;
(*qipaishu)++;
else printf(&你确定你使用的是【杀】?\n&);
i=Sha(w2,w1,paidui,paiduishu,qipaidui,qipaishu);
printf(&玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n&,(*w2).tili,(*w2).tilishangxian,(*w1).tili,(*w1).tilishangxian);
printf(&玩家放弃使用【杀】,电脑获得玩家的武器&);
((*w2).zhuangbei)[0].Kanpai();
(*w1).shoupai[(*w1).shoupaishu]=((*w2).zhuangbei)[0];
((*w2).zhuangbeishu)--;
((*w1).shoupaishu)++;
((*w2).zhuangbei)[0].leixing=-1;
((*w2).zhuangbei)[0].changdu=1;
void Taoyuan(wujiang*w)
if((*w).tili&(*w).tilishangxian)
((*w).tili)++;
if((*w).juese)printf(&玩家&);
else printf(&电脑&);
printf(&恢复1点体力!\n&);
void Kaipai(pai paidui[104],int* paiduishu,int renshu,pai wugu[10])
printf(&五谷丰登开牌:\n&);
for(i=1;i&=i++)
wugu[i-1]=paidui[104-(*paiduishu)];
(*paiduishu)--;
printf(&%d &,i-1);
wugu[i-1].Kanpai();
void Qupai(pai wugu[10],wujiang*w)
printf(&五谷丰登开牌:\n&);
for(i=0;(wugu[i].leixing)!=-1;i++)
printf(&%d &,i);
wugu[i].Kanpai();
if((*w).juese)
printf(&请选择你想要的卡牌,输入卡牌之前的编号,以回车结束!\n&);
scanf(&%d&,&x);
if(wugu[x].leixing!=-1)
printf(&玩家选择&);
wugu[x].Kanpai();
(*w).shoupai[(*w).shoupaishu]=wugu[x];
((*w).shoupaishu)++;
for(i=x+1;i&=9;i++)wugu[i-1]=wugu[i];
wugu[9].leixing=-1;
printf(&你选择了一张空气加入手牌!&);
printf(&电脑选择&);
wugu[0].Kanpai();
(*w).shoupai[(*w).shoupaishu]=wugu[0];
((*w).shoupaishu)++;
for(i=1;i&=9;i++)wugu[i-1]=wugu[i];
wugu[9].leixing=-1;
void Rengpai(pai wugu[10],pai qipaidui[104],int*qipaishu)
for(i=0;wugu[i].leixing!=-1;i++)
qipaidui[*qipaishu]=wugu[i];
(*qipaishu)++;
wugu[i].leixing=-1;
int Nanman(wujiang*w1,wujiang*w2,pai qipaidui[104],int*qipaishu)
if((*w1).juese)
for(x=0;x&((*w2).shoupaishu);x++)
if((*w2).shoupai[x].leixing==101)
printf(&电脑打出&);
((*w2).shoupai)[x].Kanpai();
qipaidui[*qipaishu]=((*w2).shoupai)[x];
for(int i=x+1;i&=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
((*w2).shoupaishu)--;
(*qipaishu)++;
printf(&玩家对电脑造成1点伤害!\n&);
((*w2).tili)--;
i=Binsi(w1,w2,qipaidui,qipaishu);
printf(&请打出一张【杀】响应【南蛮入侵】,否则你将受到1点伤害!\n请输入手牌之前的编号,或者输入“-1”放弃出【杀】,以回车结束!\n&);
if(((*w2).zhuangbei[0].leixing==305))printf(&如果想发动【丈八蛇矛】效果,请输入“100”,以回车结束!\n&);
(*w2).Kanshoupai();
scanf(&%d&,&x);
((*w2).tili)--;
printf(&电脑对玩家造成1点伤害!\n&);
i=Binsi(w1,w2,qipaidui,qipaishu);
else if(((*w2).zhuangbei[0].leixing==305)&&x==100)
pai p=Zhangba(w2,qipaidui,qipaishu);
p.paifu=-1;
printf(&使用!\n&);
else if((*w2).shoupai[x].leixing==101)
printf(&玩家打出&);
((*w2).shoupai)[x].Kanpai();
qipaidui[*qipaishu]=((*w2).shoupai)[x];
for(i=x+1;i&=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
((*w2).shoupaishu)--;
(*qipaishu)++;
else printf(&你确定你打出的是【杀】?\n&);
int Wanjian(wujiang*w1,wujiang*w2,pai paidui[104],int*paiduishu,pai qipaidui[104],int*qipaishu)
i=Shan(w1,w2,paidui,paiduishu,qipaidui,qipaishu);
i=Binsi(w1,w2,qipaidui,qipaishu);
else return 0;
int Chupai(pai paidui[104],pai qipaidui[104],int *paiduishu,int*qipaishu,wujiang*w1,wujiang*w2,pai yuanshipaidui[2][4][13])
int sha=1;int y=-1,i,t=((*w1).shoupaishu)-1;
for(;;t--)
if((*w1).juese)
printf(&\n电脑当前手牌数:%d\n&,((*w2).shoupaishu));
(*w2).Kanzhuangbei();
(*w1).Kanshoupai();
(*w1).Kanzhuangbei();
if((*w1).juese&&((*w1).zhuangbei[0].leixing==305))printf(&如果想发动【丈八蛇矛】效果,请输入“100”,以回车结束!\n&);
y=Xuanpai(w1,t);
p1=Panpai(w1,&sha,y,qipaidui,qipaishu);
if((p1).leixing==-1)
else if((p1).leixing==0)
duixiang=Mubiao(p1,w1,w2,&sha);
if(duixiang==-2)
Da1pai(w1,w2,qipaidui,qipaishu,y);
Miaoshu(p1,((*w1).juese),duixiang);
if(!((*w1).juese))
printf(&\n电脑当前手牌数:%d\n&,((*w1).shoupaishu));
(*w1).Kanzhuangbei();
(*w2).Kanshoupai();
(*w2).Kanzhuangbei();
switch(p1.leixing)
i=Sha(w1,w2,paidui,paiduishu,qipaidui,qipaishu);
if(i==-1){return -1;}
if((*w1).juese)printf(&玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n&,(*w1).tili,(*w1).tilishangxian,(*w2).tili,(*w2).tilishangxian);
else printf(&玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n&,(*w2).tili,(*w2).tilishangxian,(*w1).tili,(*w1).tilishangxian);
i=Wuxie(&p1,w1,w2,qipaidui,qipaishu,0);
i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
if(!(j%2))Chai(w1,w2,qipaidui,qipaishu);
if((*w1).juese)(*w1).Kanshoupai();
i=Wuxie(&p1,w1,w2,qipaidui,qipaishu,0);
i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
if(!(j%2))Qian(w1,w2);
if((*w1).juese)(*w1).Kanshoupai();
i=Wuxie(&p1,w1,w2,qipaidui,qipaishu,0);
i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
if(!(j%2))Wuzhong(w1,paidui,paiduishu,qipaidui,qipaishu);
i=Wuxie(&p1,w1,w2,qipaidui,qipaishu,0);
i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
if(!(j%2))
i=Juedou(w1,w2,qipaidui,qipaishu);
if(i==-1)return -1;
if((*w1).juese)printf(&玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n&,(*w1).tili,(*w1).tilishangxian,(*w2).tili,(*w2).tilishangxian);
else printf(&玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n&,(*w2).tili,(*w2).tilishangxian,(*w1).tili,(*w1).tilishangxian);
i=Wuxie(&p1,w1,w2,qipaidui,qipaishu,0);
i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
if(!(j%2))
i=Jiedao(w1,w2,paidui,paiduishu,qipaidui,qipaishu);
if(i==-1)return -1;
if((*w1).juese)printf(&玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n&,(*w1).tili,(*w1).tilishangxian,(*w2).tili,(*w2).tilishangxian);
else printf(&玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n&,(*w2).tili,(*w2).tilishangxian,(*w1).tili,(*w1).tilishangxian);
i=Wuxie(&p1,w1,w2,qipaidui,qipaishu,0);
i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
if(!(j%2))Taoyuan(w1);
i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
if(!(j%2))Taoyuan(w2);
pai wugu[10];
for(i=1;i&=10;i++)wugu[i-1].leixing=-1;
Kaipai(paidui,paiduishu,2,wugu);
i=Wuxie(&p1,w1,w2,qipaidui,qipaishu,0);
i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
if(!(j%2))Qupai(wugu,w1);
i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
if(!(j%2))Qupai(wugu,w2);
Rengpai(wugu,qipaidui,qipaishu); printf(&弃牌数:%d\n&,*qipaishu);
i=Wuxie(&p1,w1,w2,qipaidui,qipaishu,0);
i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
if(!(j%2))
i=Nanman(w1,w2,qipaidui,qipaishu);
if(i==-1)return -1;
if((*w1).juese)printf(&玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n&,(*w1).tili,(*w1).tilishangxian,(*w2).tili,(*w2).tilishangxian);
else printf(&玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n&,(*w2).tili,(*w2).tilishangxian,(*w1).tili,(*w1).tilishangxian);
i=Wuxie(&p1,w1,w2,qipaidui,qipaishu,0);
i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
if(!(j%2))
i=Wanjian(w1,w2,paidui,paiduishu,qipaidui,qipaishu);
if(i==-1)return -1;
if((*w1).juese)printf(&玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n&,(*w1).tili,(*w1).tilishangxian,(*w2).tili,(*w2).tilishangxian);
else printf(&玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n&,(*w2).tili,(*w2).tilishangxian,(*w1).tili,(*w1).tilishangxian);
((*w1).juli[0])--;
((*w2).juli[0])++;
printf(&\n&);
void Qipai(pai shoupai[20],int *shoupaishu,pai qipaidui[104],int *qipaishu,int juese,int *shoupaishangxian)
if((*shoupaishu)&(*shoupaishangxian))
if(juese!=1&&juese!=0)printf(&身份参数错误!&);
int q=(*shoupaishu)-(*shoupaishangxian);
for(j=1;j&=q;j++)
printf(&弃牌请输入手牌之前的编号,以回车结束!\n注:一次只能弃一张牌\n&);
printf(&手牌数:%d\n&,*shoupaishu);
scanf(&%d&,&x);
if(x&=0&&x&(*shoupaishu))
else printf(&你弃掉了一张空气!\n&);
srand((unsigned)time(NULL));
x=rand()%(*shoupaishu);
qipaidui[*qipaishu]=shoupai[x];
for(i=x+1;i&=(*shoupaishu);i++)shoupai[i-1]=shoupai[i];
(*shoupaishu)--;
if(juese)printf(&弃牌阶段玩家弃置&);
else printf(&弃牌阶段电脑弃置&);
qipaidui[*qipaishu].Kanpai();
(*qipaishu)++;
printf(&玩家当前手牌:\n&);
for(m=0;m&=(*shoupaishu-1);m++)
printf(&%d &,m);
(shoupai[m]).Kanpai();
} printf(&弃牌堆:%d\n&,*qipaishu);
int Huihe(pai A[104],pai B[104],int *x,int *y,pai yuanshipaidui[2][4][13],wujiang *w1,wujiang *w2)
printf(&\n回合开始阶段……\n&);
switch((*w1).huihekaishi)
default:printf(&回合开始阶段参数错误!\n&);
printf(&判定阶段……\n&);
if((*w1).pandingshu&0)
for(;(*w1).)
switch((*w1).pandingpai[0].leixing)
case 251:printf(&【乐不思蜀】开始判定……\n&);
case 252:printf(&【闪电】开始判定……\n&);
default:printf(&【??】开始判定……\n&);
pai p=((*w1).pandingpai[0]);
for(;;)//在判定之前询问【无懈】
i=Wuxie(&p,w2,w1,B,y,0);
i=Wuxie(&p,w1,w2,B,y,0);
switch((*w1).pandingpai[0].leixing)
if(!(j%2))
printf(&【乐不思蜀】的判定牌是:&);
Panding(A,x,B,y);
if((B[(*y)-1].huase)!=1)
printf(&【乐不思蜀】判定成功!\n&);
if((*w1).juese)printf(&玩家&);
else printf(&电脑&);
printf(&跳过出牌阶段!\n&);
else printf(&【乐不思蜀】判定失败!\n&);
B[*y]=(*w1).pandingpai[0];
((*w1).pandingshu)--;
(*w1).pandingpai[0]=(*w1).pandingpai[1];
(*w1).pandingpai[1]=(*w1).pandingpai[2];
(*w1).pandingpai[2].leixing=-1;
if(!(j%2))
printf(&【闪电】的判定牌是:&);
Panding(A,x,B,y);
if((B[(*y)-1].huase==0)&&(B[(*y)-1].dianshu&=1)&&(B[(*y)-1].dianshu&=8))
printf(&【闪电】判定成功!\n&);
if((*w1).juese)printf(&玩家&);
else printf(&电脑&);
printf(&受到3点雷电伤害!&);
((*w1).tili)=((*w1).tili)-3;
i=Binsi(w2,w1,B,y);
B[*y]=(*w1).pandingpai[0];
((*w1).pandingshu)--;
(*w1).pandingpai[0]=(*w1).pandingpai[1];
(*w1).pandingpai[1]=(*w1).pandingpai[2];
(*w1).pandingpai[2].leixing=-1;
if(i==-1)return -1;
printf(&【闪电】判定失败!\n&);
(*w2).pandingpai[2]=(*w2).pandingpai[1];
(*w2).pandingpai[1]=(*w2).pandingpai[0];
(*w2).pandingpai[0]=(*w1).pandingpai[0];
(*w1).pandingpai[0]=(*w1).pandingpai[1];
(*w1).pandingpai[1]=(*w1).pandingpai[2];
(*w1).pandingpai[2].leixing=-1;
((*w1).pandingshu)--;
((*w2).pandingshu)++;
default:printf(&判定牌错误!&);
} printf(&弃牌数:%d\n&,*y);
else if(!((*w1).pandingshu));
else printf(&判定阶段参数错误!\n&);
printf(&摸牌阶段……\n&);
switch((*w1).mopai)
case 0:Mopai(&((*w1).shoupaishu),(*w1).shoupai,A,x,B,y,(*w1).juese);
default:printf(&摸牌阶段参数错误!\n&);
if(K==-1)goto M;
printf(&出牌阶段……\n&);
switch((*w1).chupai)
i=Chupai(A,B,x,y,w1,w2,yuanshipaidui);
return -1;
default:printf(&出牌阶段参数错误!\n&);
printf(&弃牌阶段……\n&);
switch((*w1).qipai)
Qipai((*w1).shoupai,&((*w1).shoupaishu),B,y,(*w1).juese,&((*w1).tili));
default:printf(&弃牌阶段参数错误!\n&);
printf(&回合结束阶段……\n&);
switch((*w1).huihejieshu)
default:printf(&回合结束阶段参数错误!\n&);
int main()
void Kanshoupai(pai p);
pai yuanshipaidui[2][4][13],qipaidui[104],paidui[104];
wujiang wanjia,
com.tili=wanjia.tili=5;
com.tilishangxian=wanjia.tilishangxian=5;
com.huihekaishi=wanjia.huihekaishi=0;
com.panding=wanjia.panding=0;
com.mopai=wanjia.mopai=0;
com.chupai=wanjia.chupai=0;
com.qipai=wanjia.qipai=0;
com.huihejieshu=wanjia.huihejieshu=0;
com.shoupaishu=wanjia.shoupaishu=0;
com.pandingshu=wanjia.pandingshu=0;
com.zhuangbeishu=wanjia.zhuangbeishu=0;
com.juese=0;wanjia.juese=1;
p.leixing=-1;
com.zhuangbei[0]=com.zhuangbei[1]=com.zhuangbei[2]=com.zhuangbei[3]=wanjia.zhuangbei[0]=wanjia.zhuangbei[1]=wanjia.zhuangbei[2]=wanjia.zhuangbei[3]=p;
com.zhuangbei[0].changdu=wanjia.zhuangbei[0].changdu=1;
com.pandingpai[0]=com.pandingpai[1]=com.pandingpai[2]=wanjia.pandingpai[0]=wanjia.pandingpai[1]=wanjia.pandingpai[2]=p;
com.juli[0]=wanjia.juli[0]=1;
int a,b,c;
for(a=0;a&=1;a++)
for(b=0;b&=3;b++)
for(c=0;c&=12;c++)
yuanshipaidui[a][b][c].paifu=a;
yuanshipaidui[a][b][c].huase=b;
yuanshipaidui[a][b][c].dianshu=c;
yuanshipaidui[0][0][0].leixing=204;
yuanshipaidui[0][0][1].leixing=331;
yuanshipaidui[0][0][2].leixing=201;
yuanshipaidui[0][0][3].leixing=201;
yuanshipaidui[0][0][4].leixing=304;yuanshipaidui[0][0][4].changdu=3;
yuanshipaidui[0][0][5].leixing=251;
yuanshipaidui[0][0][6].leixing=101;
yuanshipaidui[0][0][7].leixing=101;
yuanshipaidui[0][0][8].leixing=101;
yuanshipaidui[0][0][9].leixing=101;
yuanshipaidui[0][0][10].leixing=202;
yuanshipaidui[0][0][11].leixing=201;
yuanshipaidui[0][0][12].leixing=208;
yuanshipaidui[0][1][0].leixing=209;
yuanshipaidui[0][1][1].leixing=102;
yuanshipaidui[0][1][2].leixing=103;
yuanshipaidui[0][1][3].leixing=103;
yuanshipaidui[0][1][4].leixing=308;yuanshipaidui[0][1][4].changdu=5;
yuanshipaidui[0][1][5].leixing=103;
yuanshipaidui[0][1][6].leixing=103;
yuanshipaidui[0][1][7].leixing=103;
yuanshipaidui[0][1][8].leixing=103;
yuanshipaidui[0][1][9].leixing=101;
yuanshipaidui[0][1][10].leixing=101;
yuanshipaidui[0][1][11].leixing=103;
yuanshipaidui[0][1][12].leixing=102;
yuanshipaidui[0][2][0].leixing=204;
yuanshipaidui[0][2][1].leixing=101;
yuanshipaidui[0][2][2].leixing=101;
yuanshipaidui[0][2][3].leixing=101;
yuanshipaidui[0][2][4].leixing=101;
yuanshipaidui[0][2][5].leixing=101;
yuanshipaidui[0][2][6].leixing=101;
yuanshipaidui[0][2][7].leixing=101;
yuanshipaidui[0][2][8].leixing=101;
yuanshipaidui[0][2][9].leixing=101;
yuanshipaidui[0][2][10].leixing=101;
yuanshipaidui[0][2][11].leixing=205;
yuanshipaidui[0][2][12].leixing=205;
yuanshipaidui[0][3][0].leixing=204;
yuanshipaidui[0][3][1].leixing=102;
yuanshipaidui[0][3][2].leixing=102;
yuanshipaidui[0][3][3].leixing=102;
yuanshipaidui[0][3][4].leixing=102;
yuanshipaidui[0][3][5].leixing=101;
yuanshipaidui[0][3][6].leixing=101;
yuanshipaidui[0][3][7].leixing=101;
yuanshipaidui[0][3][8].leixing=101;
yuanshipaidui[0][3][9].leixing=101;
yuanshipaidui[0][3][10].leixing=102;
yuanshipaidui[0][3][11].leixing=103;
yuanshipaidui[0][3][12].leixing=101;
yuanshipaidui[1][0][0].leixing=252;
yuanshipaidui[1][0][1].leixing=302;yuanshipaidui[1][0][1].changdu=2;
yuanshipaidui[1][0][2].leixing=202;
yuanshipaidui[1][0][3].leixing=202;
yuanshipaidui[1][0][4].leixing=383;
yuanshipaidui[1][0][5].leixing=303;yuanshipaidui[1][0][5].changdu=2;
yuanshipaidui[1][0][6].leixing=208;
yuanshipaidui[1][0][7].leixing=101;
yuanshipaidui[1][0][8].leixing=101;
yuanshipaidui[1][0][9].leixing=101;
yuanshipaidui[1][0][10].leixing=210;
yuanshipaidui[1][0][11].leixing=305;yuanshipaidui[1][0][11].changdu=3;
yuanshipaidui[1][0][12].leixing=362;
yuanshipaidui[1][1][0].leixing=206;
yuanshipaidui[1][1][1].leixing=102;
yuanshipaidui[1][1][2].leixing=207;
yuanshipaidui[1][1][3].leixing=207;
yuanshipaidui[1][1][4].leixing=361;
yuanshipaidui[1][1][5].leixing=251;
yuanshipaidui[1][1][6].leixing=203;
yuanshipaidui[1][1][7].leixing=203;
yuanshipaidui[1][1][8].leixing=203;
yuanshipaidui[1][1][9].leixing=101;
yuanshipaidui[1][1][10].leixing=203;
yuanshipaidui[1][1][11].leixing=201;
yuanshipaidui[1][1][12].leixing=381;
yuanshipaidui[1][2][0].leixing=301;yuanshipaidui[1][2][0].changdu=1;
yuanshipaidui[1][2][1].leixing=331;
yuanshipaidui[1][2][2].leixing=201;
yuanshipaidui[1][2][3].leixing=201;
yuanshipaidui[1][2][4].leixing=382;
yuanshipaidui[1][2][5].leixing=251;
yuanshipaidui[1][2][6].leixing=208;
yuanshipaidui[1][2][7].leixing=101;
yuanshipaidui[1][2][8].leixing=101;
yuanshipaidui[1][2][9].leixing=101;
yuanshipaidui[1][2][10].leixing=101;
yuanshipaidui[1][2][11].leixing=210;
yuanshipaidui[1][2][12].leixing=210;
yuanshipaidui[1][3][0].leixing=301;yuanshipaidui[1][3][0].changdu=1;
yuanshipaidui[1][3][1].leixing=102;
yuanshipaidui[1][3][2].leixing=202;
yuanshipaidui[1][3][3].leixing=202;
yuanshipaidui[1][3][4].leixing=306;yuanshipaidui[1][3][4].changdu=3;
yuanshipaidui[1][3][5].leixing=102;
yuanshipaidui[1][3][6].leixing=102;
yuanshipaidui[1][3][7].leixing=102;
yuanshipaidui[1][3][8].leixing=102;
yuanshipaidui[1][3][9].leixing=102;
yuanshipaidui[1][3][10].leixing=102;
yuanshipaidui[1][3][11].leixing=307;yuanshipaidui[1][3][11].changdu=4;
yuanshipaidui[1][3][12].leixing=363;
int paiduishu=104;
int qipaishu=0;
printf(&游戏开始!\n&);
Qishixipai(yuanshipaidui,paidui);
Qishishoupai(&wanjia,paidui,&(paiduishu),qipaidui,&(qipaishu));
Qishishoupai(&com,paidui,&(paiduishu),qipaidui,&(qipaishu));
i=Huihe(paidui,qipaidui,&paiduishu,&qipaishu,yuanshipaidui,&wanjia,&com);
i=Huihe(paidui,qipaidui,&paiduishu,&qipaishu,yuanshipaidui,&com,&wanjia);
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1537次
排名:千里之外}

我要回帖

更多关于 三国杀语音代码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信