본 글의 예시에서는 PHP의 크고 작은 대회를 게임 내에서 구현하는 방법을 설명하고 있습니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.
프로그램은 알고리즘과 분리될 수 없습니다. 길찾기 알고리즘은 앞에서 논의했습니다. 그러나 당시 예제 다이어그램에서는 선택적 경로가 유일한 경로였습니다. 알고리즘을 선택한다는 것은 유일한 경로를 선택한다는 뜻입니다. 어떻게 선택할까요?
중학교 때 오후에 길가에 숨어 금꽃을 벌고 돈을 벌던 일이 아직도 기억나네요. 요즘은 중독된 것 같았어요. 구정이 되면 우리는 종종 금화를 만들고 돈을 벌기도 하는데, 매번 운이 좋지는 않습니다.
오늘은 해가 쨍쨍하네요. 청명절에 놀러 나갔기 때문에 오늘은 아무데도 안 갔어요. 할 일이 없을 때 골든플라워에서 두 카드의 크기를 비교하는 프로그램을 어떻게 하면 좋을지 고민하다가 구현해 봤는데 몇 가지 방법이 꽤 중요해서 적어봤습니다.
알겠습니다. 더 이상 말도 안되는 소리는 하지 마세요.
Zhajinhua에서 두 개의 카드 덱을 비교하는 규칙은 다루지 않겠습니다. JQK < A23 <
아이디어: 금색 꽃을 묶으세요1. 카드 덱 2개를 무작위로 생성하며, 각 덱의 구성은
각 카드의 점수는 2자리 숫자입니다. 2자리 미만일 경우 앞에 0이 추가됩니다. 예를 들어 'A': 14, '10': 10, '2': '02 ', 'k': 13, '7': 07
카드 3장을 점수에 따라(큰 것부터 작은 것 순으로) 정렬하여 6자리 숫자를 만듭니다. 예를 들어 'A27': 140702, '829': 090802, 'JK8': 131108, '2A10': 141002
예외, 쌍의 경우 쌍의 숫자를 처음 두 자리에 입력하세요(왜 이렇게 하는지 나중에 알게 될 것입니다). 예를 들어 '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. 두 카드의 크기를 비교합니다(계산된 점수를 사용하여 비교)
정말 간단해요! !
코드는 다음과 같습니다(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를 $v로){
$str .= $v[0].$v[1].',';
}
return Trim($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를 $v로){
$str .= $v[0].$v[1].',';
}
return Trim($str,',').')';
}
希望本文所述对大家程序设计有所帮助。