Ruby でインテリジェントな首謀者ゲームを構築しています。私のゲームでは、コンピューターにコード ブレーカーの役割を果たすオプションを選択すると、コンピューターはコード作成者のコードが何であるかを知識に基づいて推測します。
私のアルゴリズムの一部として、コンピューターは最初にすべての可能なコードのリスト全体を調べます。
たとえば、選択できる 6 色 (赤、オレンジ、青、緑、紫、黄) があり、コードが 4 色 (繰り返しが許可されている) で構成されている場合、可能なすべてのコードを表示するには、次のようにします。
valid_colors = %w(red orange blue green purple yellow)
all_possible_codes = valid_colors.repeated_permutation(4).to_a
そしてall_possible_codes
、可能なすべてのコードを表す配列で満たされた配列になります。コンピューターは、それぞれの推測からフィードバックを取得するときに、このリストからコードを削除します。
repeated_permutation
しかし、次の作業では、メソッドを持たない Ruby 1.8.7 を使用する JRuby 1.6.6 を使用する必要があります。同じ機能を持つ独自のメソッドを作成する必要があります。
だから私はここにあるソースコードに行きました: http://www.ruby-doc.org/core-1.9.3/Array.html#method-i-repeated_permutation
残念ながら、私は彼らが何をしているのか、または自分のメソッドを書くことでこれを解決する方法を理解していません. 私はプログラミングにかなり慣れていないので、これを理解することができませんでした。ソースコードを理解するための助けがあれば大歓迎です!