ホームページ >バックエンド開発 >PHPチュートリアル >Zhajinhua ゲームの大小のコンテストを実装するための PHP メソッド_PHP チュートリアル
この記事では主にPHPでZhajinhuaゲームの大小の競技を実現する方法を紹介し、その実装原理と関連するアルゴリズム技術を分析します。例付きのZhajinhuaゲームを参照してください。必要な友達はそれを参照してください。
プログラムはアルゴリズムと切り離せないものです。経路探索アルゴリズムについては前述しました。ただし、当時の例の図ではオプションのパスのみでした。アルゴリズムを選択するということは、唯一のパスを選択することを意味します。それを選択するにはどうすればよいでしょうか。
中学生の頃、午後の放課後、道端に隠れて金の花を作ってお金を賭けていたのを今でも覚えています。今では旧正月の時期に、ハマっていたようです。私たちはよく一緒に金の花を作ってお金を賭けますが、毎回みんな負けてしまいます。
今日は太陽が明るく輝いています。清明節の間に遊びに行っただけなので、今日はどこにも行きませんでした。何もすることがないときに、Golden Flower の 2 つのカードの大きさを比較するプログラムを使用する方法を考えました。実際に実装してみると、いくつかの方法が非常に重要なので、書き留めておきます。
さて、これ以上ナンセンスはやめてください。
Zhajinhua の 2 つのカードのデッキ間の比較ルールには触れません: JQK アイデア: 金色の花を結ぶ
1. 2 組のカードをランダムに生成します。各デッキの構成は次のとおりです。
コードは次のとおりです:
配列(
配列('スペード','K')、配列(
配列('スペード','K')、2. 各デッキのカードのスコアを計算します。各デッキのカードには元のサイズ (つまり、ペア、ストレート、ゴールデン フラワー、ストレート ゴールド、ボビンを除く) があり、
各カードのスコアは 2 桁の数字です。たとえば、「A」: 14、「10」: 10、「2」: 「02」のように、先頭に 0 が追加されます。 「k」:13、「7」:07
3枚のカードをポイント数に応じて(大きいものから小さいものまで)並べて6桁の数字を作ります。例: 'A27': 140702、'829': 090802、'JK8': 131108、'2A10': 141002
例外として、ペアの場合は、最初の 2 桁にペアの数字を入れます (これを行う理由は後で説明します)。例: '779': 070709、'7A7': 070714、'A33': 030314
現在のスコアは 6 桁の数値で、ペアは元の値に 10*100000 を加えた値に設定されており、7 桁の数値になります。例: '779': 1070709、'7A7': 1070714、'A33': 1030314
ストレートの場合、結果に 20*100000 を加えます。例: '345': 2050403、'QKA': 2141312、'23A': 2140302
金色の花の場合は、結果に 30*100000 を追加します。例: 'スペード K、スペード 6、スペード J': 3131106
ストレートゴールドは実際には黄金の花とストレートチャイルドの合計であるため、ストレートゴールドは50*10000になるはずです。 例: 'スペード 7,スペード 6,スペード 8': 5080706
ボビンの場合は、結果に 60*100000 を追加します。例: '666': 6060606、'JJJ': 6111111
3. 2 つのカードのサイズを比較します (計算されたスコアを使用して比較します)。
とても簡単です! !コードは以下の通り(PHP)
コードは次のとおりです:
echo 'card1 は ',printCard($card1),'
';
echo 'card2 は ',printCard($card2),'
';
$str = 'カード1をカード2に追加';
if($result == 1) $str = 'カード1はカード2より大きい';
elseif($result == -1) $str = 'カード1はカード2より小さい';
エコー $str;
関数 printCard($card)
{
$str = '(';
foreach($card as $v){
$str .= $v[0].$v[1].',';
}
戻りトリム($str,',').')';
}
代码如下:
echo 'card1 は ',printCard($card1),'
';
echo 'card2 は ',printCard($card2),'
';
$str = 'カード1をカード2に追加';
if($result == 1) $str = 'カード1はカード2より大きい';
elseif($result == -1) $str = 'カード1はカード2より小さい';
エコー $str;
関数 printCard($card)
{
$str = '(';
foreach($card as $v){
$str .= $v[0].$v[1].',';
}
戻りトリム($str,',').')';
}
ここで説明されている大家向けの php プログラムの設計が役立つことを望みます。