Kennst du ihr das Gefühl?
Ihr seid mit euren Kumpels auf einer LAN, Ihr freut euch schon seit mehreren Wochen darauf. Ihr habt Nächte lang nicht geschlafen. Nun seid ihr endlich alle beisammen. Die Computer sind vernetzt und die Party kann beginnen. Doch….
Ihr seid einfach unfähig euch in Teams aufzuteilen? Ihr findet einfach kein Kompromiss?
DAMIT IST JETZT SCHLUSS!
Ich präsentier euch den „TeamCreator by TimoIT“.
Dieses einfache Tool teilt die zuvor hinzugefügten Spieler in gleichstarke Teams nach dem Zufallsprinzip.
Spoiler anzeigen
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Array.au3>
HotKeySet("{F2}","_error")
$Spielerliste = ""
$error = 0
$i = 0
dim $Player[10][2]
$Player[0][0] = ""
$Player[1][0] = ""
$Player[2][0] = ""
$Player[3][0] = ""
$Player[4][0] = ""
$Player[5][0] = ""
$Player[6][0] = ""
$Player[7][0] = ""
$Player[8][0] = ""
$Player[9][0] = ""
$Player[0][1] = ""
$Player[1][1] = ""
$Player[2][1] = ""
$Player[3][1] = ""
$Player[4][1] = ""
$Player[5][1] = ""
$Player[6][1] = ""
$Player[7][1] = ""
$Player[8][1] = ""
$Player[9][1] = ""
dim $Team[2]
$Team[0] = "Team1"
$Team[1] = "Team2"
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Team Creator by TimoIt", 356, 169, 192, 124)
$Button1 = GUICtrlCreateButton("Add", 8, 80, 65, 33, 0)
$Button2 = GUICtrlCreateButton("Clear", 80, 80, 65, 33, 0)
$Button3 = GUICtrlCreateButton("Create Teams", 8, 120, 137, 33, 0)
$Input1 = GUICtrlCreateInput("Team1", 8, 8, 137, 21)
$Input2 = GUICtrlCreateInput("Team2", 8, 40, 137, 21)
$Edit1 = GUICtrlCreateEdit("", 160, 8, 169, 153)
GUICtrlSetData(-1, $Spielerliste)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
case $Button1
_Add()
case $Button2
_Clear()
case $Button3
if $Player[0][0] <> "" then
$Team[0] = GUICtrlRead($Input1)
$Team[1] = GUICtrlRead($Input2)
_Generate()
EndIf
EndSwitch
WEnd
func _Add()
if $i < 10 Then
$newPlayer = InputBox("Team Creator","New Player: ")
if $newPlayer <> "" then
$Player[$i][0] = $newPlayer
$i = $i +1
$Spielerliste = $Player[0][0] & @crlf & $Player[1][0] & @crlf & $Player[2][0] & @crlf & $Player[3][0] & @crlf & $Player[4][0] & @crlf & $Player[5][0]& @crlf & $Player[6][0]& @crlf & $Player[7][0] & @crlf & $Player[8][0] & @crlf & $Player[9][0]
GUICtrlSetData($Edit1,$Spielerliste)
EndIf
Else
MsgBox(16,"Team Creator","max. 10 Players")
EndIf
endfunc
func _Clear()
$i = 0
$error = 0
$Player[0][0] = ""
$Player[1][0] = ""
$Player[2][0] = ""
$Player[3][0] = ""
$Player[4][0] = ""
$Player[5][0] = ""
$Player[6][0] = ""
$Player[7][0] = ""
$Player[8][0] = ""
$Player[9][0] = ""
$Spielerliste = $Player[0][0] & @crlf & $Player[1][0] & @crlf & $Player[2][0] & @crlf & $Player[3][0] & @crlf & $Player[4][0] & @crlf & $Player[5][0]& @crlf & $Player[6][0]& @crlf & $Player[7][0] & @crlf & $Player[8][0] & @crlf & $Player[9][0]
GUICtrlSetData($Edit1,$Spielerliste)
$Team[0] = "Team1"
$Team[1] = "Team2"
GUICtrlSetData($Input1,$Team[0])
GUICtrlSetData($Input2,$Team[1])
EndFunc
Func _Generate()
GUIDelete($Form1)
for $r = 0 to 9 step 1
if $Player[$r][0] <> "" Then $Player[$r][1] = Random(1,10000,1)
if $Player[$r][0] = "" then $Player[$r][1] = 10000 + $r
next
_ArraySort($Player, 0, 0, 0, 1)
if $error = 1 then _ArrayDisplay($Player)
#Region ### START Koda GUI section ### Form=
$Form2 = GUICreate("Teams", 401, 272, 302, 218)
$Label1 = GUICtrlCreateLabel($Team[0], 32, 8, 159, 28)
GUICtrlSetFont(-1, 16, 400, 0, "MS Sans Serif")
$Label2 = GUICtrlCreateLabel($Team[1], 208, 8, 159, 28)
GUICtrlSetFont(-1, 16, 400, 0, "MS Sans Serif")
$Edit2 = GUICtrlCreateEdit("", 24, 40, 169, 177)
GUICtrlSetData(-1, "")
$Edit3 = GUICtrlCreateEdit("", 208, 40, 161, 177)
GUICtrlSetData(-1, "")
$Exit = GUICtrlCreateButton("Exit", 128, 232, 129, 33, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
$Liste1 = $Player[0][0] & @crlf & $Player[2][0] & @crlf & $Player[4][0] & @crlf & $Player[6][0] & @crlf & $Player[8][0]
$Liste2 = $Player[1][0] & @crlf & $Player[3][0] & @crlf & $Player[5][0] & @crlf & $Player[7][0] & @crlf & $Player[9][0]
GUICtrlSetData($Edit2,$Liste1)
GUICtrlSetData($Edit3,$Liste2)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
case $Exit
Exit
EndSwitch
WEnd
EndFunc
func _error()
if $error = 0 then $error = 1
EndFunc