php模拟实现斗地主发牌

本文实例为大家分享了php实现斗地主发牌的具体代码,供大家参考,具体内容如下

闲来无聊,就写了这个方法,也算是熟悉下php的数组操作,还请各位大神多指教。$arr 数组,好像有点问题,应该 2=>'方片2',3=>'梅花2',4=>'红心2',5=>'黑桃2', 等的顺序换下。看来牌打少了。估计这个方法,一般程序都不会用吧。

<?php

wash_card();

function wash_card(){

$tmp = $arr = array(

0=>'大王',1=>'小王',

2=>'方片2',3=>'梅花2',4=>'红心2',5=>'黑桃2',

6=>'方片A',7=>'梅花A',8=>'红心A',9=>'黑桃A',

10=>'方片K',11=>'梅花K',12=>'红心K',13=>'黑桃K',

14=>'方片Q',15=>'梅花Q',16=>'红心Q',17=>'黑桃Q',

18=>'方片J',19=>'梅花J',20=>'红心J',21=>'黑桃J',

22=>'方片10',23=>'梅花10',24=>'红心10',25=>'黑桃10',

26=>'方片9',27=>'梅花9',28=>'红心9',29=>'黑桃9',

30=>'方片8',31=>'梅花8',32=>'红心8',33=>'黑桃8',

34=>'方片7',35=>'梅花7',36=>'红心7',37=>'黑桃7',

38=>'方片6',39=>'梅花6',40=>'红心6',41=>'黑桃6',

42=>'方片5',43=>'梅花5',44=>'红心5',45=>'黑桃5',

46=>'方片4',47=>'梅花4',48=>'红心4',49=>'黑桃4',

50=>'方片3',51=>'梅花3',52=>'红心3',53=>'黑桃3',

);

foreach($arr as $k=>$v){

$index = rand(0,54 - $k -1);

$key = array_search($tmp[$index], $arr);

$cards[$key] = $tmp[$index];

unset($tmp[$index]);

$tmp = array_values($tmp);

}

$landowner = array(0=>'用户一',1=>'用户二',2=>'用户三');

$lk = rand(0,2);

echo '本轮地主: '.$landowner[$lk].'<br >';

$card['landwehr']['cards'] = array_slice($cards, 0, 3, true);

ksort($card['landwehr']['cards']);

echo '地主: '.implode(' ',$card['landwehr']['cards']).'<br >';

$card['user1']['cards'] = array_slice($cards, 3, 17, true);

ksort($card['user1']['cards']);

echo '用户一: '.implode(' ',$card['user1']['cards']).'<br >';

$card['user2']['cards'] =array_slice($cards, 20, 17, true);

ksort($card['user2']['cards']);

echo '用户二: '.implode(' ',$card['user2']['cards']).'<br >';

$card['user3']['cards'] = array_slice($cards, 37, 17, true);

ksort($card['user3']['cards']);

echo '用户三: '.implode(' ',$card['user3']['cards']).'<br >';

}

?>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

以上是 php模拟实现斗地主发牌 的全部内容, 来源链接: utcz.com/p/224289.html

回到顶部