So ich stelle mal mein Spiel vor: Scheiß Spiel.
Ziel ist es durch würfeln alle Sticks am Ende weg zu bekommen und somit den Computer damit zu besiegen!
Einfach auf Würfeln klicken, der Rest geht von selbst
Spoiler anzeigen
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("'Scheiß Spiel'", 596, 138, 192, 124)
$1 = GUICtrlCreateCheckbox("1", 16, 88, 25, 17)
$2 = GUICtrlCreateCheckbox("2", 48, 48, 25, 17)
$3 = GUICtrlCreateCheckbox("3", 144, 16, 33, 17)
$4 = GUICtrlCreateCheckbox("4", 232, 48, 25, 17)
$5 = GUICtrlCreateCheckbox("5", 272, 88, 25, 17)
$6 = GUICtrlCreateRadio("6", 144, 88, 25, 17)
$Group1 = GUICtrlCreateGroup("Spielfeld", 8, 0, 321, 129)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group2 = GUICtrlCreateGroup("Würfel", 336, 0, 161, 129)
$Label1 = GUICtrlCreateLabel("Spieler 1 ist dran!", 344, 16, 129, 17)
$Button1 = GUICtrlCreateButton("Würflen", 344, 48, 147, 41, $WS_GROUP)
$Button2 = GUICtrlCreateButton("weiter", 344, 87, 147, 41, $WS_GROUP)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group3 = GUICtrlCreateGroup("Sticks", 504, 0, 89, 129)
$Label2 = GUICtrlCreateLabel("Du:", 512, 16, 21, 17)
$SticksP = GUICtrlCreateLabel("IIIIIIIII", 512, 32, 71, 33)
$Label4 = GUICtrlCreateLabel("Computer:", 512, 72, 52, 17)
$SticksC = GUICtrlCreateLabel("IIIIIIIII", 513, 86, 71, 33)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)
$next = False
MsgBox(0, "Hilfe", "Drücke F1 für die Hilfe!")
HotKeySet("{F1}", "_Help")
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
_GoUser()
Case $Button2
_weiter("User")
EndSwitch
WEnd
Func _GoPC()
$next = False
$W = Random(1, 6, 1)
$nNext = Random(0, 1, 1)
If $nNext = 1 Then _weiter("PC")
GUICtrlSetData($Label1, "Computer hat " & $W & " gewürfelt!")
Switch $W
Case 1
If GUICtrlRead($1) = $GUI_CHECKED Then
GUICtrlSetState($1, $GUI_UNCHECKED)
$sticks = GUICtrlRead($SticksC)
GUICtrlSetData($SticksC, $sticks & "I")
MsgBox(0, "Nächster", "Du bist der nächste!")
Else
GUICtrlSetState($1, $GUI_CHECKED)
$sticks = GUICtrlRead($SticksC)
If Not $sticks = "" Then
GUICtrlSetData($SticksC, StringRight($sticks, StringLen($sticks) - 1))
Else
MsgBox(0, "Verloren!", "Tut mir leid aber der Computer hat gewonnen!")
EndIf
_GoPC()
EndIf
Case 2
If GUICtrlRead($2) = $GUI_CHECKED Then
GUICtrlSetState($2, $GUI_UNCHECKED)
$sticks = GUICtrlRead($SticksC)
GUICtrlSetData($SticksC, $sticks & "I")
MsgBox(0, "Nächster", "Du bist der nächste!")
Else
GUICtrlSetState($2, $GUI_CHECKED)
$sticks = GUICtrlRead($SticksC)
If Not $sticks = "" Then
GUICtrlSetData($SticksC, StringRight($sticks, StringLen($sticks) - 1))
Else
MsgBox(0, "Verloren!", "Tut mir leid aber der Computer hat gewonnen!")
EndIf
_GoPC()
EndIf
Case 3
If GUICtrlRead($3) = $GUI_CHECKED Then
GUICtrlSetState($3, $GUI_UNCHECKED)
$sticks = GUICtrlRead($SticksC)
GUICtrlSetData($SticksC, $sticks & "I")
MsgBox(0, "Nächster", "Du bist der nächste!")
Else
GUICtrlSetState($3, $GUI_CHECKED)
$sticks = GUICtrlRead($SticksC)
If Not $sticks = "" Then
GUICtrlSetData($SticksC, StringRight($sticks, StringLen($sticks) - 1))
Else
MsgBox(0, "Verloren!", "Tut mir leid aber der Computer hat gewonnen!")
EndIf
_GoPC()
EndIf
Case 4
If GUICtrlRead($4) = $GUI_CHECKED Then
GUICtrlSetState($1, $GUI_UNCHECKED)
$sticks = GUICtrlRead($SticksC)
GUICtrlSetData($SticksC, $sticks & "I")
MsgBox(0, "Nächster", "Du bist der nächste!")
Else
GUICtrlSetState($4, $GUI_CHECKED)
$sticks = GUICtrlRead($SticksC)
If Not $sticks = "" Then
GUICtrlSetData($SticksC, StringRight($sticks, StringLen($sticks) - 1))
Else
MsgBox(0, "Verloren!", "Tut mir leid aber der Computer hat gewonnen!")
EndIf
_GoPC()
EndIf
Case 5
If GUICtrlRead($5) = $GUI_CHECKED Then
GUICtrlSetState($5, $GUI_UNCHECKED)
$sticks = GUICtrlRead($SticksC)
GUICtrlSetData($SticksC, $sticks & "I")
MsgBox(0, "Nächster", "Du bist der nächste!")
Else
GUICtrlSetState($5, $GUI_CHECKED)
$sticks = GUICtrlRead($SticksC)
If Not $sticks = "" Then
GUICtrlSetData($SticksC, StringRight($sticks, StringLen($sticks) - 1))
Else
MsgBox(0, "Verloren!", "Tut mir leid aber der Computer hat gewonnen!")
EndIf
_GoPC()
EndIf
Case 6
GUICtrlSetState($6, $GUI_CHECKED)
Sleep(1000)
GUICtrlSetState($6, $GUI_UNCHECKED)
_GoPC()
EndSwitch
EndFunc ;==>_GoPC
Func _GoUser()
$W = Random(1, 6, 1)
$next = True
GUICtrlSetData($Label1, "Spieler 1 hat " & $W & " gewürfelt!")
Switch $W
Case 1
If GUICtrlRead($1) = $GUI_CHECKED Then
GUICtrlSetState($1, $GUI_UNCHECKED)
$sticks = GUICtrlRead($SticksP)
GUICtrlSetData($SticksP, $sticks & "I")
MsgBox(0, "Eins Ziehen!", "Tut mir leid! Aber du musst ein Stick ziehen!")
_GoPC()
Else
GUICtrlSetState($1, $GUI_CHECKED)
$sticks = GUICtrlRead($SticksP)
If Not $sticks = "" Then
GUICtrlSetData($SticksP, StringRight($sticks, StringLen($sticks) - 1))
Else
MsgBox(0, "Gewonnen!", "Glückwunsch! Du hast den Computer geschlagen und gewonnen!")
EndIf
EndIf
Case 2
If GUICtrlRead($2) = $GUI_CHECKED Then
GUICtrlSetState($2, $GUI_UNCHECKED)
$sticks = GUICtrlRead($SticksP)
MsgBox(0, "", $sticks)
GUICtrlSetData($SticksP, $sticks & "I")
MsgBox(0, "Eins Ziehen!", "Tut mir leid! Aber du musst ein Stick ziehen!")
_GoPC()
Else
GUICtrlSetState($2, $GUI_CHECKED)
$sticks = GUICtrlRead($SticksP)
If Not $sticks = "" Then
GUICtrlSetData($SticksP, StringRight($sticks, StringLen($sticks) - 1))
Else
MsgBox(0, "Gewonnen!", "Glückwunsch! Du hast den Computer geschlagen und gewonnen!")
EndIf
EndIf
Case 3
If GUICtrlRead($3) = $GUI_CHECKED Then
GUICtrlSetState($3, $GUI_UNCHECKED)
$sticks = GUICtrlRead($SticksP)
GUICtrlSetData($SticksP, $sticks & "I")
MsgBox(0, "Eins Ziehen!", "Tut mir leid! Aber du musst ein Stick ziehen!")
_GoPC()
Else
GUICtrlSetState($3, $GUI_CHECKED)
$sticks = GUICtrlRead($SticksP)
If Not $sticks = "" Then
GUICtrlSetData($SticksP, StringRight($sticks, StringLen($sticks) - 1))
Else
MsgBox(0, "Gewonnen!", "Glückwunsch! Du hast den Computer geschlagen und gewonnen!")
EndIf
EndIf
Case 4
If GUICtrlRead($4) = $GUI_CHECKED Then
GUICtrlSetState($1, $GUI_UNCHECKED)
$sticks = GUICtrlRead($SticksP)
GUICtrlSetData($SticksP, $sticks & "I")
MsgBox(0, "Eins Ziehen!", "Tut mir leid! Aber du musst ein Stick ziehen!")
_GoPC()
Else
GUICtrlSetState($4, $GUI_CHECKED)
$sticks = GUICtrlRead($SticksP)
If Not $sticks = "" Then
GUICtrlSetData($SticksP, StringRight($sticks, StringLen($sticks) - 1))
Else
MsgBox(0, "Gewonnen!", "Glückwunsch! Du hast den Computer geschlagen und gewonnen!")
EndIf
EndIf
Case 5
If GUICtrlRead($5) = $GUI_CHECKED Then
GUICtrlSetState($5, $GUI_UNCHECKED)
$sticks = GUICtrlRead($SticksP)
GUICtrlSetData($SticksP, $sticks & "I")
MsgBox(0, "Eins Ziehen!", "Tut mir leid! Aber du musst ein Stick ziehen!")
_GoPC()
Else
GUICtrlSetState($5, $GUI_CHECKED)
$sticks = GUICtrlRead($SticksP)
If Not $sticks = "" Then
GUICtrlSetData($SticksP, StringRight($sticks, StringLen($sticks) - 1))
Else
MsgBox(0, "Gewonnen!", "Glückwunsch! Du hast den Computer geschlagen und gewonnen!")
EndIf
EndIf
Case 6
GUICtrlSetState($6, $GUI_CHECKED)
MsgBox(0, "6 Gewürfelt", "Glückwunsch du hast die 6 gewürfelt!")
GUICtrlSetState($6, $GUI_UNCHECKED)
EndSwitch
EndFunc ;==>_GoUser
Func _Help()
MsgBox(0, "Hilfe", "Das Ziel ist es möglichst schnell alle Sticks weg zu bekommen." & @CRLF & _
"Dazu Würfelst du, und setzt einen Stick auf das Feld das du gewürfelt hast. Das Script macht dies sogar automatisch." & @CRLF & _
"Ist in dem Feld jedoch schon ein Stick musst du diesen herausnehmen und der Gegner ist dran." & @CRLF & _
"Bist du dran und hattest gerade einmal gewürfelt, kannst du den Würfel weiter geben!")
EndFunc ;==>_Help
Func _weiter($who)
Switch $who
Case "User"
If $next = True Then
_GoPC()
Else
MsgBox(0, "Tut mir leid!", "Tut mir leid, aber du musst noch einmal würfeln!")
EndIf
Case "PC"
If $next = False Then
_GoUser()
Else
EndIf
EndSwitch
EndFunc ;==>_weiter