起因是今天早上無聊的時候刷抖音
看到最強大腦的一個人分享的舒爾特列表
然後就在想以後要不要給我的兒子也試試啊
覺得作為一個程式設計師要是用紙質的有點low啊~
就想到了用程式實現,選擇了世界上最香的語言php也是無可厚非的~
下面直接貼程式碼
# shuerte.php
<?php
$shuerte_value = range(1,25);
$shuerte_key = range('a','y');
$param_arr = getopt('t:');
$time_num = !empty($param_arr['t']) ? $param_arr['t'] : 10;
echo '舒爾特列表,一個小遊戲,今天在抖音上看到的,說是可以鍛鍊注意力~'.PHP_EOL;
echo '遊戲規則:請按照1到25的數字順序,得到字母排序'.PHP_EOL;
echo '指定遊戲次數 php shuerte.php [-t]'.PHP_EOL;
echo ''.PHP_EOL;
do{
$start = time();
shuffle($shuerte_value);
$shuerte = array_combine($shuerte_key,$shuerte_value);
$num = -1;
foreach($shuerte as $key => $value){
echo '| □ '.$key.'=>'.str_pad($value,2).' ';
$num++;
if($num % 5 == 4){
echo '|'.PHP_EOL;
}
}
asort($shuerte);
fwrite(STDOUT,'請輸入您的答案:');
//這裡用trim是因為fgets得到的結果是帶一個回車的,很髒~
if(trim(fgets(STDIN)) === implode('',array_keys($shuerte))){
echo '用時:'.(time()-$start).'秒'.PHP_EOL;
echo '回答正確!'.PHP_EOL;
}else{
echo '用時:'.(time()-$start).'秒'.PHP_EOL;
echo '回答錯誤 再接再厲哦!'.PHP_EOL;
echo '正確答案為'.implode('',array_keys($shuerte)).PHP_EOL;
}
$time_num--;
echo '遊戲剩餘'.$time_num.'輪~'.PHP_EOL;
}while($time_num > 0);
?>
執行方式
php shuerte.php [-t] # 這個t引數是用來控制遊戲的次數的 預設是10次
執行效果
舒爾特列表,一個小遊戲,今天在抖音上看到的,說是可以鍛鍊注意力~
遊戲規則:請按照1到25的數字順序,得到字母排序
指定遊戲次數 php shuerte.php [-t]
| □ a=>17 | □ b=>10 | □ c=>5 | □ d=>3 | □ e=>19 |
| □ f=>18 | □ g=>4 | □ h=>22 | □ i=>8 | □ j=>11 |
| □ k=>6 | □ l=>12 | □ m=>25 | □ n=>13 | □ o=>7 |
| □ p=>2 | □ q=>23 | □ r=>24 | □ s=>16 | □ t=>20 |
| □ u=>1 | □ v=>14 | □ w=>9 | □ x=>21 | □ y=>15 |
請輸入您的答案:123
用時:3秒
回答錯誤 再接再厲哦!
正確答案為updgckoiwbjlnvysafetxhqrm
遊戲剩餘19輪~
| □ a=>24 | □ b=>23 | □ c=>14 | □ d=>25 | □ e=>13 |
| □ f=>19 | □ g=>7 | □ h=>22 | □ i=>17 | □ j=>5 |
| □ k=>9 | □ l=>10 | □ m=>20 | □ n=>18 | □ o=>15 |
| □ p=>2 | □ q=>6 | □ r=>4 | □ s=>11 | □ t=>1 |
| □ u=>16 | □ v=>21 | □ w=>12 | □ x=>3 | □ y=>8 |
請輸入您的答案:tpxrjqgyklswecouinfmvhbad
用時:93秒
回答正確!
遊戲剩餘18輪~
| □ a=>13 | □ b=>6 | □ c=>7 | □ d=>25 | □ e=>10 |
| □ f=>4 | □ g=>24 | □ h=>16 | □ i=>11 | □ j=>2 |
| □ k=>21 | □ l=>18 | □ m=>17 | □ n=>23 | □ o=>14 |
| □ p=>22 | □ q=>12 | □ r=>19 | □ s=>5 | □ t=>1 |
| □ u=>8 | □ v=>20 | □ w=>3 | □ x=>9 | □ y=>15 |
請輸入您的答案:
可延伸
要是大家有興趣呢 可以改寫 我就不寫了 主要是為了我兒子以後能不能用到
- 遊戲的難度
- 計時作答
- 正確率統計
- 做題總時長
我兒子現在五個月,距離高考還有6000多天~
本作品採用《CC 協議》,轉載必須註明作者和本文連結