Problem bei Random()

  • Hi,


    ich brauche eure Hilfe...

    Ich möchte mit der Funktion Random() die Zahlen einer Array ändern.


    Spoiler anzeigen
    [autoit]

    Func _NextDay()
    Local $NumAkt1, $NumAkt21
    If IsNumber($Aktienpreis[0]) Then
    $NumAkt1 = $Aktienpreis[0] - ($Aktienpreis[0] * 10 / 100)
    $NumAkt21 = $Aktienpreis[0] + ($Aktienpreis[0] * 10 / 100)
    $NewAkt1 = Random($NumAkt1, $NumAkt21)
    $NewAkt1Rnd = Round($NewAkt1, 2)
    $NewAkt1Rnd = $Aktienpreis[0]
    GUICtrlSetData($LblAkt1, "Aktie 1: " & $Aktienpreis[0] & "€")
    EndIf
    $NewAkt2 = Random($Aktienpreis[1] - ($Aktienpreis[1] * 10 / 100), $Aktienpreis[1] + ($Aktienpreis[1] * 10 / 100))
    $NewAkt2Rnd = Round($NewAkt2, 2)
    $NewAkt2Rnd = $Aktienpreis[1]
    GUICtrlSetData($LblAkt1, "Aktie 2: " & $Aktienpreis[1] & "€")
    $NewAkt3 = Random($Aktienpreis[2] - ($Aktienpreis[2] * 10 / 100), $Aktienpreis[2] + ($Aktienpreis[2] * 10 / 100))
    $NewAkt3Rnd = Round($NewAkt3, 2)
    $NewAkt3Rnd = $Aktienpreis[0]
    GUICtrlSetData($LblAkt1, "Aktie 3: " & $Aktienpreis[2] & "€")
    $NewAkt4 = Random($Aktienpreis[3] - ($Aktienpreis[3] * 10 / 100), $Aktienpreis[3] + ($Aktienpreis[3] * 10 / 100))
    $NewAkt4Rnd = Round($NewAkt4, 2)
    $NewAkt4Rnd = $Aktienpreis[0]
    GUICtrlSetData($LblAkt1, "Aktie 4: " & $Aktienpreis[3] & "€")
    $NewAkt5 = Random($Aktienpreis[4] - ($Aktienpreis[4] * 10 / 100), $Aktienpreis[4] + ($Aktienpreis[4] * 10 / 100))
    $NewAkt5Rnd = Round($NewAkt5, 2)
    $NewAkt5Rnd = $Aktienpreis[0]
    GUICtrlSetData($LblAkt1, "Aktie 5: " & $Aktienpreis[4] & "€")
    $NewAkt6 = Random($Aktienpreis[5] - ($Aktienpreis[5] * 10 / 100), $Aktienpreis[5] + ($Aktienpreis[5] * 10 / 100))
    $NewAkt6Rnd = Round($NewAkt6, 2)
    $NewAkt6Rnd = $Aktienpreis[0]
    GUICtrlSetData($LblAkt1, "Aktie 6: " & $Aktienpreis[5] & "€")
    $NewAkt7 = Random($Aktienpreis[6] - ($Aktienpreis[6] * 10 / 100), $Aktienpreis[6] + ($Aktienpreis[6] * 10 / 100))
    $NewAkt7Rnd = Round($NewAkt7, 2)
    $NewAkt7Rnd = $Aktienpreis[0]
    GUICtrlSetData($LblAkt1, "Aktie 7: " & $Aktienpreis[6] & "€")
    $NewAkt8 = Random($Aktienpreis[7] - ($Aktienpreis[7] * 10 / 100), $Aktienpreis[7] + ($Aktienpreis[7] * 10 / 100))
    $NewAkt8Rnd = Round($NewAkt8, 2)
    $NewAkt8Rnd = $Aktienpreis[0]
    GUICtrlSetData($LblAkt1, "Aktie 8: " & $Aktienpreis[7] & "€")
    $NewAkt9 = Random($Aktienpreis[8] - ($Aktienpreis[8] * 10 / 100), $Aktienpreis[8] + ($Aktienpreis[8] * 10 / 100))
    $NewAkt9Rnd = Round($NewAkt9, 2)
    $NewAkt9Rnd = $Aktienpreis[0]
    GUICtrlSetData($LblAkt1, "Aktie 9: " & $Aktienpreis[8] & "€")
    $NewAkt10 = Random($Aktienpreis[9] - ($Aktienpreis[9] * 10 / 100), $Aktienpreis[9] + ($Aktienpreis[9] * 10 / 100))
    $NewAkt10Rnd = Round($NewAkt10, 2)
    $NewAkt10Rnd = $Aktienpreis[0]
    GUICtrlSetData($LblAkt1, "Aktie 10: " & $Aktienpreis[9] & "€")
    $NewAkt11 = Random($Aktienpreis[10] - ($Aktienpreis[10] * 10 / 100), $Aktienpreis[10] + ($Aktienpreis[10] * 10 / 100))
    $NewAkt11Rnd = Round($NewAkt11, 2)
    $NewAkt11Rnd = $Aktienpreis[0]
    GUICtrlSetData($LblAkt1, "Aktie 11: " & $Aktienpreis[10] & "€")
    $NewAkt12 = Random($Aktienpreis[11] - ($Aktienpreis[11] * 10 / 100), $Aktienpreis[11] + ($Aktienpreis[11] * 10 / 100))
    $NewAkt12Rnd = Round($NewAkt12, 2)
    $NewAkt12Rnd = $Aktienpreis[0]
    GUICtrlSetData($LblAkt1, "Aktie 12: " & $Aktienpreis[11] & "€")
    $NewAkt13 = Random($Aktienpreis[12] - ($Aktienpreis[12] * 10 / 100), $Aktienpreis[12] + ($Aktienpreis[12] * 10 / 100))
    $NewAkt13Rnd = Round($NewAkt13, 2)
    $NewAkt13Rnd = $Aktienpreis[0]
    GUICtrlSetData($LblAkt1, "Aktie 13: " & $Aktienpreis[12] & "€")
    $NewAkt14 = Random($Aktienpreis[13] - ($Aktienpreis[13] * 10 / 100), $Aktienpreis[13] + ($Aktienpreis[13] * 10 / 100))
    $NewAkt14Rnd = Round($NewAkt14, 2)
    $NewAkt14Rnd = $Aktienpreis[0]
    GUICtrlSetData($LblAkt1, "Aktie 14: " & $Aktienpreis[13] & "€")
    $NewAkt15 = Random($Aktienpreis[14] - ($Aktienpreis[14] * 10 / 100), $Aktienpreis[14] + ($Aktienpreis[14] * 10 / 100))
    $NewAkt15Rnd = Round($NewAkt15, 2)
    $NewAkt15Rnd = $Aktienpreis[0]
    GUICtrlSetData($LblAkt1, "Aktie 15: " & $Aktienpreis[14] & "€")
    $NewAkt16 = Random($Aktienpreis[15] - ($Aktienpreis[15] * 10 / 100), $Aktienpreis[15] + ($Aktienpreis[15] * 10 / 100))
    $NewAkt16Rnd = Round($NewAkt16, 2)
    $NewAkt16Rnd = $Aktienpreis[0]
    GUICtrlSetData($LblAkt1, "Aktie 16: " & $Aktienpreis[15] & "€")
    $NewAkt17 = Random($Aktienpreis[15] - ($Aktienpreis[16] * 10 / 100), $Aktienpreis[15] + ($Aktienpreis[15] * 10 / 100))
    $NewAkt17Rnd = Round($NewAkt16, 2)
    $NewAkt17Rnd = $Aktienpreis[0]
    GUICtrlSetData($LblAkt1, "Aktie 17: " & $Aktienpreis[16] & "€")
    $NewAkt18 = Random($Aktienpreis[15] - ($Aktienpreis[17] * 10 / 100), $Aktienpreis[15] + ($Aktienpreis[15] * 10 / 100))
    $NewAkt18Rnd = Round($NewAkt16, 2)
    $NewAkt18Rnd = $Aktienpreis[0]
    GUICtrlSetData($LblAkt1, "Aktie 18: " & $Aktienpreis[17] & "€")
    $NewAkt19 = Random($Aktienpreis[15] - ($Aktienpreis[18] * 10 / 100), $Aktienpreis[15] + ($Aktienpreis[15] * 10 / 100))
    $NewAkt19Rnd = Round($NewAkt16, 2)
    $NewAkt19Rnd = $Aktienpreis[0]
    GUICtrlSetData($LblAkt1, "Aktie 19: " & $Aktienpreis[18] & "€")
    $NewAkt20 = Random($Aktienpreis[15] - ($Aktienpreis[19] * 10 / 100), $Aktienpreis[15] + ($Aktienpreis[15] * 10 / 100))
    $NewAkt20Rnd = Round($NewAkt16, 2)
    $NewAkt20Rnd = $Aktienpreis[0]
    GUICtrlSetData($LblAkt1, "Aktie 20: " & $Aktienpreis[19] & "€")
    EndFunc

    [/autoit]


    Falls ihr meinen ganzen Code braucht, hier ist er:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <Array.au3>
    Global $Aktienpreis[20]
    $Aktienpreis[0] = 5
    $Aktienpreis[1] = 5
    $Aktienpreis[2] = 10
    $Aktienpreis[3] = 10
    $Aktienpreis[4] = 15
    $Aktienpreis[5] = 20
    $Aktienpreis[6] = 25
    $Aktienpreis[7] = 25
    $Aktienpreis[8] = 30
    $Aktienpreis[9] = 35
    $Aktienpreis[10] = 40
    $Aktienpreis[11] = 45
    $Aktienpreis[12] = 50
    $Aktienpreis[13] = 50
    $Aktienpreis[14] = 50
    $Aktienpreis[15] = 60
    $Aktienpreis[16] = 75
    $Aktienpreis[17] = 75
    $Aktienpreis[18] = 85
    $Aktienpreis[19] = 100
    Global $Geldstand = 1000
    Global $AktienBesitz[20]
    $AktienBesitz[0] = 0
    $AktienBesitz[1] = 0
    $AktienBesitz[2] = 0
    $AktienBesitz[3] = 0
    $AktienBesitz[4] = 0
    $AktienBesitz[5] = 0
    $AktienBesitz[6] = 0
    $AktienBesitz[7] = 0
    $AktienBesitz[8] = 0
    $AktienBesitz[9] = 0
    $AktienBesitz[10] = 0
    $AktienBesitz[11] = 0
    $AktienBesitz[12] = 0
    $AktienBesitz[13] = 0
    $AktienBesitz[14] = 0
    $AktienBesitz[15] = 0
    $AktienBesitz[16] = 0
    $AktienBesitz[17] = 0
    $AktienBesitz[18] = 0
    $AktienBesitz[19] = 0

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

    #region ### START Koda GUI section ### Form=c:\alex\koda form designer\aktien simulator.kxf
    $Form1_1 = GUICreate("Aktien Simulator", 642, 689, 614, 50, $WS_MAXIMIZE)
    $LblAkt1 = GUICtrlCreateLabel("Aktie 1: " & $Aktienpreis[0] & "€", 40, 80, 132, 17)
    $LblAkt2 = GUICtrlCreateLabel("Aktie 2: " & $Aktienpreis[1] & "€", 40, 112, 132, 17)
    $LblAkt3 = GUICtrlCreateLabel("Aktie 3: " & $Aktienpreis[2] & "€", 40, 144, 132, 17)
    $LblAkt4 = GUICtrlCreateLabel("Aktie 4: " & $Aktienpreis[3] & "€", 40, 176, 132, 17)
    $LblAkt5 = GUICtrlCreateLabel("Aktie 5: " & $Aktienpreis[4] & "€", 40, 208, 132, 17)
    $LblAkt6 = GUICtrlCreateLabel("Aktie 6: " & $Aktienpreis[5] & "€", 40, 240, 132, 17)
    $LblAkt7 = GUICtrlCreateLabel("Aktie 7: " & $Aktienpreis[6] & "€", 40, 272, 132, 17)
    $LblAkt8 = GUICtrlCreateLabel("Aktie 8: " & $Aktienpreis[7] & "€", 40, 304, 132, 17)
    $LblAkt9 = GUICtrlCreateLabel("Aktie 9: " & $Aktienpreis[8] & "€", 40, 336, 132, 17)
    $LblAkt10 = GUICtrlCreateLabel("Aktie 10: " & $Aktienpreis[9] & "€", 40, 368, 130, 17)
    $LblAkt11 = GUICtrlCreateLabel("Aktie 11: " & $Aktienpreis[10] & "€", 664, 80, 130, 17)
    $LblAkt12 = GUICtrlCreateLabel("Aktie 12: " & $Aktienpreis[11] & "€", 664, 112, 130, 17)
    $LblAkt13 = GUICtrlCreateLabel("Aktie 13: " & $Aktienpreis[12] & "€", 664, 144, 130, 17)
    $LblAkt14 = GUICtrlCreateLabel("Aktie 14: " & $Aktienpreis[13] & "€", 664, 176, 130, 17)
    $LblAkt15 = GUICtrlCreateLabel("Aktie 15: " & $Aktienpreis[14] & "€", 664, 208, 130, 17)
    $LblAkt16 = GUICtrlCreateLabel("Aktie 16: " & $Aktienpreis[15] & "€", 664, 240, 130, 17)
    $LblAkt17 = GUICtrlCreateLabel("Aktie 17: " & $Aktienpreis[16] & "€", 664, 272, 130, 17)
    $LblAkt18 = GUICtrlCreateLabel("Aktie 18: " & $Aktienpreis[17] & "€", 664, 304, 130, 17)
    $LblAkt19 = GUICtrlCreateLabel("Aktie 19: " & $Aktienpreis[18] & "€", 664, 336, 130, 17)
    $LblAkt20 = GUICtrlCreateLabel("Aktie 20: " & $Aktienpreis[19] & "€", 664, 368, 138, 17)
    $IptKfAkt1 = GUICtrlCreateInput("1", 192, 80, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $IptKfAkt2 = GUICtrlCreateInput("1", 192, 112, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $IptKfAkt3 = GUICtrlCreateInput("1", 192, 144, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $IptKfAkt4 = GUICtrlCreateInput("1", 192, 176, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $IptKfAkt5 = GUICtrlCreateInput("1", 192, 208, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $IptKfAkt6 = GUICtrlCreateInput("1", 192, 240, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $IptKfAkt7 = GUICtrlCreateInput("1", 192, 272, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $IptKfAkt8 = GUICtrlCreateInput("1", 192, 304, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $IptKfAkt9 = GUICtrlCreateInput("1", 192, 336, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $IptKfAkt10 = GUICtrlCreateInput("1", 192, 368, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $IptKfAkt11 = GUICtrlCreateInput("1", 816, 80, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $IptKfAkt12 = GUICtrlCreateInput("1", 816, 112, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $IptKfAkt13 = GUICtrlCreateInput("1", 816, 144, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $IptKfAkt14 = GUICtrlCreateInput("1", 816, 176, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $IptKfAkt15 = GUICtrlCreateInput("1", 816, 208, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $IptKfAkt16 = GUICtrlCreateInput("1", 816, 240, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $IptKfAkt17 = GUICtrlCreateInput("1", 816, 272, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $IptKfAkt18 = GUICtrlCreateInput("1", 816, 304, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $IptKfAkt19 = GUICtrlCreateInput("1", 816, 336, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $IptKfAkt20 = GUICtrlCreateInput("1", 816, 368, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $BtnKfAkt1 = GUICtrlCreateButton("Kaufen", 336, 80, 75, 25)
    $BtnKfAkt2 = GUICtrlCreateButton("Kaufen", 336, 112, 75, 25)
    $BtnKfAkt3 = GUICtrlCreateButton("Kaufen", 336, 144, 75, 25)
    $BtnKfAkt4 = GUICtrlCreateButton("Kaufen", 336, 176, 75, 25)
    $BtnKfAkt5 = GUICtrlCreateButton("Kaufen", 336, 208, 75, 25)
    $BtnKfAkt6 = GUICtrlCreateButton("Kaufen", 336, 240, 75, 25)
    $BtnKfAkt7 = GUICtrlCreateButton("Kaufen", 336, 272, 75, 25)
    $BtnKfAkt8 = GUICtrlCreateButton("Kaufen", 336, 304, 75, 25)
    $BtnKfAkt9 = GUICtrlCreateButton("Kaufen", 336, 336, 75, 25)
    $BtnKfAkt10 = GUICtrlCreateButton("Kaufen", 336, 368, 75, 25)
    $BtnKfAkt11 = GUICtrlCreateButton("Kaufen", 960, 80, 75, 25)
    $BtnKfAkt12 = GUICtrlCreateButton("Kaufen", 960, 112, 75, 25)
    $BtnKfAkt13 = GUICtrlCreateButton("Kaufen", 960, 144, 75, 25)
    $BtnKfAkt14 = GUICtrlCreateButton("Kaufen", 960, 176, 75, 25)
    $BtnKfAkt15 = GUICtrlCreateButton("Kaufen", 960, 208, 75, 25)
    $BtnKfAkt16 = GUICtrlCreateButton("Kaufen", 960, 240, 75, 25)
    $BtnKfAkt17 = GUICtrlCreateButton("Kaufen", 960, 272, 75, 25)
    $BtnKfAkt18 = GUICtrlCreateButton("Kaufen", 960, 304, 75, 25)
    $BtnKfAkt19 = GUICtrlCreateButton("Kaufen", 960, 336, 75, 25)
    $BtnKfAkt20 = GUICtrlCreateButton("Kaufen", 960, 368, 75, 25)
    $IptVkAkt11 = GUICtrlCreateInput("1", 1053, 80, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $IptVkAkt12 = GUICtrlCreateInput("1", 1053, 112, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $IptVkAkt13 = GUICtrlCreateInput("1", 1053, 144, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $IptVkAkt14 = GUICtrlCreateInput("1", 1053, 176, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $IptVkAkt15 = GUICtrlCreateInput("1", 1053, 208, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $IptVkAkt16 = GUICtrlCreateInput("1", 1053, 240, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $IptVkAkt17 = GUICtrlCreateInput("1", 1053, 272, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $IptVkAkt18 = GUICtrlCreateInput("1", 1053, 304, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $IptVkAkt19 = GUICtrlCreateInput("1", 1053, 336, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $IptVkAkt20 = GUICtrlCreateInput("1", 1053, 368, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $IptVkAkt1 = GUICtrlCreateInput("1", 450, 80, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $IptVkAkt2 = GUICtrlCreateInput("1", 450, 112, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $IptVkAkt3 = GUICtrlCreateInput("1", 450, 144, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $IptVkAkt4 = GUICtrlCreateInput("1", 450, 176, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $IptVkAkt5 = GUICtrlCreateInput("1", 450, 208, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $IptVkAkt6 = GUICtrlCreateInput("1", 450, 240, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $IptVkAkt7 = GUICtrlCreateInput("1", 450, 272, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $IptVkAkt8 = GUICtrlCreateInput("1", 450, 304, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $IptVkAkt9 = GUICtrlCreateInput("1", 450, 336, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $IptVkAkt10 = GUICtrlCreateInput("1", 450, 368, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_NUMBER))
    $BtnVkAkt1 = GUICtrlCreateButton("Verkaufen", 576, 80, 75, 25)
    $BtnVkAkt2 = GUICtrlCreateButton("Verkaufen", 576, 112, 75, 25)
    $BtnVkAkt3 = GUICtrlCreateButton("Verkaufen", 576, 144, 75, 25)
    $BtnVkAkt4 = GUICtrlCreateButton("Verkaufen", 576, 176, 75, 25)
    $BtnVkAkt5 = GUICtrlCreateButton("Verkaufen", 576, 208, 75, 25)
    $BtnVkAkt6 = GUICtrlCreateButton("Verkaufen", 576, 240, 75, 25)
    $BtnVkAkt7 = GUICtrlCreateButton("Verkaufen", 576, 272, 75, 25)
    $BtnVkAkt8 = GUICtrlCreateButton("Verkaufen", 576, 304, 75, 25)
    $BtnVkAkt9 = GUICtrlCreateButton("Verkaufen", 576, 336, 75, 25)
    $BtnVkAkt10 = GUICtrlCreateButton("Verkaufen", 576, 368, 75, 25)
    $BtnVkAkt11 = GUICtrlCreateButton("Verkaufen", 1192, 80, 75, 25)
    $BtnVkAkt12 = GUICtrlCreateButton("Verkaufen", 1192, 112, 75, 25)
    $BtnVkAkt13 = GUICtrlCreateButton("Verkaufen", 1192, 144, 75, 25)
    $BtnVkAkt14 = GUICtrlCreateButton("Verkaufen", 1192, 176, 75, 25)
    $BtnVkAkt15 = GUICtrlCreateButton("Verkaufen", 1192, 208, 75, 25)
    $BtnVkAkt16 = GUICtrlCreateButton("Verkaufen", 1192, 240, 75, 25)
    $BtnVkAkt17 = GUICtrlCreateButton("Verkaufen", 1192, 272, 75, 25)
    $BtnVkAkt18 = GUICtrlCreateButton("Verkaufen", 1192, 304, 75, 25)
    $BtnVkAkt19 = GUICtrlCreateButton("Verkaufen", 1192, 336, 75, 25)
    $BtnVkAkt20 = GUICtrlCreateButton("Verkaufen", 1192, 368, 75, 25)
    $Lbl1 = GUICtrlCreateLabel("Hallo! Hier kannst du Aktien kaufen und verkaufen.", 40, 16, 1226, 33)
    $BtnExit = GUICtrlCreateButton("Beenden", 1287, 31)
    $BtnNextDay = GUICtrlCreateButton("Nächster Tag", 96, 440, 545, 41)
    $LblGeldStand = GUICtrlCreateLabel("Aktueller Geldstand: " &$Geldstand& "€", 574, 42)
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $BtnExit
    Exit
    Case $BtnKfAkt1
    $Akt1Ipt = GUICtrlRead($IptKfAkt1)
    $Akt1 = $Aktienpreis[0] * $Akt1Ipt
    If $Akt1 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt1
    For $i = 1 To $Akt1Ipt Step 1
    $AktienBesitz[0] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnKfAkt2
    $Akt2Ipt = GUICtrlRead($IptKfAkt2)
    $Akt2 = $Aktienpreis[1] * $Akt2Ipt
    If $Akt2 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt2
    For $i1 = 1 To $Akt2Ipt Step 1
    $AktienBesitz[1] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnKfAkt3
    $Akt3Ipt = GUICtrlRead($IptKfAkt3)
    $Akt3 = $Aktienpreis[2] * $Akt3Ipt
    If $Akt3 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt3
    For $i2 = 1 To $Akt3Ipt Step 1
    $AktienBesitz[2] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnKfAkt4
    $Akt4Ipt = GUICtrlRead($IptKfAkt4)
    $Akt4 = $Aktienpreis[3] * $Akt4Ipt
    If $Akt4 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt4
    For $i3 = 1 To $Akt4Ipt Step 1
    $AktienBesitz[3] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnKfAkt5
    $Akt5Ipt = GUICtrlRead($IptKfAkt5)
    $Akt5 = $Aktienpreis[4] * $Akt5Ipt
    If $Akt5 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt5
    For $i4 = 1 To $Akt5Ipt Step 1
    $AktienBesitz[4] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnKfAkt6
    $Akt6Ipt = GUICtrlRead($IptKfAkt6)
    $Akt6 = $Aktienpreis[5] * $Akt6Ipt
    If $Akt6 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt6
    For $i5 = 1 To $Akt6Ipt Step 1
    $AktienBesitz[5] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnKfAkt7
    $Akt7Ipt = GUICtrlRead($IptKfAkt7)
    $Akt7 = $Aktienpreis[6] * $Akt7Ipt
    If $Akt7 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt7
    For $i6 = 1 To $Akt7Ipt Step 1
    $AktienBesitz[6] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnKfAkt8
    $Akt8Ipt = GUICtrlRead($IptKfAkt
    $Akt8 = $Aktienpreis[7] * $Akt8Ipt
    If $Akt8 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt8
    For $i7 = 1 To $Akt8Ipt Step 1
    $AktienBesitz[7] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnKfAkt9
    $Akt9Ipt = GUICtrlRead($IptKfAkt9)
    $Akt9 = $Aktienpreis[8] * $Akt9Ipt
    If $Akt9 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt9
    For $i8 = 1 To $Akt9Ipt Step 1
    $AktienBesitz[8] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnKfAkt10
    $Akt10Ipt = GUICtrlRead($IptKfAkt10)
    $Akt10 = $Aktienpreis[9] * $Akt10Ipt
    If $Akt10 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt10
    For $i9 = 1 To $Akt10Ipt Step 1
    $AktienBesitz[9] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnKfAkt11
    $Akt11Ipt = GUICtrlRead($IptKfAkt11)
    $Akt11 = $Aktienpreis[10] * $Akt11Ipt
    If $Akt11 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt11
    For $i10 = 1 To $Akt11Ipt Step 1
    $AktienBesitz[10] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnKfAkt12
    $Akt12Ipt = GUICtrlRead($IptKfAkt12)
    $Akt12 = $Aktienpreis[11] * $Akt12Ipt
    If $Akt12 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt12
    For $i11 = 1 To $Akt12Ipt Step 1
    $AktienBesitz[11] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnKfAkt13
    $Akt13Ipt = GUICtrlRead($IptKfAkt13)
    $Akt13 = $Aktienpreis[12] * $Akt13Ipt
    If $Akt13 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt13
    For $i12 = 1 To $Akt13Ipt Step 1
    $AktienBesitz[12] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnKfAkt14
    $Akt14Ipt = GUICtrlRead($IptKfAkt14)
    $Akt14 = $Aktienpreis[13] * $Akt14Ipt
    If $Akt14 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt14
    For $i13 = 1 To $Akt14Ipt Step 1
    $AktienBesitz[13] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnKfAkt15
    $Akt15Ipt = GUICtrlRead($IptKfAkt15)
    $Akt15 = $Aktienpreis[14] * $Akt15Ipt
    If $Akt15 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt15
    For $i14 = 1 To $Akt15Ipt Step 1
    $AktienBesitz[14] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnKfAkt16
    $Akt16Ipt = GUICtrlRead($IptKfAkt16)
    $Akt16 = $Aktienpreis[15] * $Akt16Ipt
    If $Akt16 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt16
    For $i15 = 1 To $Akt16Ipt Step 1
    $AktienBesitz[15] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnKfAkt17
    $Akt17Ipt = GUICtrlRead($IptKfAkt17)
    $Akt17 = $Aktienpreis[16] * $Akt17Ipt
    If $Akt17 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt17
    For $i16 = 1 To $Akt17Ipt Step 1
    $AktienBesitz[16] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnKfAkt18
    $Akt18Ipt = GUICtrlRead($IptKfAkt1
    $Akt18 = $Aktienpreis[17] * $Akt18Ipt
    If $Akt18 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt18
    For $i17 = 1 To $Akt18Ipt Step 1
    $AktienBesitz[17] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnKfAkt19
    $Akt19Ipt = GUICtrlRead($IptKfAkt19)
    $Akt19 = $Aktienpreis[18] * $Akt19Ipt
    If $Akt19 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt19
    For $i18 = 1 To $Akt19Ipt Step 1
    $AktienBesitz[18] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnKfAkt20
    $Akt20Ipt = GUICtrlRead($IptKfAkt20)
    $Akt20 = $Aktienpreis[19] * $Akt20Ipt
    If $Akt20 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt20
    For $i19 = 1 To $Akt20Ipt Step 1
    $AktienBesitz[19] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt1
    $Akt1VkIpt = GUICtrlRead($IptVkAkt1)
    If $Akt1VkIpt > $AktienBesitz[0] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt1VkIpt = $AktienBesitz[0] Or $Akt1VkIpt < $AktienBesitz[0] Then
    For $ii = 1 To $Akt1VkIpt Step 1
    $Geldstand += $Aktienpreis[0]
    $AktienBesitz[0] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt2
    $Akt2VkIpt = GUICtrlRead($IptVkAkt2)
    If $Akt2VkIpt > $AktienBesitz[1] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt2VkIpt = $AktienBesitz[1] Or $Akt2VkIpt < $AktienBesitz[1] Then
    For $ii1 = 1 To $Akt2VkIpt Step 1
    $Geldstand += $Aktienpreis[1]
    $AktienBesitz[1] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt3
    $Akt3VkIpt = GUICtrlRead($IptVkAkt3)
    If $Akt3VkIpt > $AktienBesitz[2] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt3VkIpt = $AktienBesitz[2] Or $Akt3VkIpt < $AktienBesitz[2] Then
    For $ii2 = 1 To $Akt3VkIpt Step 1
    $Geldstand += $Aktienpreis[2]
    $AktienBesitz[2] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt4
    $Akt4VkIpt = GUICtrlRead($IptVkAkt4)
    If $Akt4VkIpt > $AktienBesitz[3] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt4VkIpt = $AktienBesitz[3] Or $Akt4VkIpt < $AktienBesitz[3] Then
    For $ii3 = 1 To $Akt4VkIpt Step 1
    $Geldstand += $Aktienpreis[3]
    $AktienBesitz[3] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt5
    $Akt5VkIpt = GUICtrlRead($IptVkAkt5)
    If $Akt5VkIpt > $AktienBesitz[4] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt5VkIpt = $AktienBesitz[4] Or $Akt5VkIpt < $AktienBesitz[4] Then
    For $ii4 = 1 To $Akt5VkIpt Step 1
    $Geldstand += $Aktienpreis[4]
    $AktienBesitz[4] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt6
    $Akt6VkIpt = GUICtrlRead($IptVkAkt6)
    If $Akt6VkIpt > $AktienBesitz[5] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt6VkIpt = $AktienBesitz[5] Or $Akt6VkIpt < $AktienBesitz[5] Then
    For $ii5 = 1 To $Akt6VkIpt Step 1
    $Geldstand += $Aktienpreis[5]
    $AktienBesitz[5] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt7
    $Akt7VkIpt = GUICtrlRead($IptVkAkt7)
    If $Akt7VkIpt > $AktienBesitz[6] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt7VkIpt = $AktienBesitz[6] Or $Akt7VkIpt < $AktienBesitz[6] Then
    For $ii6 = 1 To $Akt7VkIpt Step 1
    $Geldstand += $Aktienpreis[6]
    $AktienBesitz[6] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt8
    $Akt8VkIpt = GUICtrlRead($IptVkAkt
    If $Akt8VkIpt > $AktienBesitz[7] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt8VkIpt = $AktienBesitz[7] Or $Akt8VkIpt < $AktienBesitz[7] Then
    For $ii7 = 1 To $Akt8VkIpt Step 1
    $Geldstand += $Aktienpreis[7]
    $AktienBesitz[7] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt9
    $Akt9VkIpt = GUICtrlRead($IptVkAkt9)
    If $Akt9VkIpt > $AktienBesitz[8] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt9VkIpt = $AktienBesitz[8] Or $Akt9VkIpt < $AktienBesitz[8] Then
    For $ii8 = 1 To $Akt9VkIpt Step 1
    $Geldstand += $Aktienpreis[8]
    $AktienBesitz[8] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt10
    $Akt10VkIpt = GUICtrlRead($IptVkAkt10)
    If $Akt10VkIpt > $AktienBesitz[9] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt10VkIpt = $AktienBesitz[9] Or $Akt10VkIpt < $AktienBesitz[9] Then
    For $ii9 = 1 To $Akt10VkIpt Step 1
    $Geldstand += $Aktienpreis[9]
    $AktienBesitz[9] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt11
    $Akt11VkIpt = GUICtrlRead($IptVkAkt11)
    If $Akt11VkIpt > $AktienBesitz[10] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt11VkIpt = $AktienBesitz[10] Or $Akt11VkIpt < $AktienBesitz[10] Then
    For $ii10 = 1 To $Akt11VkIpt Step 1
    $Geldstand += $Aktienpreis[10]
    $AktienBesitz[10] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt12
    $Akt12VkIpt = GUICtrlRead($IptVkAkt12)
    If $Akt12VkIpt > $AktienBesitz[11] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt12VkIpt = $AktienBesitz[11] Or $Akt12VkIpt < $AktienBesitz[11] Then
    For $ii11 = 1 To $Akt12VkIpt Step 1
    $Geldstand += $Aktienpreis[11]
    $AktienBesitz[11] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt13
    $Akt13VkIpt = GUICtrlRead($IptVkAkt13)
    If $Akt13VkIpt > $AktienBesitz[12] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt13VkIpt = $AktienBesitz[12] Or $Akt13VkIpt < $AktienBesitz[12] Then
    For $ii12 = 1 To $Akt13VkIpt Step 1
    $Geldstand += $Aktienpreis[12]
    $AktienBesitz[12] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt14
    $Akt14VkIpt = GUICtrlRead($IptVkAkt14)
    If $Akt14VkIpt > $AktienBesitz[13] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt14VkIpt = $AktienBesitz[13] Or $Akt14VkIpt < $AktienBesitz[13] Then
    For $ii13 = 1 To $Akt14VkIpt Step 1
    $Geldstand += $Aktienpreis[13]
    $AktienBesitz[13] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt15
    $Akt15VkIpt = GUICtrlRead($IptVkAkt15)
    If $Akt15VkIpt > $AktienBesitz[14] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt15VkIpt = $AktienBesitz[14] Or $Akt15VkIpt < $AktienBesitz[14] Then
    For $ii14 = 1 To $Akt15VkIpt Step 1
    $Geldstand += $Aktienpreis[14]
    $AktienBesitz[14] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt16
    $Akt16VkIpt = GUICtrlRead($IptVkAkt16)
    If $Akt16VkIpt > $AktienBesitz[15] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt16VkIpt = $AktienBesitz[15] Or $Akt16VkIpt < $AktienBesitz[15] Then
    For $ii15 = 1 To $Akt16VkIpt Step 1
    $Geldstand += $Aktienpreis[15]
    $AktienBesitz[15] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt17
    $Akt17VkIpt = GUICtrlRead($IptVkAkt17)
    If $Akt17VkIpt > $AktienBesitz[16] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt17VkIpt = $AktienBesitz[16] Or $Akt17VkIpt < $AktienBesitz[16] Then
    For $ii16 = 1 To $Akt17VkIpt Step 1
    $Geldstand += $Aktienpreis[16]
    $AktienBesitz[16] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt18
    $Akt18VkIpt = GUICtrlRead($IptVkAkt1
    If $Akt18VkIpt > $AktienBesitz[17] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt18VkIpt = $AktienBesitz[17] Or $Akt18VkIpt < $AktienBesitz[17] Then
    For $ii17 = 1 To $Akt18VkIpt Step 1
    $Geldstand += $Aktienpreis[17]
    $AktienBesitz[17] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt19
    $Akt19VkIpt = GUICtrlRead($IptVkAkt19)
    If $Akt19VkIpt > $AktienBesitz[18] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt19VkIpt = $AktienBesitz[18] Or $Akt19VkIpt < $AktienBesitz[18] Then
    For $ii18 = 1 To $Akt19VkIpt Step 1
    $Geldstand += $Aktienpreis[18]
    $AktienBesitz[18] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt20
    $Akt20VkIpt = GUICtrlRead($IptVkAkt20)
    If $Akt20VkIpt > $AktienBesitz[19] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt20VkIpt = $AktienBesitz[19] Or $Akt20VkIpt < $AktienBesitz[19] Then
    For $ii19 = 1 To $Akt20VkIpt Step 1
    $Geldstand += $Aktienpreis[19]
    $AktienBesitz[19] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnNextDay
    _NextDay()
    EndSwitch
    WEnd

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

    Func _NextDay()
    Local $NumAkt1, $NumAkt21
    If IsNumber($Aktienpreis[0]) Then
    $NumAkt1 = $Aktienpreis[0] - ($Aktienpreis[0] * 10 / 100)
    $NumAkt21 = $Aktienpreis[0] + ($Aktienpreis[0] * 10 / 100)
    $NewAkt1 = Random($NumAkt1, $NumAkt21)
    $NewAkt1Rnd = Round($NewAkt1, 2)
    $NewAkt1Rnd = $Aktienpreis[0]
    GUICtrlSetData($LblAkt1, "Aktie 1: " & $Aktienpreis[0] & "€")
    EndIf
    $NewAkt2 = Random($Aktienpreis[1] - ($Aktienpreis[1] * 10 / 100), $Aktienpreis[1] + ($Aktienpreis[1] * 10 / 100))
    $NewAkt2Rnd = Round($NewAkt2, 2)
    $NewAkt2Rnd = $Aktienpreis[1]
    GUICtrlSetData($LblAkt1, "Aktie 2: " & $Aktienpreis[1] & "€")
    $NewAkt3 = Random($Aktienpreis[2] - ($Aktienpreis[2] * 10 / 100), $Aktienpreis[2] + ($Aktienpreis[2] * 10 / 100))
    $NewAkt3Rnd = Round($NewAkt3, 2)
    $NewAkt3Rnd = $Aktienpreis[0]
    GUICtrlSetData($LblAkt1, "Aktie 3: " & $Aktienpreis[2] & "€")
    $NewAkt4 = Random($Aktienpreis[3] - ($Aktienpreis[3] * 10 / 100), $Aktienpreis[3] + ($Aktienpreis[3] * 10 / 100))
    $NewAkt4Rnd = Round($NewAkt4, 2)
    $NewAkt4Rnd = $Aktienpreis[0]
    GUICtrlSetData($LblAkt1, "Aktie 4: " & $Aktienpreis[3] & "€")
    $NewAkt5 = Random($Aktienpreis[4] - ($Aktienpreis[4] * 10 / 100), $Aktienpreis[4] + ($Aktienpreis[4] * 10 / 100))
    $NewAkt5Rnd = Round($NewAkt5, 2)
    $NewAkt5Rnd = $Aktienpreis[0]
    GUICtrlSetData($LblAkt1, "Aktie 5: " & $Aktienpreis[4] & "€")
    $NewAkt6 = Random($Aktienpreis[5] - ($Aktienpreis[5] * 10 / 100), $Aktienpreis[5] + ($Aktienpreis[5] * 10 / 100))
    $NewAkt6Rnd = Round($NewAkt6, 2)
    $NewAkt6Rnd = $Aktienpreis[0]
    GUICtrlSetData($LblAkt1, "Aktie 6: " & $Aktienpreis[5] & "€")
    $NewAkt7 = Random($Aktienpreis[6] - ($Aktienpreis[6] * 10 / 100), $Aktienpreis[6] + ($Aktienpreis[6] * 10 / 100))
    $NewAkt7Rnd = Round($NewAkt7, 2)
    $NewAkt7Rnd = $Aktienpreis[0]
    GUICtrlSetData($LblAkt1, "Aktie 7: " & $Aktienpreis[6] & "€")
    $NewAkt8 = Random($Aktienpreis[7] - ($Aktienpreis[7] * 10 / 100), $Aktienpreis[7] + ($Aktienpreis[7] * 10 / 100))
    $NewAkt8Rnd = Round($NewAkt8, 2)
    $NewAkt8Rnd = $Aktienpreis[0]
    GUICtrlSetData($LblAkt1, "Aktie 8: " & $Aktienpreis[7] & "€")
    $NewAkt9 = Random($Aktienpreis[8] - ($Aktienpreis[8] * 10 / 100), $Aktienpreis[8] + ($Aktienpreis[8] * 10 / 100))
    $NewAkt9Rnd = Round($NewAkt9, 2)
    $NewAkt9Rnd = $Aktienpreis[0]
    GUICtrlSetData($LblAkt1, "Aktie 9: " & $Aktienpreis[8] & "€")
    $NewAkt10 = Random($Aktienpreis[9] - ($Aktienpreis[9] * 10 / 100), $Aktienpreis[9] + ($Aktienpreis[9] * 10 / 100))
    $NewAkt10Rnd = Round($NewAkt10, 2)
    $NewAkt10Rnd = $Aktienpreis[0]
    GUICtrlSetData($LblAkt1, "Aktie 10: " & $Aktienpreis[9] & "€")
    $NewAkt11 = Random($Aktienpreis[10] - ($Aktienpreis[10] * 10 / 100), $Aktienpreis[10] + ($Aktienpreis[10] * 10 / 100))
    $NewAkt11Rnd = Round($NewAkt11, 2)
    $NewAkt11Rnd = $Aktienpreis[0]
    GUICtrlSetData($LblAkt1, "Aktie 11: " & $Aktienpreis[10] & "€")
    $NewAkt12 = Random($Aktienpreis[11] - ($Aktienpreis[11] * 10 / 100), $Aktienpreis[11] + ($Aktienpreis[11] * 10 / 100))
    $NewAkt12Rnd = Round($NewAkt12, 2)
    $NewAkt12Rnd = $Aktienpreis[0]
    GUICtrlSetData($LblAkt1, "Aktie 12: " & $Aktienpreis[11] & "€")
    $NewAkt13 = Random($Aktienpreis[12] - ($Aktienpreis[12] * 10 / 100), $Aktienpreis[12] + ($Aktienpreis[12] * 10 / 100))
    $NewAkt13Rnd = Round($NewAkt13, 2)
    $NewAkt13Rnd = $Aktienpreis[0]
    GUICtrlSetData($LblAkt1, "Aktie 13: " & $Aktienpreis[12] & "€")
    $NewAkt14 = Random($Aktienpreis[13] - ($Aktienpreis[13] * 10 / 100), $Aktienpreis[13] + ($Aktienpreis[13] * 10 / 100))
    $NewAkt14Rnd = Round($NewAkt14, 2)
    $NewAkt14Rnd = $Aktienpreis[0]
    GUICtrlSetData($LblAkt1, "Aktie 14: " & $Aktienpreis[13] & "€")
    $NewAkt15 = Random($Aktienpreis[14] - ($Aktienpreis[14] * 10 / 100), $Aktienpreis[14] + ($Aktienpreis[14] * 10 / 100))
    $NewAkt15Rnd = Round($NewAkt15, 2)
    $NewAkt15Rnd = $Aktienpreis[0]
    GUICtrlSetData($LblAkt1, "Aktie 15: " & $Aktienpreis[14] & "€")
    $NewAkt16 = Random($Aktienpreis[15] - ($Aktienpreis[15] * 10 / 100), $Aktienpreis[15] + ($Aktienpreis[15] * 10 / 100))
    $NewAkt16Rnd = Round($NewAkt16, 2)
    $NewAkt16Rnd = $Aktienpreis[0]
    GUICtrlSetData($LblAkt1, "Aktie 16: " & $Aktienpreis[15] & "€")
    $NewAkt17 = Random($Aktienpreis[15] - ($Aktienpreis[16] * 10 / 100), $Aktienpreis[15] + ($Aktienpreis[15] * 10 / 100))
    $NewAkt17Rnd = Round($NewAkt16, 2)
    $NewAkt17Rnd = $Aktienpreis[0]
    GUICtrlSetData($LblAkt1, "Aktie 17: " & $Aktienpreis[16] & "€")
    $NewAkt18 = Random($Aktienpreis[15] - ($Aktienpreis[17] * 10 / 100), $Aktienpreis[15] + ($Aktienpreis[15] * 10 / 100))
    $NewAkt18Rnd = Round($NewAkt16, 2)
    $NewAkt18Rnd = $Aktienpreis[0]
    GUICtrlSetData($LblAkt1, "Aktie 18: " & $Aktienpreis[17] & "€")
    $NewAkt19 = Random($Aktienpreis[15] - ($Aktienpreis[18] * 10 / 100), $Aktienpreis[15] + ($Aktienpreis[15] * 10 / 100))
    $NewAkt19Rnd = Round($NewAkt16, 2)
    $NewAkt19Rnd = $Aktienpreis[0]
    GUICtrlSetData($LblAkt1, "Aktie 19: " & $Aktienpreis[18] & "€")
    $NewAkt20 = Random($Aktienpreis[15] - ($Aktienpreis[19] * 10 / 100), $Aktienpreis[15] + ($Aktienpreis[15] * 10 / 100))
    $NewAkt20Rnd = Round($NewAkt16, 2)
    $NewAkt20Rnd = $Aktienpreis[0]
    GUICtrlSetData($LblAkt1, "Aktie 20: " & $Aktienpreis[19] & "€")
    EndFunc

    [/autoit]


    Ich hoffe, dass ihr mir helfen könnt, denn sonst verzweifel ich... ;(


    Lg 19Alex99

  • Hi,
    ich weiss ja nicht was du jemals beruflich gemacht hast bzw. mal machen möchtest, aber programmieren gehört mal definitiv nicht dazu!
    Sog. "Codewalls" zu produzieren, die in einer Handvoll Zeilen unterzubringen sind, gehört zu eine Einstellung, die allem zuwieder läuft was in einem Forum wie bspw. diesem hier angedacht ist.
    Wenn dir nicht aufffällt, dass dein Problem nicht die Random()-Funktion ist, sondern hunderte Zeilen Code, die sich nur durch Kleinigkeiten unterscheiden und somit sich schon die Frage aufdrängt:"Wie kann man so etwas kürzer schreiben?", dann hast du ein ernsthaftes Problem.
    Antworten wirst du jedenfalls so sicher keine bis wenig befriedigende bekommen.
    Oder soll ich dir mal 60 Seiten Geschäftsbericht schicken mit dem Hinweis "Ich hoffe, dass du mir helfen kannst, denn sonst verzweifel ich"?

  • Danke für die schnellen Antworten!

    Nein, ich mache so etwas nicht beruflich und habe es auch nicht vor, Autoit ist "nur" mein Hobby.

    Arrays versuche ich, wenn möglich zu vermeiden, da ich mich nicht so gut mit ihnen auskenne.

    Ich weiß, dass der Script sehr lang ist, weiß aber nicht, wo ich ihn kürzen soll (z. B. Button gedrückt).

    Dann brauche ich eure Hilfe beim kürzen, da ich For...To...Step Schleifen zwar verstehe und anwenden kann, ich aber sie nicht in meinem Script einzusetzen weiß.


    EDIT:

    Hab jetzt eine Möglichkeit gefunden, For Schleifen einzusetzten:

    Spoiler anzeigen
    [autoit]

    $Form1 = GUICreate("Aktien Simulator", 642, 689, 614, 50, $WS_MAXIMIZE)
    For $i = 1 To 20 Step 1
    $Counter = 1
    $LblAkt&$Counter = GUICtrlCreateLabel("Aktie 1" &$AktienPreis[0]& " €", 40, 80 + $Counter * 32, 132, 17
    Next

    [/autoit]

    Das zwar wenigstens ein paar Zeilen, aber den großen Teil kann ich nicht ohne eure Hilfe kürzen.


    Lg 19Alex99

    Einmal editiert, zuletzt von 19Alex99 (3. November 2013 um 16:13)

  • Dann brauche ich eure Hilfe beim kürzen, da ich For...To...Step Schleifen zwar verstehe und anwenden kann, ich aber sie nicht in meinem Script einzusetzen weiß.


    Das liegt dann wahrscheinlich an deinem Vermeiden von Arrays. Hier findest du ein gutes Tutorial, vielleicht hilft dir das ja weiter.

  • Zitat
    [autoit]


    $LblAkt&$Counter

    [/autoit]


    Abgesehen davon, dass dieser Quellcode-Abschnitt nicht funktionsfähig ist, entspricht er genau der Funktionsweise eines Arrays. Einfach gesagt: Nummerierte Variablenlisten.
    Du musst lediglich die Größe des Arrays vorher mit Local $LblAkt[GRÖßE] festlegen (Ja, mit den [, bzw. ] !), und auch so darauf zugreifen:

    [autoit]


    $LblAkt[$Counter]

    [/autoit]

    lg

  • Danke nochmal für eure Antworten!

    Warum funktioniert

    [autoit]


    $Form1 = GUICreate("Aktien Simulator", 642, 689, 614, 50, $WS_MAXIMIZE)
    For $i = 1 To 20 Step 1
    $Counter = 0
    $Hight = (($Counter + 1) * 32) + 80
    $LblAkt[$Counter] = GUICtrlCreateLabel("Aktie 1" &$AktienPreis[$Counter + 1]& " €", 40, $Hight, 132, 17)
    Next
    GUISetState(@SW_SHOW)

    [/autoit]

    nicht?

    In der GUI wird nur "Aktie 15 € angezeigt.

    Lg 19Alex99

  • Erstens musst du die Variable aus der For-Schleife benutzen (Hier: $i (Ich nahm vorhin an, dass $Counter deine Zählervariable ist)).
    Außerdem hast du dort nirgendwo das Array deklariert.
    Uuund... Arrays fangen nicht bei 1 an, sondern bei 0. Ein Array mit 42 Elementen (Local $avArray[42]) geht also von $avArray[0] bis $avArray[41].

    Dein Beispiel müsste also so (oder ähnlich) aussehen:

    [autoit]


    $Form1 = GUICreate("Aktien Simulator", 642, 689, 614, 50, $WS_MAXIMIZE)
    Local $LblAkt[20]
    For $i = 1 To 20 Step 1 ;Das Step 1 ist sinnlos, wenn nichts angegeben wird, wird automatisch +1 genutzt
    $Hight = (($i + 1) * 32) + 80
    $LblAkt[$i - 1] = GUICtrlCreateLabel("Aktie 1" &$AktienPreis[$i + 1]& " €", 40, $Hight, 132, 17) ;Man achte auf das -1! // Wofür $Counter/$i + 1 bei $AktienPreis?
    Next
    GUISetState(@SW_SHOW)

    [/autoit]

    lg

  • Hallo, hier mal ein Beispiel.

    Spoiler anzeigen
    [autoit]


    #AutoIt3Wrapper_AU3Check_Parameters=-w 1 -w 2 -w 3 -w 4 -w 5 -w 6
    ;~ +> $GUI_EVENT_CLOSE —> GUIConstantsEx.au3

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

    $GUI_Einstellungen = GUICreate("Einstellungen", 700, 430)
    $GUI_Einstellungen_Daten = GUICtrlCreateMenu("Daten")
    $GUI_Einstellungen_Daten_SS = GUICtrlCreateMenuItem("Schließen", $GUI_Einstellungen_Daten)

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

    $lblCkb = GUICtrlCreateLabel("Ferienmodus aktiv", 30, 20, 90, 17)
    $Checkbox = GUICtrlCreateCheckbox("", 130, 20, 13, 13)
    $lblipt = GUICtrlCreateLabel("Bonus Minuten:", 370, 20, 80, 17)
    $iptInput = GUICtrlCreateInput("15", 460, 20, 25, 17)
    GUICtrlSetBkColor(-1, 0x00ff00) ; Grün

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

    $Group1 = GUICtrlCreateGroup(" Schulzeit ", 20, 50, 330, 325)
    GUICtrlSetBkColor(-1, 0xFFCCFF) ; Rosa
    #region Label Colum
    Global $alblOV[6]
    Global $alblOver[6] = ["Start", "Ende", "Maximal", "Start", "Ende", "Maximal"]
    For $i = 0 To 5
    $alblOV[$i] = GUICtrlCreateLabel($alblOver[$i], 125 + $i * 80, 70, 60, 17)
    Next
    #endregion Label Colum
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    $Group2 = GUICtrlCreateGroup(" Ferien ", 350, 50, 330, 325)
    GUICtrlSetBkColor(-1, 0xCCFFFF) ; Mintgrün
    #region Label Wochentag
    Global $aLabel[14]
    Global $aLbl[14] = ['Montag', 'Montag', 'Dienstag', 'Dienstag', 'Mitwoch', 'Mitwoch', 'Donnerstag', 'Donnerstag', 'Freitag', 'Freitag', 'Samstag', 'Samstag', 'Sonntag', 'Sonntag']
    For $j = 0 To 13
    $aLabel[$j] = GUICtrlCreateLabel($aLbl[$j], 50 + Mod($j, 2) * 540, 100 + Int($j / 2) * 40, 60, 20)
    Next
    #endregion Label Wochentag

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

    #region Input
    Global $aIpt[42]
    For $k = 0 To 41
    $aIpt[$k] = GUICtrlCreateInput($k + 1, 120 + Mod($k, 6) * 80, 98 + Int($k / 6) * 40, 60, 20)
    Next
    #endregion Input
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    GUISetState(@SW_SHOW)

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

    While True
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case -3, $GUI_Einstellungen_Daten_SS ;, $GUI_EVENT_CLOSE
    ExitLoop
    EndSwitch
    WEnd
    ; Ende

    [/autoit]
  • Danke!

    Das $i + 1 bei der Array $AktienPreis ist da, weil ich vorher $Counter bzw. $i auf 0 hatte und es in der Array $AktienPreis zwar eine [0] gibt, diese aber nicht genutzt wird.

    Danke an RR04 für das Beispiel!

    Ich versuch jetzt erstmal meine Code zu kürzen und melde mich dann wieder! :thumbup:

    EDIT:

    Ich habe jetzt die GUI Erstellung von 105 Zeilen auf 45 Zeilen minimiert. :rock:

    Nun weiß ich nicht, wie ich den Teil mit den Buttons kürzen kann. Könnt ihr mir da helfen oder ist das gar nicht möglich?

    Spoiler anzeigen
    [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $BtnExit
    Exit
    Case $BtnKfAkt1
    $Akt1Ipt = GUICtrlRead($IptKfAkt1)
    $Akt1 = $Aktienpreis[0] * $Akt1Ipt
    If $Akt1 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt1
    For $i = 1 To $Akt1Ipt Step 1
    $AktienBesitz[0] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnKfAkt2
    $Akt2Ipt = GUICtrlRead($IptKfAkt2)
    $Akt2 = $Aktienpreis[1] * $Akt2Ipt
    If $Akt2 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt2
    For $i1 = 1 To $Akt2Ipt Step 1
    $AktienBesitz[1] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnKfAkt3
    $Akt3Ipt = GUICtrlRead($IptKfAkt3)
    $Akt3 = $Aktienpreis[2] * $Akt3Ipt
    If $Akt3 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt3
    For $i2 = 1 To $Akt3Ipt Step 1
    $AktienBesitz[2] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnKfAkt4
    $Akt4Ipt = GUICtrlRead($IptKfAkt4)
    $Akt4 = $Aktienpreis[3] * $Akt4Ipt
    If $Akt4 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt4
    For $i3 = 1 To $Akt4Ipt Step 1
    $AktienBesitz[3] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnKfAkt5
    $Akt5Ipt = GUICtrlRead($IptKfAkt5)
    $Akt5 = $Aktienpreis[4] * $Akt5Ipt
    If $Akt5 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt5
    For $i4 = 1 To $Akt5Ipt Step 1
    $AktienBesitz[4] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnKfAkt6
    $Akt6Ipt = GUICtrlRead($IptKfAkt6)
    $Akt6 = $Aktienpreis[5] * $Akt6Ipt
    If $Akt6 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt6
    For $i5 = 1 To $Akt6Ipt Step 1
    $AktienBesitz[5] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnKfAkt7
    $Akt7Ipt = GUICtrlRead($IptKfAkt7)
    $Akt7 = $Aktienpreis[6] * $Akt7Ipt
    If $Akt7 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt7
    For $i6 = 1 To $Akt7Ipt Step 1
    $AktienBesitz[6] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnKfAkt8
    $Akt8Ipt = GUICtrlRead($IptKfAkt8)
    $Akt8 = $Aktienpreis[7] * $Akt8Ipt
    If $Akt8 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt8
    For $i7 = 1 To $Akt8Ipt Step 1
    $AktienBesitz[7] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnKfAkt9
    $Akt9Ipt = GUICtrlRead($IptKfAkt9)
    $Akt9 = $Aktienpreis[8] * $Akt9Ipt
    If $Akt9 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt9
    For $i8 = 1 To $Akt9Ipt Step 1
    $AktienBesitz[8] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnKfAkt10
    $Akt10Ipt = GUICtrlRead($IptKfAkt10)
    $Akt10 = $Aktienpreis[9] * $Akt10Ipt
    If $Akt10 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt10
    For $i9 = 1 To $Akt10Ipt Step 1
    $AktienBesitz[9] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnKfAkt11
    $Akt11Ipt = GUICtrlRead($IptKfAkt11)
    $Akt11 = $Aktienpreis[10] * $Akt11Ipt
    If $Akt11 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt11
    For $i10 = 1 To $Akt11Ipt Step 1
    $AktienBesitz[10] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnKfAkt12
    $Akt12Ipt = GUICtrlRead($IptKfAkt12)
    $Akt12 = $Aktienpreis[11] * $Akt12Ipt
    If $Akt12 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt12
    For $i11 = 1 To $Akt12Ipt Step 1
    $AktienBesitz[11] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnKfAkt13
    $Akt13Ipt = GUICtrlRead($IptKfAkt13)
    $Akt13 = $Aktienpreis[12] * $Akt13Ipt
    If $Akt13 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt13
    For $i12 = 1 To $Akt13Ipt Step 1
    $AktienBesitz[12] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnKfAkt14
    $Akt14Ipt = GUICtrlRead($IptKfAkt14)
    $Akt14 = $Aktienpreis[13] * $Akt14Ipt
    If $Akt14 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt14
    For $i13 = 1 To $Akt14Ipt Step 1
    $AktienBesitz[13] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnKfAkt15
    $Akt15Ipt = GUICtrlRead($IptKfAkt15)
    $Akt15 = $Aktienpreis[14] * $Akt15Ipt
    If $Akt15 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt15
    For $i14 = 1 To $Akt15Ipt Step 1
    $AktienBesitz[14] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnKfAkt16
    $Akt16Ipt = GUICtrlRead($IptKfAkt16)
    $Akt16 = $Aktienpreis[15] * $Akt16Ipt
    If $Akt16 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt16
    For $i15 = 1 To $Akt16Ipt Step 1
    $AktienBesitz[15] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnKfAkt17
    $Akt17Ipt = GUICtrlRead($IptKfAkt17)
    $Akt17 = $Aktienpreis[16] * $Akt17Ipt
    If $Akt17 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt17
    For $i16 = 1 To $Akt17Ipt Step 1
    $AktienBesitz[16] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnKfAkt18
    $Akt18Ipt = GUICtrlRead($IptKfAkt18)
    $Akt18 = $Aktienpreis[17] * $Akt18Ipt
    If $Akt18 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt18
    For $i17 = 1 To $Akt18Ipt Step 1
    $AktienBesitz[17] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnKfAkt19
    $Akt19Ipt = GUICtrlRead($IptKfAkt19)
    $Akt19 = $Aktienpreis[18] * $Akt19Ipt
    If $Akt19 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt19
    For $i18 = 1 To $Akt19Ipt Step 1
    $AktienBesitz[18] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnKfAkt20
    $Akt20Ipt = GUICtrlRead($IptKfAkt20)
    $Akt20 = $Aktienpreis[19] * $Akt20Ipt
    If $Akt20 > $Geldstand Then
    MsgBox(4096, "Nicht genug Geld!", "Du hast nicht genug Geld!")
    Else
    $Geldstand -= $Akt20
    For $i19 = 1 To $Akt20Ipt Step 1
    $AktienBesitz[19] += 1
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt1
    $Akt1VkIpt = GUICtrlRead($IptVkAkt1)
    If $Akt1VkIpt > $AktienBesitz[0] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt1VkIpt = $AktienBesitz[0] Or $Akt1VkIpt < $AktienBesitz[0] Then
    For $ii = 1 To $Akt1VkIpt Step 1
    $Geldstand += $Aktienpreis[0]
    $AktienBesitz[0] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt2
    $Akt2VkIpt = GUICtrlRead($IptVkAkt2)
    If $Akt2VkIpt > $AktienBesitz[1] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt2VkIpt = $AktienBesitz[1] Or $Akt2VkIpt < $AktienBesitz[1] Then
    For $ii1 = 1 To $Akt2VkIpt Step 1
    $Geldstand += $Aktienpreis[1]
    $AktienBesitz[1] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt3
    $Akt3VkIpt = GUICtrlRead($IptVkAkt3)
    If $Akt3VkIpt > $AktienBesitz[2] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt3VkIpt = $AktienBesitz[2] Or $Akt3VkIpt < $AktienBesitz[2] Then
    For $ii2 = 1 To $Akt3VkIpt Step 1
    $Geldstand += $Aktienpreis[2]
    $AktienBesitz[2] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt4
    $Akt4VkIpt = GUICtrlRead($IptVkAkt4)
    If $Akt4VkIpt > $AktienBesitz[3] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt4VkIpt = $AktienBesitz[3] Or $Akt4VkIpt < $AktienBesitz[3] Then
    For $ii3 = 1 To $Akt4VkIpt Step 1
    $Geldstand += $Aktienpreis[3]
    $AktienBesitz[3] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt5
    $Akt5VkIpt = GUICtrlRead($IptVkAkt5)
    If $Akt5VkIpt > $AktienBesitz[4] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt5VkIpt = $AktienBesitz[4] Or $Akt5VkIpt < $AktienBesitz[4] Then
    For $ii4 = 1 To $Akt5VkIpt Step 1
    $Geldstand += $Aktienpreis[4]
    $AktienBesitz[4] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt6
    $Akt6VkIpt = GUICtrlRead($IptVkAkt6)
    If $Akt6VkIpt > $AktienBesitz[5] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt6VkIpt = $AktienBesitz[5] Or $Akt6VkIpt < $AktienBesitz[5] Then
    For $ii5 = 1 To $Akt6VkIpt Step 1
    $Geldstand += $Aktienpreis[5]
    $AktienBesitz[5] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt7
    $Akt7VkIpt = GUICtrlRead($IptVkAkt7)
    If $Akt7VkIpt > $AktienBesitz[6] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt7VkIpt = $AktienBesitz[6] Or $Akt7VkIpt < $AktienBesitz[6] Then
    For $ii6 = 1 To $Akt7VkIpt Step 1
    $Geldstand += $Aktienpreis[6]
    $AktienBesitz[6] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt8
    $Akt8VkIpt = GUICtrlRead($IptVkAkt8)
    If $Akt8VkIpt > $AktienBesitz[7] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt8VkIpt = $AktienBesitz[7] Or $Akt8VkIpt < $AktienBesitz[7] Then
    For $ii7 = 1 To $Akt8VkIpt Step 1
    $Geldstand += $Aktienpreis[7]
    $AktienBesitz[7] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt9
    $Akt9VkIpt = GUICtrlRead($IptVkAkt9)
    If $Akt9VkIpt > $AktienBesitz[8] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt9VkIpt = $AktienBesitz[8] Or $Akt9VkIpt < $AktienBesitz[8] Then
    For $ii8 = 1 To $Akt9VkIpt Step 1
    $Geldstand += $Aktienpreis[8]
    $AktienBesitz[8] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt10
    $Akt10VkIpt = GUICtrlRead($IptVkAkt10)
    If $Akt10VkIpt > $AktienBesitz[9] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt10VkIpt = $AktienBesitz[9] Or $Akt10VkIpt < $AktienBesitz[9] Then
    For $ii9 = 1 To $Akt10VkIpt Step 1
    $Geldstand += $Aktienpreis[9]
    $AktienBesitz[9] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt11
    $Akt11VkIpt = GUICtrlRead($IptVkAkt11)
    If $Akt11VkIpt > $AktienBesitz[10] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt11VkIpt = $AktienBesitz[10] Or $Akt11VkIpt < $AktienBesitz[10] Then
    For $ii10 = 1 To $Akt11VkIpt Step 1
    $Geldstand += $Aktienpreis[10]
    $AktienBesitz[10] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt12
    $Akt12VkIpt = GUICtrlRead($IptVkAkt12)
    If $Akt12VkIpt > $AktienBesitz[11] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt12VkIpt = $AktienBesitz[11] Or $Akt12VkIpt < $AktienBesitz[11] Then
    For $ii11 = 1 To $Akt12VkIpt Step 1
    $Geldstand += $Aktienpreis[11]
    $AktienBesitz[11] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt13
    $Akt13VkIpt = GUICtrlRead($IptVkAkt13)
    If $Akt13VkIpt > $AktienBesitz[12] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt13VkIpt = $AktienBesitz[12] Or $Akt13VkIpt < $AktienBesitz[12] Then
    For $ii12 = 1 To $Akt13VkIpt Step 1
    $Geldstand += $Aktienpreis[12]
    $AktienBesitz[12] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt14
    $Akt14VkIpt = GUICtrlRead($IptVkAkt14)
    If $Akt14VkIpt > $AktienBesitz[13] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt14VkIpt = $AktienBesitz[13] Or $Akt14VkIpt < $AktienBesitz[13] Then
    For $ii13 = 1 To $Akt14VkIpt Step 1
    $Geldstand += $Aktienpreis[13]
    $AktienBesitz[13] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt15
    $Akt15VkIpt = GUICtrlRead($IptVkAkt15)
    If $Akt15VkIpt > $AktienBesitz[14] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt15VkIpt = $AktienBesitz[14] Or $Akt15VkIpt < $AktienBesitz[14] Then
    For $ii14 = 1 To $Akt15VkIpt Step 1
    $Geldstand += $Aktienpreis[14]
    $AktienBesitz[14] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt16
    $Akt16VkIpt = GUICtrlRead($IptVkAkt16)
    If $Akt16VkIpt > $AktienBesitz[15] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt16VkIpt = $AktienBesitz[15] Or $Akt16VkIpt < $AktienBesitz[15] Then
    For $ii15 = 1 To $Akt16VkIpt Step 1
    $Geldstand += $Aktienpreis[15]
    $AktienBesitz[15] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt17
    $Akt17VkIpt = GUICtrlRead($IptVkAkt17)
    If $Akt17VkIpt > $AktienBesitz[16] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt17VkIpt = $AktienBesitz[16] Or $Akt17VkIpt < $AktienBesitz[16] Then
    For $ii16 = 1 To $Akt17VkIpt Step 1
    $Geldstand += $Aktienpreis[16]
    $AktienBesitz[16] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt18
    $Akt18VkIpt = GUICtrlRead($IptVkAkt18)
    If $Akt18VkIpt > $AktienBesitz[17] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt18VkIpt = $AktienBesitz[17] Or $Akt18VkIpt < $AktienBesitz[17] Then
    For $ii17 = 1 To $Akt18VkIpt Step 1
    $Geldstand += $Aktienpreis[17]
    $AktienBesitz[17] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt19
    $Akt19VkIpt = GUICtrlRead($IptVkAkt19)
    If $Akt19VkIpt > $AktienBesitz[18] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt19VkIpt = $AktienBesitz[18] Or $Akt19VkIpt < $AktienBesitz[18] Then
    For $ii18 = 1 To $Akt19VkIpt Step 1
    $Geldstand += $Aktienpreis[18]
    $AktienBesitz[18] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnVkAkt20
    $Akt20VkIpt = GUICtrlRead($IptVkAkt20)
    If $Akt20VkIpt > $AktienBesitz[19] Then
    MsgBox(4096, "Nicht im Besitz!", "Soviele Aktien hast du leider nicht in deinem Besitz!")
    ElseIf $Akt20VkIpt = $AktienBesitz[19] Or $Akt20VkIpt < $AktienBesitz[19] Then
    For $ii19 = 1 To $Akt20VkIpt Step 1
    $Geldstand += $Aktienpreis[19]
    $AktienBesitz[19] -= 1
    Sleep(100)
    Next
    GUICtrlSetData($LblGeldStand, "Aktueller Geldstand: " &$Geldstand& "€")
    EndIf
    Case $BtnNextDay
    _NextDay()
    EndSwitch
    WEnd

    [/autoit]

    Danke!

    Lg 19Alex99

    Einmal editiert, zuletzt von 19Alex99 (4. November 2013 um 08:55)

  • Hey! :)

    Dein Code ist wirklich unnötig lang. Ich habe mir mal die Freiheit genommen und deine Idee „geklaut“. Ich habe hier eine fertige Simulation von deinem Aktienspiel mit einigen Features.

    - Wenn man auf [Nächster Tag] klickt, verliert man den Durchschnittswert von den Preisen aller Aktien.
    - Wenn nach dem draufklicken [Nächster Tag] der Betrag unter 0€ fällt, verliert der Spieler.
    - Beim Verkauf von Aktien werden nur 90% des angezeigten Preises ausgezahlt.

    Insgesamt brauche ich nur 140 Codezeilen. Zudem habe ich das ganze etwas dynamisch geschrieben. Man kann die Anzahl der Aktien in Zeile 12 verändern. So kann man mit nur 5 Aktien spielen oder auch mit 50.

    Sieh dir einfach mal an, wie ich den Code kürze. Ich bin sicher, dass du daraus einige Tricks lernst, um das auch selber bei deinen Code umzusetzen.

    Spoiler anzeigen
    [autoit]

    #include <EditConstants.au3>
    #include <GUIConstants.au3>
    #include <StaticConstants.au3>
    #include <UpdownConstants.au3>

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

    Opt('GUIOnEventMode', 1)

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

    ; ++++++++++ +++++++++ ++++++++ +++++++ ++++++ +++++ ++++ +++ ++ +

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

    Global Const $iNumber = 20
    Global $hGUI, $iMoney, $idMoney, $i, $aiShares[$iNumber][2], $idLabels[$iNumber][2], $idButtons[$iNumber][2], $idInputs[$iNumber], $idTmp, $idNextDay, _
    $aiMouse, $iRead, $bClick
    Global Enum $price, $holding
    Global Enum $x, $y, $left, $right, $id

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

    _Reset(True)

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

    ; ++++++++++ +++++++++ ++++++++ +++++++ ++++++ +++++ ++++ +++ ++ +

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

    $hGUI = GUICreate('Aktien Simulator', 295, $iNumber * 25 + 70)
    GUICtrlCreateLabel( 'Vermögen:', 10, 10, 50, 20, $SS_CENTERIMAGE)
    $idMoney = GUICtrlCreateLabel($iMoney & '€', 65, 10, 50, 20, $SS_CENTER + $SS_CENTERIMAGE)

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

    For $i = 0 To $iNumber - 1
    GUICtrlCreateLabel('Aktie ' & ($i +1) & ':', 10, $i * 25 + 35, 50, 20, $SS_CENTERIMAGE)
    $idLabels[$i][$price] = GUICtrlCreateLabel($aiShares[$i][$price] & '€', 65, $i * 25 + 35, 50, 20, $SS_CENTER + $SS_CENTERIMAGE)
    $idLabels[$i][$holding] = GUICtrlCreateLabel('x' & $aiShares[$i][$holding], 235, $i * 25 + 35, 50, 20, $SS_CENTER + $SS_CENTERIMAGE)
    $idButtons[$i][0] = GUICtrlCreateButton('-', 125, $i * 25 + 35, 20, 20)
    $idButtons[$i][1] = GUICtrlCreateButton('+', 205, $i * 25 + 35, 20, 20)
    $idInputs[$i] = GUICtrlCreateInput(0, 150, $i * 25 + 35, 50, 20, $ES_CENTER + $ES_NUMBER)
    $idTmp = GUICtrlCreateUpdown($idInputs[$i], $UDS_ARROWKEYS + $UDS_NOTHOUSANDS + $UDS_WRAP)
    GUICtrlSetLimit($idTmp, 9999, 1)
    Next

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

    $idNextDay = GUICtrlCreateButton('Nächster Tag', 10, $iNumber * 25 + 40, 275, 20)

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

    GUICtrlSetOnEvent($idNextDay, '_NextDay')
    GUISetOnEvent($GUI_EVENT_CLOSE, 'GUI_EVENT_CLOSE')
    GUISetState()

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

    ; ++++++++++ +++++++++ ++++++++ +++++++ ++++++ +++++ ++++ +++ ++ +

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

    While Sleep(10)
    $aiMouse = GUIGetCursorInfo($hGUI)

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

    For $i = 0 To $iNumber - 1
    If Not $bClick And $aiMouse[$left] And $aiMouse[$id] = $idButtons[$i][0] Then
    $iRead = GUICtrlRead($idInputs[$i])
    If $aiShares[$i][$holding] - $iRead >= 0 Then
    $aiShares[$i][$holding] -= $iRead
    $iMoney += Round($iRead * $aiShares[$i][$price] * 0.9)
    GUICtrlSetData($idLabels[$i][$holding], 'x' & $aiShares[$i][$holding])
    GUICtrlSetData($idMoney, $iMoney & '€')
    $bClick = True
    EndIf
    ElseIf Not $bClick And $aiMouse[$left] And $aiMouse[$id] = $idButtons[$i][1] Then
    $iRead = GUICtrlRead($idInputs[$i])
    $iMoney -= $iRead * $aiShares[$i][$price]
    $aiShares[$i][$holding] += $iRead
    GUICtrlSetData($idLabels[$i][$holding], 'x' & $aiShares[$i][$holding])
    GUICtrlSetData($idMoney, $iMoney & '€')
    $bClick = True
    EndIf

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

    While $bClick And Sleep(10) And $aiMouse[$left]
    $aiMouse = GUIGetCursorInfo($hGUI)
    WEnd
    Next

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

    $bClick = False
    WEnd

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

    ; ++++++++++ +++++++++ ++++++++ +++++++ ++++++ +++++ ++++ +++ ++ +

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

    Func _Reset($bFirst = False)
    $iMoney = Random(100, 1000, 1)
    _RndVal($aiShares)

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

    For $i = 0 To $iNumber - 1
    $aiShares[$i][$holding] = 0
    Next

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

    If Not $bFirst Then
    For $i = 0 To $iNumber - 1
    GUICtrlSetData($idLabels[$i][$price ], $aiShares[$i][$price ] & '€')
    GUICtrlSetData($idLabels[$i][$holding], 'x' & $aiShares[$i][$holding])
    Next
    EndIf
    EndFunc

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

    Func _RndVal(ByRef $avArray, $iMin = 1, $iMax = 100)
    Local $i

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

    For $i = 0 To UBound($avArray) - 1
    $avArray[$i][0] = Random($iMin, $iMax, 1)
    Next
    EndFunc

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

    Func _NextDay()
    Local $iTmp

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

    _RndVal($aiShares)
    For $i = 0 To $iNumber - 1
    GUICtrlSetData($idLabels[$i][$price], $aiShares[$i][$price] & '€')
    $iTmp += $aiShares[$i][$price]
    Next

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

    $iMoney -= Round($iTmp / $iNumber)
    If $iMoney < 0 Then _Lost()

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

    GUICtrlSetData($idMoney, $iMoney & '€')
    EndFunc

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

    Func _Lost()
    Local $iRet = MsgBox(4, 'Verloren', 'Du hast Schulden von ' & -$iMoney & '€ gemacht.' & @CRLF & _
    'Du hast das Spiel verloren!' & @CRLF & @CRLF & _
    'Noch einmal versuchen?', 0, $hGUI)

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

    If $iRet = 6 Then
    _Reset()
    Else
    Exit
    EndIf
    EndFunc

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

    Func GUI_EVENT_CLOSE()
    Exit
    EndFunc

    [/autoit]

    LG. Make :)

  • Danke für die freiwillig in Anspruch genommene Arbeit.

    Leider wechselt sin auch das Vermögen wenn man auf "Nächster Tag" klickt, selbst wenn man keine Aktien besitzt. Wenn du das behoben bekommst, ist das Spiel sehr gut geworden.

    EDIT: Man kann leider auch keine Aktien kaufen...

    Lg Alex

  • Zitat

    Leider wechselt sin auch das Vermögen wenn man auf "Nächster Tag" klickt, selbst wenn man keine Aktien besitzt. Wenn du das behoben bekommst, ist das Spiel sehr gut geworden.

    Hab ich mit voller absicht gemacht, damit man nicht solange warten kann bis mal ne billige Aktie kommt. :P

    Zitat

    EDIT: Man kann leider auch keine Aktien kaufen...

    Klar, die Menge einfach in das Input Control und dann rechts daneben auf den [+] Button. Vorrausgesetzt man hat das entsprechende Geld für die Menge...


    Zudem ist dies nur ein Beispiel wie man Code kürzen kann. ^^
    Versuch dich erst einmal selbst an deinem Code, falls fragen auftauchen helfe ich gerne. :)

    LG. Make :)