
寫成這樣實在不會往下寫了
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<conio.h>/*用到getch*/
int first;
struct playercrad
{
int a[20];
int ct[20];
int pre=0;
}p[7];
void pve(){
}
int main()
{
int n;
while(1){
printf(" 撲克牌游戲\n\n\n選擇難度:1 三人對戰 2 與電腦對戰");
n=getch();
if(n-48==1)
{system("cls");
break;
}
else if(n-48==2)
{system("cls");
break;
}
else{
system("cls");
continue;
}
}
srand(time(NULL));
int m,check[60]={0};
int i2=1;
while(1)
{
if(i2==17)
{
i2=1;
break;
}
m=2+rand()%52;
if(check[m]==1)
continue;
p[1].a[i2]=m;
if(m==28)
first=1;
check[m]=1;
i2++;
}
while(1)
{
if(i2==17)
{
i2=1;
break;
}
m=2+rand()%52;
if(check[m]==1)
continue;
p[2].a[i2]=m;
if(m==28)
first=2;
check[m]=1;
i2++;
}
while(1)
{
if(i2==18)
{
i2=1;
break;
}
m=2+rand()%52;
if(check[m]==1)
continue;
p[3].a[i2]=m;
if(m==28)
first=3;
check[m]=1;
i2++;
}
if(n==49)
{
int m1[200],i=1,pf=1,ff=1;
while(1)
{
if(pf==1)
{
printf(" 請%d號玩家先出C2(28)!\n",first);
}
if(ff==4)
ff=1;
if(pf=1)
{
printf("桌上的牌:無(你是第一個出牌的)\n\n\n");
printf("你的手牌(若沒有更大的牌請輸入0): \n");
for(int u=1;u<=17;u++)
{
if(p[first].a[u]<=14&&p[first].a[u]>=2)
{
printf("%c",003);
if(p[first].a[u]==11)
printf("J ");
else if(p[first].a[u]==12)
printf("Q ");
else if(p[first].a[u]==13)
printf("K ");
else if(p[first].a[u]==14)
printf("A ");
else
printf("%d ",p[first].a[u]);
}
if(p[first].a[u]<=27&&p[first].a[u]>=15)
{
printf("%c",004);
if((p[first].a[u]-13)==11)
printf("J ");
else if((p[first].a[u]-13)==12)
printf("Q ");
else if((p[first].a[u]-13)==13)
printf("K ");
else if((p[first].a[u]-13)==14)
printf("A ");
else
printf("%d ",p[first].a[u]-13);
}
if(p[first].a[u]<=40&&p[first].a[u]>=28)
{
printf("%c",005);
if((p[first].a[u]-26)==11)
printf("J ");
else if((p[first].a[u]-26)==12)
printf("Q ");
else if((p[first].a[u]-26)==13)
printf("K ");
else if((p[first].a[u]-26)==14)
printf("A ");
else
printf("%d ",p[first].a[u]-26);
}
if(p[first].a[u]<=53&&p[first].a[u]>=41)
{
printf("%c",006);
if((p[first].a[u]-39)==11)
printf("J");
else if((p[first].a[u]-39)==12)
printf("Q");
else if((p[first].a[u]-39)==13)
printf("K");
else if((p[first].a[u]-39)==14)
printf("A");
else
printf("%d ",p[first].a[u]-39);
}
printf("(%d) ",p[first].a[u]);
}
}
if(pf>1)
{
printf(" 請%d號玩家出牌!\n",ff);
ff++;
printf("提示:紅桃為2-14 方片為14-26 梅花27-39 黑桃40-52\n\n\n");
printf("桌上的牌:");
if(m1[pf-1]<=14&&m1[pf-1]>=2)
{
printf("%c",003);
if(m1[pf-1]==11)
printf("J ");
else if(m1[pf-1]==12)
printf("Q ");
else if(m1[pf-1]==13)
printf("K ");
else if(m1[pf-1]==14)
printf("A ");
else
printf("%d ",m1[pf-1]);
}
if(m1[pf-1]<=27&&m1[pf-1]>=15)
{
printf("%c",004);
if((m1[pf-1]-13)==11)
printf("J ");
else if((m1[pf-1]-13)==12)
printf("Q ");
else if((m1[pf-1]-13)==13)
printf("K ");
else if((m1[pf-1]-13)==14)
printf("A ");
else
printf("%d ",m1[pf-1]-13);
}
if(m1[pf-1]<=40&&m1[pf-1]>=28)
{
printf("%c",005);
if((m1[pf-1]-26)==11)
printf("J ");
else if((m1[pf-1]-26)==12)
printf("Q ");
else if((m1[pf-1]-26)==13)
printf("K ");
else if((m1[pf-1]-26)==14)
printf("A ");
else
printf("%d ",m1[pf-1]-26);
}
if(m1[pf-1]<=53&&m1[pf-1]>=41)
{
printf("%c",006);
if((m1[pf-1]-39)==11)
printf("J ");
else if((m1[pf-1]-39)==12)
printf("Q ");
else if((m1[pf-1]-39)==13)
printf("K ");
else if((m1[pf-1]-39)==14)
printf("A ");
else
printf("%d ",m1[pf-1]-39);
}
printf("(%d) ",m1[pf-1]);
printf("你的手牌(若沒有更大的牌請輸入0): \n");
for(int u=1;u<=17;u++)
{
if(p[ff].a[u]<=14&&p[pf].a[u]>=2)
{
printf("%c",003);
if(p[ff].a[u]==11)
printf("J ");
else if(p[ff].a[u]==12)
printf("Q ");
else if(p[ff].a[u]==13)
printf("K ");
else if(p[ff].a[u]==14)
printf("A ");
else
printf("%d ",p[ff].a[u]);
}
if(p[ff].a[u]<=27&&p[ff].a[u]>=15)
{
printf("%c",004);
if((p[ff].a[u]-13)==11)
printf("J ");
else if((p[ff].a[u]-13)==12)
printf("Q ");
else if((p[ff].a[u]-13)==13)
printf("K ");
else if((p[ff].a[u]-13)==14)
printf("A ");
else
printf("%d ",p[ff].a[u]-13);
}
if(p[ff].a[u]<=40&&p[ff].a[u]>=28)
{
printf("%c",005);
if((p[ff].a[u]-26)==11)
printf("J ");
else if((p[ff].a[u]-26)==12)
printf("Q ");
else if((p[ff].a[u]-26)==13)
printf("K ");
else if((p[ff].a[u]-26)==14)
printf("A ");
else
printf("%d ",p[ff].a[u]-26);
}
if(p[ff].a[u]<=53&&p[ff].a[u]>=41)
{
printf("%c",006);
if((p[ff].a[u]-39)==11)
printf("J");
else if((p[ff].a[u]-39)==12)
printf("Q");
else if((p[ff].a[u]-39)==13)
printf("K");
else if((p[ff].a[u]-39)==14)
printf("A");
else
printf("%d ",p[ff].a[u]-39);
}
printf("(%d) ",p[ff].a[u]);
}
printf("\n");
printf("你已經使用的牌:\n");
for(int y=1;y<=p[ff].pre;y++)
{
printf("(%d) ",p[ff].ct[y]);
}
}
scanf("%d",m1[pf]);
if(m1[pf]==0)
{system("cls");
pf++;
continue;
}
if(m1[pf]>m1[pf-1])
{
p[ff].ct[(p[ff].pre)+1]=m1[pf];
p[ff].pre++;
}
if(p[ff].pre==17||p[ff].pre==18)
{
break;
system("cls");
printf("%d號玩家獲勝!",ff);
}
pf++;
}
system("cls");
}
if(n==2)
pve();
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/72865.html
標籤:C語言
