Wordle comparison: Difference between revisions

Content added Content deleted
No edit summary
(Wordle comparison in FreeBASIC)
Line 84: Line 84:
ROBIN v ROBIN => { 2 2 2 2 2 } => { green green green green green }
ROBIN v ROBIN => { 2 2 2 2 2 } => { green green green green green }
</pre>
</pre>

=={{header|FreeBASIC}}==
<lang freebasic>Function wordle(Byval respuesta As String, Byval supuesto As String) As String
Dim As Integer n, i, k
Dim As String resultado
n = Len(supuesto)
If 5 <> Len(respuesta) Then
Print respuesta; ": Expected 5 character target." : Return ""
Elseif 5 <> Len(supuesto) Then
Print supuesto; ": Expected 5 character guess." : Return ""
Elseif n = Len(respuesta) Then
resultado = Left("0000000000000000000", n)
For i = 1 To n
If Mid(supuesto, i, 1) = Mid(respuesta, i, 1) Then
Mid(respuesta, i, 1) = "0"
Mid(resultado, i, 1) = "2"
End If
Next i
For i = 1 To n
k = Instr(respuesta, Mid(supuesto, i, 1))
If k Then
Mid(respuesta, k, 1) = "0"
Mid(resultado, i, 1) = "1"
End If
Next i
Else
Print "words must be same length"
End If
Return resultado
End Function


Data "ALLOW", "LOLLY", "CHANT", "LATTE", "ROBIN", "ALERT", "ROBIN", "SONIC", "ROBIN", "ROBIN"
Data "BULLY", "LOLLY", "ADAPT", "SÅLÅD", "Ukraine", "Ukraíne","BBAAB", "BBBBBAA", "BBAABBB", "AABBBAA"

Dim As String colores(3), respuesta, supuesto, res, res1
colores(0) = "grey" : colores(1) = "yellow" : colores(2) = "green"

Dim As Integer i, j
For i = 1 To 10 '5
Read respuesta, supuesto
res = wordle(respuesta, supuesto)
If res <> "" Then
res1 = ""
For j = 1 To Len(res)
res1 &= Mid(res, j, 1) & ", "
Next j
Print respuesta; " v "; supuesto; " => ["; Left(res1, Len(res1)-2); "] => ";
For j = 1 To Len(res)
Print using "\ \"; colores(Val(Mid(res, j, 1)));
Next j
Print
End If
Next i
Sleep</lang>
{{out}}
<pre>ALLOW v LOLLY => [1, 1, 2, 0, 0] => yellow yellow green grey grey
CHANT v LATTE => [0, 1, 1, 0, 0] => grey yellow yellow grey grey
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
BULLY v LOLLY => [0, 0, 2, 2, 2] => grey grey green green green
ADAPT v S+L+D => [0, 0, 0, 0, 1] => grey grey grey grey yellow
Ukraine: Expected 5 character target.
BBBBBAA: Expected 5 character guess.
BBAABBB: Expected 5 character target.</pre>



=={{header|Go}}==
=={{header|Go}}==