Hoi!
Bevor sich wer beschwert, direkt mal vorne weg, hab das Teil in 5 min zusammen gebaut, hätte man anders lösen können, fands so aber ganz interessant
Achja: Es funktioniert nur mit Worten, die <= 9 Buchstaben haben
(Wortlisten können verwendet werden -> einlesen per _FileReadToArray())
Spoiler anzeigen
#include <file.au3>
#include <misc.au3>
#include <array.au3>
dim $ary[12]
Global $var, $str, $rnd, $cnt, $out, $ges
;_FileReadToArray(@ScriptDir & "\Wortliste.txt", $ary)
[/autoit] [autoit][/autoit] [autoit]$ary[0] = 11
$ary[1] = "Zinsen"
$ary[2] = "Teamspeak"
$ary[3] = "Chat"
$ary[4] = "Zocken"
$ary[5] = "Steam"
$ary[6] = "Spiele"
$ary[7] = "Computer"
$ary[8] = "Elektron"
$ary[9] = "Prozessor"
$ary[10] = "Grafik"
$ary[11] = "Speicher"
for $i = 1 To $ary[0]
Local $x = 0
Local $var = ""
Local $in = ""
$var = anagram($ary[$i])
Do
$in = InputBox("Eingabe", $var, "")
if @error = 1 Then Exit
$x += 1
Until $in = $ary[$i]
MsgBox(64, "Richtig", $x & " Versuch" & _iif($x > 1,"e","") & " gebraucht!")
$ges += $x
Next
MsgBox(0,"Versuche gebraucht", "Gesamt: " & $ges)
[/autoit] [autoit][/autoit] [autoit]func anagram($str)
Local $out = ""
Local $str2 = ""
Local $hrnd = ""
Local $rnd = ""
Local $cnt = StringLen($str)
Do
$hrnd = Random(1,$cnt,1)
if not StringInStr($rnd, $hrnd) Then $rnd &= $hrnd
Until StringLen($rnd) = $cnt
;~ ConsoleWrite($rnd & @CRLF)
[/autoit] [autoit][/autoit] [autoit]$str2 = StringSplit($rnd,"")
[/autoit] [autoit][/autoit] [autoit]For $z = 1 To $str2[0]
$out &= StringMid($str,$str2[$z],1)
Next
return $out
EndFunc
Gruß,
x0r