上海版四人斗地主规则如下:
玩家人数:4人组队:地主是一队,其他三家为另一队
牌数:两幅牌共108张牌,你拿33张牌,其他三家各25张牌
出牌顺序:每局都由地主最先出牌发牌:游戏开始后发牌,留8张底牌,每人发25张牌。
叫分:随机选择一个玩家开始依次叫分,玩家可以选择叫“1分”、“2分”、“3分”或者不叫分,所叫的分数必须比上一家高。叫3分的玩家成为地主。如果没有玩家叫3分,则一轮下来叫分最高的玩家成为地主。如果没有任何一个玩家叫分,则重新发牌。
底牌:决定地主后,底牌发给成为地主的玩家,其他玩家不可见。
扩展资料:
上海版四人斗地主的牌型介绍:
1、四个王,称为天尊,什么牌都可以打,是最大的牌。
2、8个一样的,如八个Q,威力紧次于天尊,被称为天炸。
3、7个一样的,如七个J,威力小于天炸,被称为导d(民间称七巧)。
4、6个一样的,如六个10,威力小于导d,被称为火箭(民间称六喜)。
5、5个一样的,如五个9,威力小于火箭,被称为炮。
6、4个一样的,如四个8,威力小于炮,被称为q。以上牌除比自己大的炸d外,什么牌型都可打。
7、单牌(一手牌):单个牌。
8、对牌(一手牌):数值相同的两张牌。
9、三张牌:数值相同的三张牌(如三个10)。
10、三带一对:数值相同的三张牌+一对牌。例如:333+44 只能带对子。
这是以随机的形式发牌的。希望能帮到你。int main(){int a[60] int b[60] int w = 0 int wi,wj,wii int i,j,index,x=0,m for(i=0i<54i++)a[i]=i+1 srand((unsigned)time(0)) for(i=0i<54){index=rand()%54 if(a[index]!=0){b[i]=a[index] //printf("%d ",b[i]) a[index]=0 ++i }}printf("\n说明:\n") printf("*******************\n") printf("**红桃 %c ",3) printf("**\n") printf("**方块 %c ",4) printf("**\n") printf("**梅花 %c ",5) printf("**\n") printf("**黑桃 %c ",6) printf("**\n") printf("**大王 A **\n**小王 a **\n") printf("*******************\n") printf("\n请输入打牌人数:\n") scanf("%d",&w) wi = 54/w wj = 54%w //printf("%d,%d",wi,wj) for (j = 0j <wj++){m = 0 printf("\n\n第%d个人的牌\n",j+1) wj -- if (wj>=0)wii = wi + 1 elsewii = wi//红桃printf("红桃 %c ",3) printf(":") for(i = j*wiii<(j+1)*wiii++){if (b[i]<=13&&b[i]>0){m++ if (b[i]==11)printf("J ") else if (b[i]==12)printf("Q ") else if (b[i]==13)printf("K ") elseprintf("%d ",b[i]) }} //方块printf("\n方块 %c ",4) printf(":") for(i = j*wiii<(j+1)*wiii++){if (b[i]<=26&&b[i]>13){m++ b[i] = b[i]-13 if (b[i]==11)printf("J ") else if (b[i]==12)printf("Q ") else if (b[i]==13)printf("K ") elseprintf("%d ",b[i]) }} //梅花printf("\n梅花 %c ",5) printf(":") for(i = j*wiii<(j+1)*wiii++){ if (b[i]<=39&&b[i]>26){m++ b[i] = b[i]-26 if (b[i]==11)printf("J ") else if (b[i]==12)printf("Q ") else if (b[i]==13)printf("K ") elseprintf("%d ",b[i]) }}//黑桃printf("\n黑桃 %c ",6) printf(":") for(i = j*wiii<(j+1)*wiii++){if (b[i]<=52&&b[i]>39){m++ b[i] = b[i]-39 if (b[i]==11)printf("J ") else if (b[i]==12)printf("Q ") else if (b[i]==13)printf("K ") elseprintf("%d ",b[i]) }}//大小王printf("\n大小王 A or a :") for(i = j*wiii<=(j+1)*wiii++){if (b[i]==53){m++ printf("A ") }if (b[i]==54){m++ printf("a ") }}printf("\n总共:%d张牌!!!",m) } }
发牌方法:一副牌,留三张底牌,其他发给三家,从庄家开始按顺时针方向依次发牌。
叫牌方法:首先系统翻出一张明牌,获得明牌的人开始先叫牌,每人只能叫一次,叫牌可以:1分、2分、 3分或不叫,叫完后叫的最大的为地主。
出牌规则:首先将三张底牌交给地主,三张底牌所有人都能看到。由地主开牌,然后按逆时针顺序依次出牌,论到你跟牌时,你可选择PASS或按规则出牌。直至某一方牌出完就结束此局。
扩展资料:
相关技巧
1、算牌,这里涉及到了一个智力问题和习惯问题,有些人没有算牌的习惯,就不能得以精进,只要有了这种习惯,就能在这方面得以提升,先从断张,以及从大至小的牌逐一延升。
2、打牌,合理的利用自己的炸d,多副炸d就得先看好哪些炸是牺牲作为增翻的,哪些是为自己或盟友争取上手机会的,如果是为盟友争取机会的,一定要把传牌算好,以防传入敌手。
3、堵牌,先看清自己的位置 ,如果是闲家就得先看清自己是打主力,还是打阻击,如果是主力就得把q口位让给盟友,如果是阻击就得尽量舍身,得以让盟军保存实力,顶出庄家手上的可能大牌!
4、赌牌,注意,上面是堵,这里是赌,也是就机率算牌,在尽可能大的机率上决定自己的出牌是否被对方炸掉,以及有可能被反炸。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)