PHP实现金花游戏大小游戏的方法
本文介绍了php实现金华游戏大小游戏的方法,供大家参考,具体分析如下:该程序与算法不可分离,讨论了路径搜索算法,但在时间的实例图中,可选路径是唯一的,我们选择一个算法,即选择唯一路径,以及如何选择路径。
我记得在初中的时候,我经常下午去上学,我把钱藏在路边。我对它上瘾了。现在我经常在金华花钱,在过年的时候花钱。但运气不好,每次都是失败。
今天,太阳很美,因为清明节出去玩了,所以今天没有去的地方。在考虑如何用这个程序来比较金华的两张卡后,我意识到有些方法现在很重要,所以我会记录下来。
好的,不要浪费。
两对牌的比较规则不说,这是顺子的时间:印度< < QKA A23
思想:少年之花
1。随机生成两张牌,每张牌结构为
复制代码代码如下:数组(
阵列('spade,k),
阵列('club,6'),
阵列('spade,J'),
)
复制代码代码如下:数组(
阵列('spade,k),
阵列('club,6'),
阵列('spade,J'),
)
2。计算每张卡片的价值:每张卡片有一个原始大小(不包括这对,顺子,金花,独联体黄金,线轴的大小),
每张卡的分数是2位数,不足2位的补充指南0,如'A ':14,10:10,2':102,k:13,7':07
3张牌的点数排序(从大到小)一起在一个6位数的号码。例如,'a27:140702,829:090802,jk8:131108,可:141002
例外,对应该放在第一位的两对的数目(然后看看为什么要做的)。例如,779:070709,:070714,7A7 A33:030314
目前的价值是一个6位数的号码,并对设置为10×100000的值的原始值,现在是一个7位数的号码。例如,779:1070709,:1070714,7A7 A33:1030314
顺子,把结果20×100000。例如,345:2050403、QKA:2141312,23a:2140302
为金花,添加的结果为30×100000.for例子,黑桃K,黑桃6,Spade J:3131106
因为当黄金实际上是金花和顺子,所以顺金应为50×10000.for例子,黑桃7,黑桃6,黑桃8:5080706
为骨架,将结果60×100000.for例子,'666:6060606、'jjj:6111111
三.比较两张卡片的大小(与计算值比较)
很简单!
代码如下(PHP)
复制代码代码如下:< PHP
类麻
{
公共服=阵列('spade美元,心、'diamond ','club);
公众人物=美元阵列(2,3,4,5,6,7,8,9,10'。
公共$卡=数组();
公共功能__construct()
{
卡=数组();
foreach(美元美元->服套装){
foreach(美元->数据为美元){
美元卡(数组);
}
}
这张卡片;
}
公共功能getcard()
{
洗牌(这张卡);
生成3张卡片
返回的数组(array_pop(美元->卡),array_pop(美元->卡),array_pop(美元->卡));
}
公共功能comparecards(美元卡,$ card2)
{
1美元=美元-> ownscore(美元卡);
score2美元=美元-> ownscore($ card2);
如果($ 1 > score2美元)返回1;
($ 1 << score2美元)返回1;
返回0;
}
私有函数ownscore(美元卡)
{
$ = =数组();
foreach($卡$ V){
$ { } = $ { 0 };
美元($ V array_search { } = { 1 },美元->数字)+ 2;
}
领先的0人
($ i = 0;$ i < 3;$ + +){
美元{ $我} = str_pad(合图{我},2,'0',str_pad_left);
}
rsort(美元);
进行特殊处理
如果($ { 1 } = $图{ 2 }){
$ $图{ 0 };
$ { 0 } = $ { 2 };
$ { 2 } = $;
}
$ = $图0 }。$ { 1 },$ { 2 };
干酪 60 * 100000
如果($ { 0 } } =图{ 1 } },图{ 0 } } =图{ 2 }){
$ = 60 * 100000;
}
金华/ 30 * 100000
如果($ { 0 } = $ 2),{ { { 1 } } 0
$ = 30 * 100000;
}
顺子20 * 100000
如果(合图{ 0 } = = $图{ 1 } + 1美元{ 1 } = = $图{ 2 } + 1 | |崩溃(美元)= = '140302){
$ = 20 * 100000;
}
在10 * 100000上
如果($ { 0 } } =图{ 1 } },图{ 1 }!= $ { 2 }){
$ = 10 * 100000;
}
返回分数;
}
}
测试
$牌=新的纸牌游戏();
卡牌->美元=美元getcard();
card2美元=美元牌-> getcard();
$result = $playCard->compareCards ($card1, $card2);
Echo'card1 is', printCard ($card1), '';
echo'card2是' PrintCard($ card2),;
$str = 'card1权益card2;
如果($结果= = 1)$str = 'card1大于card2;
($结果= = 1)$str = 'card1小于card2;
回声$;
功能PrintCard(美元卡)
{
($ =;
foreach($卡$ V){
0美元1美元;
}
返回修剪($,',')。;
}
复制代码代码如下:< PHP
类麻
{
公共服=阵列('spade美元,心、'diamond ','club);
公众人物=美元阵列(2,3,4,5,6,7,8,9,10'。
公共$卡=数组();
公共功能__construct()
{
卡=数组();
foreach(美元美元->服套装){
foreach(美元->数据为美元){
美元卡(数组);
}
}
这张卡片;
}
公共功能getcard()
{
洗牌(这张卡);
生成3张卡片
返回的数组(array_pop(美元->卡),array_pop(美元->卡),array_pop(美元->卡));
}
公共功能comparecards(美元卡,$ card2)
{
1美元=美元-> ownscore(美元卡);
score2美元=美元-> ownscore($ card2);
如果($ 1 > score2美元)返回1;
($ 1 << score2美元)返回1;
返回0;
}
私有函数ownscore(美元卡)
{
$ = =数组();
foreach($卡$ V){
$ { } = $ { 0 };
美元($ V array_search { } = { 1 },美元->数字)+ 2;
}
领先的0人
($ i = 0;$ i < 3;$ + +){
美元{ $我} = str_pad(合图{我},2,'0',str_pad_left);
}
rsort(美元);
进行特殊处理
如果($ { 1 } = $图{ 2 }){
$ $图{ 0 };
$ { 0 } = $ { 2 };
$ { 2 } = $;
}
$ = $图0 }。$ { 1 },$ { 2 };
干酪 60 * 100000
如果($ { 0 } } =图{ 1 } },图{ 0 } } =图{ 2 }){
$ = 60 * 100000;
}
金华/ 30 * 100000
如果($ { 0 } = $ 2),{ { { 1 } } 0
$ = 30 * 100000;
}
顺子20 * 100000
如果(合图{ 0 } = = $图{ 1 } + 1美元{ 1 } = = $图{ 2 } + 1 | |崩溃(美元)= = '140302){
$ = 20 * 100000;
}
在10 * 100000上
如果($ { 0 } } =图{ 1 } },图{ 1 }!= $ { 2 }){
$ = 10 * 100000;
}
返回分数;
}
}
测试
$牌=新的纸牌游戏();
卡牌->美元=美元getcard();
card2美元=美元牌-> getcard();
$result = $playCard->compareCards ($card1, $card2);
echo'card1 PrintCard,(美元卡),;
echo'card2是' PrintCard($ card2),;
$str = 'card1权益card2;
如果($结果= = 1)$str = 'card1大于card2;
($结果= = 1)$str = 'card1小于card2;
回声$;
功能PrintCard(美元卡)
{
($ =;
foreach($卡$ V){
0美元1美元;
}
返回修剪($,',')。;
}
希望本文能对大家的PHP程序设计有所帮助。