Teamcreator by TimoIT

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

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <Array.au3>

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

    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()

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

    case $Button2
    _Clear()

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

    case $Button3
    if $Player[0][0] <> "" then
    $Team[0] = GUICtrlRead($Input1)
    $Team[1] = GUICtrlRead($Input2)
    _Generate()
    EndIf
    EndSwitch
    WEnd

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

    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

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

    Else
    MsgBox(16,"Team Creator","max. 10 Players")
    EndIf
    endfunc

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

    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

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

    func _error()
    if $error = 0 then $error = 1
    EndFunc

    [/autoit]
  • Woher weiß man denn dass der eine Spieler besser / schlechter ist ?
    Bzw - Woher weiß dass dein Teil ?

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

  • Ich tippe er meint mit "gleichstark" nur die Personenanzahl.

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Also ich finde die Idee gut, probiere ich Morgen mal aus. Vorschlag: Bau noch sowas ein wie "Playerskill von 1-10" und berücksichtige die Eingabe dann um gleich starke Teams zu bekommen. Man kann die ja dann einfach so zs stellen, dass die geringste Differenz rauskommt.