da wir nicht an der Uni sind, würde ich meinen Versuch nochmal korrigiert abgeben wollen. Ich hatte das mit dem vollen Suchbegriff vergessen. ![]()
wenn diese Version nicht mehr in die Wertung geht alles gut.
Spoiler anzeigen
AutoIt
#include "Word-list.au3"
Global $InputBox, $Platzhalter, $nTreffer, $nCountFound, $sSuchwort, $aWortliste = _WordList()
Global $aWortVorgabe = StringSplit($aWortliste[Random(1, UBound($aWortliste)-1, 1)], '')
Global $aWortSuche = $aWortVorgabe
For $i = 1 To $aWortSuche[0]
$aWortSuche[$i] = "_"
$Platzhalter &= " _"
$sSuchwort &= $aWortVorgabe[$i]
Next
$nCount = $aWortSuche[0]
ConsoleWrite('' & _
"+---------------+" & @CRLF & _
"|--GALGENRATEN--|" & @CRLF & _
"+---------------+" & @CRLF & _
"Errate ein Wort mit " & $aWortVorgabe[0] & " Buchstaben" & $Platzhalter & " , aus der Kategorie Software Entwicklung." & @CRLF & _
"Du hast " & $aWortVorgabe[0] & " Versuche, jeder falsche Buchstabe reduziert deine Versuche" & @CRLF)
While 1
$InputBox = InputBox('GALGENRATEN', 'Gib einen Buchstaben oder ein Wort ein.')
If @error > 0 Then
ConsoleWrite("Du hast das Spiel abgebrochen!" & @CRLF)
Exit
EndIf
$Platzhalter = ""
If StringLen($InputBox) = 1 Then
$nTreffer = 0
For $i = 1 To $aWortSuche[0]
If $InputBox = $aWortVorgabe[$i] Then
$nTreffer = 1
$nCountFound += 1
$aWortSuche[$i] = $InputBox
EndIf
Next
If $nTreffer = 0 Then $nCount -= 1
If $nCount = 0 Then
ConsoleWrite('Verloren! Das gesuchte Wort war "' & $sSuchwort & '"' & @CRLF)
Exit
Else
For $j = 1 To $aWortSuche[0]
$Platzhalter &= " " & $aWortSuche[$j]
Next
ConsoleWrite("Wort:" & $Platzhalter & " (" & $nCount & " Versuche noch)" & @CRLF)
EndIf
If $aWortSuche[0] = $nCountFound Then
ConsoleWrite("Gewonnen! " & $nCount & " Versuche übrig, gut gemacht." & @CRLF)
Exit
EndIf
EndIf
If StringLen($InputBox) = $aWortSuche[0] Then
If $InputBox = $sSuchwort Then
For $j = 1 To $aWortVorgabe[0]
$Platzhalter &= " " & $aWortVorgabe[$j]
Next
ConsoleWrite("Wort:" & $Platzhalter & " (" & $nCount & " Versuche noch)" & @CRLF)
ConsoleWrite("Gewonnen! " & $nCount & " Versuche übrig, gut gemacht." & @CRLF)
Exit
EndIf
EndIf
WEnd
Alles anzeigen
Ich stelle fest, dass ich eher fahrig bin. Jetzt hab ich umgestellt auf Sven seine 0-based Wortliste und den UBound vergessen.
peinlich, peinlich