Popcap の本の虫に永遠に勝ちましょう
リリース: 2016-07-25 08:51:07
Bookworm は非常に良いゲームです。知らない場合は、アプリ ストアで検索してください。 PHP を使用して、常に最高スコアの単語を綴るプログラムを作成しました。
fullwordlist.txt は辞書なので、興味のある方は投稿しません。オンラインで検索してください。
-
-
- < ;body>
-
文字符:
-
-
-
-
-
-
-
-
-
-
-
-
- < ;input type="text" value="" id="w14" name="w14" style="width:50px;">
-
-
- < input type="text" value="" id="w17" name="w17" style="width:50px;">
-
-
-
-
-
- <入力タイプ="text" value="" id="w23" name="w23" style="width:50px;">
-
-
-
-
占分:
-
-
- < ;input type="text" value="" id="v3" name="v3" style="width:50px;">
-
-
- < input type="text" value="" id="v6" name="v6" style="width:50px;">
-
-
-
-
- < ;input type="text" value="" id="v12" name="v12" style="width:50px;">
-
-
- < input type="text" value="" id="v15" name="v15" style="width:50px;">
-
-
-
-
-
- <入力タイプ="text" value="" id="v21" name="v21" style="width:50px;">
-
-
-
-
-
-
-
-
- // 著者: huangfeng爱吴佳旻
- if(empty($_POST)) die;
- // 受信并处処理原始输送受信,w代表文字,v代表对应的分数
- $data = array();
- for($i=1;$i<= 24;$i++){
- array_push($data, array('w' => strtoupper(trim($_POST['w'.$i])), 'v' => trim($_POST['v'.$i])));
- }
-
- // 去重便计算要求和の分数
- $data_unduplicated = array();
- foreach($data as $key => $ value){
- $data_unduplicated[] = implode(',', $value);
- }
- $data_unduplicated = array_unique($data_unduplicated);
-
- // 出射周波数次
- $data_frequency = array();
- foreach ($data as $arr) {
- $data_frequency[] = $arr['w'];
- }
- $data_frequency_result = array_count_values($data_frequency);
-
- // 将词汇表文件读入组
- $words = file('./fullwordlist.txt', FILE_IGNORE_NEW_LINES);
-
- // 将词汇表全部转成大写日文
- $words = array_map(function ($word){
- return strtoupper($word);
- }, $ Words);
-
- // 对每个单词进行周波数次判断
- $result = array();
- foreach ($words as $k => $word) {
- // 遇到含有'的单词,就略过
- if(strpos($word, "'") > 0) continue;
-
- // 对$word做字母拆解,判断每个字母の出现周波数次
- $word_arr = str_split($word);
- $word_arr_frequency = array_count_values($word_arr);
- $pass = true;
- foreach ($word_arr_frequency as $character => $frequency) {
- if(!array_key_exists($character, $data_frequency_result) || ($data_frequency_result[$character] < ; $frequency)) {
- $pass = false;
- }
- }
-
- // 对筛选出的$word进行求分数操作
- if($pass) {
- $word_value = 0;
- foreach ($word_arr as $wkey) => $wchar) {
- foreach($data_unduplicated as $data_item) {
- $data_item =explode(',', $data_item);
- // var_dump($data_item); 配列0 =>文字列 'A' (長さ=1) 1 =>文字列 '3' (長さ=1)
- if($wchar != $data_item[0]) continue;
- $word_value += $data_item[1];
- }
- }
- $result[] = array('w' => $word, 'v' => $word_value);
- }
- }
-
- // 最後だけ出分数最高
- $k = 0;
- $highest = 0;
- foreach ($result as $ key => $item) {
- if(intval($item['v']) >= $highest){
- $highest = $item['v'];
- $k = $key;
- }
- }
-
- echo '最高スコアの単語は次のとおりです:' . $result[$k]['w'] '('.$result[$k]['v'].')';;
コードをコピー
|
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31