LoginSignup
0
1

More than 1 year has passed since last update.

【PHP】PHPでヒット&ブロー

Last updated at Posted at 2022-06-08

ヒットアンドブローとは、何桁かの数字を入力し数を当てる数当てパズルゲーム。

ランダム数値4桁に対して、入力した4桁のヒット数とブロー数を求める。

Hit数  
同じ数字が同じ桁に出現する回数
Blow数  
同じ数字が違う桁に出現する回数

入力値4桁

2345

コード

<?php
$list = str_split(fgets(STDIN));
$number = [];
foreach ([1,2,3,4] as $i) $number[] = mt_rand(1, 9);   
$hit_cnt = 0;
$blow_cnt = 0;
foreach ($list as $k => $v){
    if((int)$v === $number[$k]){
        $hit_cnt++;
    }
    if(in_array($v,$number)){
        $blow_cnt++;
    }
}
echo $hit_cnt,':ヒット',$blow_cnt,':ブロー',PHP_EOL;
echo 'コンピュータ:',$number[0],$number[1],$number[2],$number[3],PHP_EOL;
echo '入力値した値:',$list[0],$list[1],$list[2],$list[3];

結果

1:ヒット1:ブロー
コンピュータ:6761
入力値した値:6424
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1