Bulls and cows: Difference between revisions

Content added Content deleted
m (→‎{{header|Coco}}: Changed some `==`s to `===`s.)
(→‎{{header|AutoHotkey}}: add function + feedback)
Line 142:
 
=={{header|AutoHotkey}}==
<lang autohotkey>Whilelength:=4, StrLen(Code):="" < 4; {settings
 
Random, num, 1, 9
While StrLen(Code) < length {
If !InStr(Code, num)
Random, num, 1, 9
Code .= num
If !InStr(Code, num)
Code .= num
}
Gui, Add, Text, w83 vInfo, I'm thinking of a %length%-digit number with no duplicate digits.
Gui, Add, Edit, vGuess, Enter a guess...
Gui, Add, ButtonEdit, wp DefaultvGuess, SubmitEnter a guess...
Gui, Add, ListBoxButton, ymwp r8Default vHistoryvDefault, Submit
Gui, Add, Edit, ym w130 r8 vHistory ReadOnly
Gui, Show
Return
 
ButtonSubmit:
If Default = Restart
Gui, Submit, NoHide
Reload
If StrLen(Guess) != 4
Gui, Submit, NoHide
Return
If (StrLen(Guess) is not!= digitlength)
GuiControl, , Info, Enter a %length%-digit number.
Return
Else If Guess is not digit
bulls:=0, cows:=0
GuiControl, , Info, Enter a %length%-digit number.
Loop, 4
Else
If (SubStr(Guess, A_Index, 1) = SubStr(Code, A_Index, 1))
{
bulls++
GuiControl, , Info
Else If InStr(Code, SubStr(Guess, A_Index, 1))
GuiControl, , Guess
cows++
If StrLen(Guess) != 4Code)
GuiControl,, History, % Guess ": " bulls " Bulls " cows " Cows"
{
GuiControl, , Info, Correct!
GuiControl, , Default, Restart
Default = Restart
}
response := Response(Guess, Code)
Bulls := SubStr(response, 1, InStr(response,",")-1)
Cows := SubStr(response, InStr(response,",")+1)
GuiControl, , History, % History . Guess ": " bullsBulls " Bulls " cowsCows " Cows`n"
}
Return
 
GuiEscape:
GuiClose:
ExitApp</lang>
 
Response(Guess,Code) {
Bulls := 0, Cows := 0
Loop, % StrLen(Code)
If (SubStr(Guess, A_Index, 1) = SubStr(Code, A_Index, 1))
Bulls++
Else If (InStr(Code, SubStr(Guess, A_Index, 1)))
Cows++
Return Bulls "," Cows
}</lang>
 
=={{header|BASIC}}==