Wordle comparison: Difference between revisions
Content added Content deleted
(Add Kotlin implementation) |
(Add PARI/GP implementation) |
||
Line 1,225: | Line 1,225: | ||
ROBIN v SONIC → (grey, green, yellow, green, grey) |
ROBIN v SONIC → (grey, green, yellow, green, grey) |
||
ROBIN v ROBIN → (green, green, green, green, green)</pre> |
ROBIN v ROBIN → (green, green, green, green, green)</pre> |
||
=={{header|PARI/GP}}== |
|||
{{trans|Julia}} |
|||
<syntaxhighlight lang="PARI/GP"> |
|||
colors = ["grey", "yellow", "green"]; |
|||
wordle(answer, guess) = |
|||
{ |
|||
n = #guess; |
|||
if (#answer != n, error("The words must be of the same length.")); |
|||
answervector = Vecsmall(answer); |
|||
guessvector = Vecsmall(guess); \\ Convert guess to a vector of ASCII values |
|||
result = vector(n, i, 0); |
|||
for (i = 1, n, |
|||
if (guessvector[i] == answervector[i], |
|||
answervector[i] = 0; |
|||
result[i] = 2; |
|||
); |
|||
); |
|||
for (i = 1, n, |
|||
c = guessvector[i]; |
|||
for (j = 1, n, |
|||
if (answervector[j] == c, |
|||
answervector[j] = 0; |
|||
result[i] = 1; |
|||
break; |
|||
); |
|||
); |
|||
); |
|||
result; |
|||
} |
|||
{ |
|||
testpairs = [["ALLOW", "LOLLY"], ["BULLY", "LOLLY"], ["ROBIN", "ALERT"], ["ROBIN", "SONIC"], ["ROBIN", "ROBIN"]]; |
|||
for (i = 1, #testpairs, |
|||
pair = testpairs[i]; |
|||
res = wordle(pair[1], pair[2]); |
|||
res2 = vector(#res, j, colors[res[j] + 1]); |
|||
print(pair[1] " v " pair[2] " => " res " => " res2); |
|||
) |
|||
} |
|||
</syntaxhighlight> |
|||
{{out}} |
|||
<pre> |
|||
ALLOW v LOLLY => [1, 1, 2, 0, 0] => ["yellow", "yellow", "green", "grey", "grey"] |
|||
BULLY v LOLLY => [0, 0, 2, 2, 2] => ["grey", "grey", "green", "green", "green"] |
|||
ROBIN v ALERT => [0, 0, 0, 1, 0] => ["grey", "grey", "grey", "yellow", "grey"] |
|||
ROBIN v SONIC => [0, 2, 1, 2, 0] => ["grey", "green", "yellow", "green", "grey"] |
|||
ROBIN v ROBIN => [2, 2, 2, 2, 2] => ["green", "green", "green", "green", "green"] |
|||
</pre> |
|||
=={{header|Perl}}== |
=={{header|Perl}}== |