1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Forum
  3. AutoIt 3
  4. Skripte

Anagram

  • x0r
  • 5. September 2013 um 23:03
  • x0r
    Profi
    Reaktionen
    1
    Beiträge
    512
    • 5. September 2013 um 23:03
    • #1

    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
    [autoit]

    #include <file.au3>
    #include <misc.au3>
    #include <array.au3>

    [/autoit] [autoit][/autoit] [autoit]

    dim $ary[12]
    Global $var, $str, $rnd, $cnt, $out, $ges

    [/autoit] [autoit][/autoit] [autoit]

    ;_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"

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    ;~ 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

    [/autoit] [autoit][/autoit] [autoit]

    return $out
    EndFunc

    [/autoit]

    Gruß,
    x0r

    Simon nörgelt, Simon nervt - aber Simon verbessert die Welt. Glaubt er.

  • chip
    Poweruser
    Reaktionen
    1
    Beiträge
    3.159
    • 7. September 2013 um 10:35
    • #2

    Das hat aber nicht viel mit Anagramm zu tun. Ein Anagramm ist das Bilden einens neuen sinnvollen Wortes aus einem anderen sinnvollen Wort. In deinem Script werden die Buchstaben einfach wild durcheinander geworfen.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • alpines
    天照大神
    Beiträge
    4.209
    • 7. September 2013 um 13:18
    • #3

    Als einfachstes und am meisten klassisches Beispiel:

    Lager -> Regal

    86152-alpi7958-png

    ►►► PassIt2 - Dateien zwischen PCs einfach und bequem übertragen!

    ► GUIScaler - GUIs automatisch zur DPI skalieren lassen (Windows 7 und Windows 10 Per-Monitor-DPI)

    ► TrackMania² Automated Server Controller (TMASECO) - Controller inklusive Manialinkpage-Support in AutoIt!

    ► Extensa - Hotkeys für unterschiedliche Eingabegeräte trennen

    ► Lust auf ein kleines Spiel in AutoIt? Snake, Tunnel, Tetris, NumberStrike, Pazaak (Star Wars)

    Der Rest meiner Werke

    A*-Algorithmus - Pathfinding

    C# / VB .NET DLLs erstellen und in AutoIt verwenden!

    Funktionsplotter

    Integralrechner
    Dezimal- zu Binär-Umrechner

    NumberConvert
    _SquareRoot
    _WinGetTitleEx
    Tap - BPM Counter
    Wake On Lan

    _ArraySortStable2D

    RingBuffer.au3

  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™