Das Spiel Tabu

  • Hallo Community,
    Ich bin erst neu in Autoit und hab mit gleich schon mal an einem kleinen Projekt versucht, komme jetzt aber nicht wirklich weiter.

    Ich habe mich an dem Spiel Tabu versucht und habe denk ich mal einen ganz guten anfang gemacht.
    Was ich selber weis ist das Die bennung der Variablen und der Aufbau der Scriptes noch etwas chaotisch ist.

    Bugs:
    Wenn man Start drückt Change er dirket das erste mal das Team.
    Die Position wo der Figuren hin kommen müssten noch angepasst werden.

    joar es wird bestimmt noch emhr bugs geben die ich mir grade nich einfallen.
    Ich überlasse euch das Script.
    Alle Bilder sind selber gemacht. Die icons nicht.
    Wem das Dortmund Desgin nich gefällt muss es halt ändern^^

    Spoiler anzeigen
    [autoit]

    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    Global $iPunktestandBlau, $iPunktestandRot, $iErgebniss, $i, $iImage1
    Global $t = 30
    Dim $Team[2]
    $Team[0] = "Rot"
    $Team[1] = "BLau"

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

    $GUI = GUICreate("Spielbrett", @DesktopWidth, @DesktopHeight, 0, 0, BitOR($WS_MINIMIZEBOX,$WS_POPUP,$WS_GROUP), BitOR($WS_EX_TOPMOST,$WS_EX_WINDOWEDGE))
    $Pic1 = GUICtrlCreatePic(@ScriptDir & "\Material\Spielbrett-Material\Spielbrett-Feld.bmp", 25, 25, 100, 150)
    $Pic1 = GUICtrlCreatePic(@ScriptDir & "\Material\Spielbrett-Material\Spielbrett-Feld.bmp", 25, 175, 100, 150)
    $Pic1 = GUICtrlCreatePic(@ScriptDir & "\Material\Spielbrett-Material\Spielbrett-Feld.bmp", 25, 325, 100, 150)
    $Pic1 = GUICtrlCreatePic(@ScriptDir & "\Material\Spielbrett-Material\Spielbrett-Feld.bmp", 25, 475, 100, 150)
    $Pic1 = GUICtrlCreatePic(@ScriptDir & "\Material\Spielbrett-Material\Spielbrett-Feld.bmp", 25, 625, 100, 150)
    $Pic1 = GUICtrlCreatePic(@ScriptDir & "\Material\Spielbrett-Material\Spielbrett-Ecke.bmp", 25, 775, 175, 175)
    $Pic1 = GUICtrlCreatePic(@ScriptDir & "\Material\Spielbrett-Material\Spielbrett-Feld-quer.bmp", 200, 851, 150, 100)
    $Pic1 = GUICtrlCreatePic(@ScriptDir & "\Material\Spielbrett-Material\Spielbrett-Feld-quer.bmp", 350, 851, 150, 100)
    $Pic1 = GUICtrlCreatePic(@ScriptDir & "\Material\Spielbrett-Material\Spielbrett-Feld-quer.bmp", 500, 851, 150, 100)
    $Pic1 = GUICtrlCreatePic(@ScriptDir & "\Material\Spielbrett-Material\Spielbrett-Ecke2.bmp", 650, 775, 175, 175)
    $Pic1 = GUICtrlCreatePic(@ScriptDir & "\Material\Spielbrett-Material\Spielbrett-Feld2.bmp", 725, 626, 100, 150)
    $Pic1 = GUICtrlCreatePic(@ScriptDir & "\Material\Spielbrett-Material\Spielbrett-Feld2.bmp", 725, 476, 100, 150)
    $Pic1 = GUICtrlCreatePic(@ScriptDir & "\Material\Spielbrett-Material\Spielbrett-Feld2.bmp", 725, 326, 100, 150)
    $Pic1 = GUICtrlCreatePic(@ScriptDir & "\Material\Spielbrett-Material\Spielbrett-Feld2.bmp", 725, 176, 100, 150)
    $Pic1 = GUICtrlCreatePic(@ScriptDir & "\Material\Spielbrett-Material\Spielbrett-Ecke3.bmp", 650, 1, 175, 175)
    $Pic1 = GUICtrlCreatePic(@ScriptDir & "\Material\Spielbrett-Material\Spielbrett-Feld-quer1.bmp", 502, 1, 150, 100)
    $Pic1 = GUICtrlCreatePic(@ScriptDir & "\Material\Spielbrett-Material\Spielbrett-Ecke4.bmp", 327, 1, 175, 175)
    $Pic1 = GUICtrlCreatePic(@ScriptDir & "\Material\Spielbrett-Material\Spielbrett-Hintergrund.bmp", 230, 300, 374, 363)
    $Pic2 = GUICtrlCreatePic(@ScriptDir & "\Richtig.bmp", 900, 600, 100, 190)
    $Pic3 = GUICtrlCreatePic(@ScriptDir & "\Falsch.bmp", 1100, 600, 100, 190)
    $Label5 = GUICtrlCreateLabel("0", 900, 790, 100, 20)
    $Label6 = GUICtrlCreateLabel("0", 1100, 790, 100, 20)
    $Btn2 = GUICtrlCreateButton("Rot", 50,75)
    $Btn3 = GUICtrlCreateButton("Blau", 50,75)
    $Btn4 = GUICtrlCreateButton("Start", 950,75)
    $Label1 = GUICtrlCreateLabel("Team: " & $Team[0] & " ist dran!", 1030,100)
    $Label2 = GUICtrlCreateLabel("Team Rot hat: 0 punkte", 1030,150)
    $Label3 = GUICtrlCreateLabel("Team Blau Hat: 0 punkte", 1030,200)
    $Label4 = GUICtrlCreateLabel("Countdown: 30", 1030,250)
    $iInput = GUICtrlCreateInput("", 1036, 50)
    $Button_Stop = GUICtrlCreateIcon(@ScriptDir &"\Material\Button-Material\Button-Stop-ungedrückt.ico", -1, 1000,400, 128, 128)
    GUISetState(@SW_SHOW)

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

    #region Dim $iPos
    Dim $iPos[18][3]
    $iPos[0][1] =25
    $iPos[0][2] =25
    $iPos[1][1] =25
    $iPos[1][2] =175
    $iPos[2][1] =25
    $iPos[2][2] =325
    $iPos[3][1] =25
    $iPos[3][2] =475
    $iPos[4][1] =25
    $iPos[4][2] =625
    $iPos[5][1] =25
    $iPos[5][2] =775
    $iPos[6][1] =200
    $iPos[6][2] =851
    $iPos[7][1] = 350
    $iPos[7][2] = 851
    $iPos[8][1] = 500
    $iPos[8][2] = 851
    $iPos[9][1] = 650
    $iPos[9][2] = 775
    $iPos[10][1] = 725
    $iPos[10][2] = 626
    $iPos[11][1] = 725
    $iPos[11][2] = 476
    $iPos[12][1] = 725
    $iPos[12][2] = 326
    $iPos[13][1] = 725
    $iPos[13][2] = 176
    $iPos[14][1] = 650
    $iPos[14][2] = 1
    $iPos[15][1] = 502
    $iPos[15][2] = 1
    $iPos[16][1] = 327
    $iPos[16][2] = 1
    $iPos[17][1] = 230
    $iPos[17][2] = 300
    #endregion Dim $iPos

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $btn4
    GUICtrlSetData($Label5 & $Label6, "0")
    AdlibRegister("_countdown", 1000)
    If $i = 0 Then
    _Update_TeamRot()
    Else
    _Update_TeamBlau()
    EndIf
    Case $Button_Stop
    GUICtrlDelete($iImage1)
    $iImage = GUICtrlSetImage($Button_Stop, @ScriptDir & "\Material\Button-Material\Button-Stop-gedrückt.ico")
    SoundPlay(@ScriptDir & "\Material\Button-Material\Button-Sound.wav")
    Sleep(700)
    GUICtrlDelete($iImage)
    $iImage1 = GUICtrlSetImage($Button_Stop,@ScriptDir & "\Material\Button-Material\Button-Stop-ungedrückt.ico")
    Case $Pic2
    _Begriff_Richtig()
    Case $Pic3
    _Begriff_Falsch()
    EndSwitch
    WEnd

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

    Func _Update_TeamRot()
    $iNewPunktestandRotRichtig = GUICtrlRead($Label5)
    $iNewPunktestandRotFalsch = GUICtrlRead($Label6)
    $iNewPunktestandRot = $iNewPunktestandROtRichtig - $iNewPunktestandRotFalsch
    $iPunktestandRot = $iNewPunktestandrot + $iPunktestandrot
    GUICtrlSetPos($btn2, $iPos[$iPunktestandRot][1]+25, $iPos[$iPunktestandRot][2]+50)
    $i = $i +1
    GUICtrlSetData($Label1, "Team: " & $Team[$i] & " ist dran!")
    GUICtrlSetData($Label2, "Team Rot hat: " & $iPunktestandRot & " punkte")
    EndFunc

    Func _Update_TeamBlau()
    $iNewPunktestandBlauRichtig = GUICtrlRead($Label5)
    $iNewPunktestandBlauFalsch = GUICtrlRead($Label6)
    $iNewPunktestandBlau = $iNewPunktestandBlauRichtig - $iNewPunktestandBlauFalsch
    $iPunktestandBlau = $iNewPunktestandBlau + $iPunktestandBlau
    GUICtrlSetPos($btn3, $iPos[$iPunktestandBlau][1]+25, $iPos[$iPunktestandBlau][2]+50)
    $i = 0
    GUICtrlSetData($Label1, "Team: " & $Team[$i] & " ist dran!")
    GUICtrlSetData($Label3, "Team Blau hat: " & $iPunktestandBlau & " punkte")
    EndFunc

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

    Func _countdown()
    $t = $t -1
    GUICtrlSetData($Label4, "Countdown:" & $t)
    If $t = 0 Then
    AdlibUnRegister("_countdown")
    EndIf
    EndFunc

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

    Func _Begriff_Richtig()
    $iRichtigeBegriffe = GUICtrlRead($Label5) +1
    GUICtrlSetData($Label5, $iRichtigeBegriffe)
    EndFunc

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

    Func _Begriff_Falsch()
    $iFalscheBegriffe = GUICtrlRead($Label6) +1
    GUICtrlSetData($Label6, $iFalscheBegriffe)
    EndFunc

    [/autoit]

    MFG fghjtu

  • Hi,
    das Design deines Spielebrettes macht für Dortmundfans sicherlich einiges her.
    Leider ist die Guibereich mit dem Input, den Labels und dem "Buzzer" eigentlich das Gegenteil davon.
    Der Input sowie der "Buzzer" haben keinerlei Beschriftungen, genauso wenig wie der Hacken und das Kreuz unten.
    Ich verstehe leider so überhaupt nicht, wie das Spiel zu spielen ist, daa ich beim Spielen keine Ahnung hatte, was zu tun ist.
    Mit was muss der Input gefüllt werden?
    Wann muss die Starttaste gedrückt werden?
    Wann der Buzzer?
    Wie erlangen die Teams Punkte?
    Sind Spielfiguren Buttons zum Drücken, bzw. hat das Betätigen irgendeinen Zweck?

    Das Spiel ist so nicht schlecht hergemacht und macht auch bestimmt Spaß, nur wäre irgendeine Erläuterung oder ein Label, das angibt was zu tun ist, doch sehr sehr hilfreich ;) .