1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Fresapore

Beiträge von Fresapore

  • Koordinatensystem - Brauche Hilfe

    • Fresapore
    • 11. April 2013 um 18:41

    Du kannst, wenn du die drei Koordinatenachsen gezeichnet hast, einen (gedachten) Quader mit den entsprechenden Seitenlängen ausgehend von 0 zeichnen. Jede Kante des Quaders ist dabei parallel zu der entsprechenden Achse, die Raumdiagonale von 0 zu der gegenüberliegenden Ecke ist dein Vektor. Da man aber etwas 3-dimensionales in 2D übeträgt, gehen Informationen verloren, d.h. man kann einen Punkt (Ortsvektor) nicht mehr eindeutig zurück zuordnen.

  • Stack-Overflow

    • Fresapore
    • 13. Oktober 2012 um 15:58

    Theoretisch kannst du einen globalen Zähler verwenden, der bei jedem Aufruf der Funktion erhöht wird, und du als Abbruchbedingung eine Grenze dieses Wertes nimmst. Dann hast du eine Art Reset, das macht aber praktisch meistens keinen Sinn.

  • Baum speichern

    • Fresapore
    • 6. September 2012 um 17:25

    Du musst die Höhe des Baums ermitteln (rekursiv), damit wächst die Breite des Baums ja exponentiell.
    Dann kannst du ziemlich gut die einzelnen Leerzeichen pro Zeile feststellen. Dann würde ich den Baum so aufbauen, dass jeder Knoten seine Childs kennt, nicht jeder Knoten seine Eltern, das machts einfacher..

  • Hi

    • Fresapore
    • 5. September 2012 um 19:16

    <== auch Marvin, aber schon 17 :D
    Ahoi, willkommen an Bord.

  • Func mit If Abfrage

    • Fresapore
    • 2. September 2012 um 14:24

    Was meinst du mit

    Zitat

    Wie kann ich es deklarieren, das die richtige Funktion verwendet wird


    Ich werd aus deinem Beispiel nicht schlau..

  • Ameise (Turingmaschine)

    • Fresapore
    • 13. August 2012 um 23:19

    ich habs nur mit n paar werten ausprobiert und es sah realistisch aus..was ist denn falsch?

    Edit: Ist oben gefixt.

  • Ameise (Turingmaschine)

    • Fresapore
    • 13. August 2012 um 22:06

    Hi Folks,
    Ich habe mich auch mal daran probiert, natürlich ist der Quellcode ähnlich wie der meiner Vorgänger, ich fand die Idee nur auch faszinierend.
    Bei mir kann man bis zu 7 Zustände varabel eingeben, da kann man ein bisschen rmprobieren.
    $H * Steps sollte immer > 600 sein, damit die Controls richtig angezeigt werden ;)

    Kommen interessante Dinge bei raus (rrlrll find ich interssant) ;)

    Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>
    #include <GUIConstantsEx.au3>
    #include <ComboConstants.au3>
    #include <WindowsConstants.au3>
    #include <EditConstants.au3>

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

    Opt('GUIOnEventMode', 1)

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

    Global Const $Size = 10, $W = 100, $H = 80
    Global $FrameDraw = 1, $Colors = 2, $Sleep = 10
    Global $Grid[$W][$H]
    Global $AntPos[2] = [Ceiling($W / 2 - 1), Ceiling($H / 2 - 1)]
    Global $Direction = 0 ;0: Up, 1: Right, 2: Down, 3: Left
    Global $StopCalc = True
    Global $Status[7] = [0, 0, 0, 0, 0, 0, 0]
    Global $Steps = 0
    _GDIPlus_Startup()
    Global $hBrush[7] = [_GDIPlus_BrushCreateSolid(0xFFFFFFFF), _GDIPlus_BrushCreateSolid(0xFFFF0000), _GDIPlus_BrushCreateSolid(0xFF0000FF), _GDIPlus_BrushCreateSolid(0xFFFFFF00), _GDIPlus_BrushCreateSolid(0xFFFF00FF), _GDIPlus_BrushCreateSolid(0xFF00FFFF), _GDIPlus_BrushCreateSolid(0xFF00FF00)]

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

    Global $hGui = GUICreate("Turing Ameise", $W * $Size + 100, $H * $Size)
    GUICtrlCreateLabel("Skip Frames", $W * $Size, 0, 100, 20)
    Global $hInputFrame = GUICtrlCreateInput($FrameDraw, $W * $Size, 20, 100, 20, $ES_NUMBER)
    Global $hUpDown = GUICtrlCreateUpdown(-1)
    GUICtrlSetLimit(-1, 10000, 1)

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

    GUICtrlCreateLabel("Wait after Frame (ms)", $W * $Size, 50, 100, 20)
    Global $hInputSleep = GUICtrlCreateInput($Sleep, $W * $Size, 70, 100, 20, $ES_NUMBER)
    Global $hUpDown = GUICtrlCreateUpdown(-1)
    GUICtrlSetLimit(-1, 1000, 10)

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

    GUICtrlCreateLabel("1", $W * $Size, 100, 50, 50)
    GUICtrlSetFont(-1, 30)
    GUICtrlCreateLabel("2", $W * $Size, 150, 50, 50)
    GUICtrlSetFont(-1, 30)
    GUICtrlCreateLabel("3", $W * $Size, 200, 50, 50)
    GUICtrlSetFont(-1, 30)
    GUICtrlCreateLabel("4", $W * $Size, 250, 50, 50)
    GUICtrlSetFont(-1, 30)
    GUICtrlCreateLabel("5", $W * $Size, 300, 50, 50)
    GUICtrlSetFont(-1, 30)
    GUICtrlCreateLabel("6", $W * $Size, 350, 50, 50)
    GUICtrlSetFont(-1, 30)
    GUICtrlCreateLabel("7", $W * $Size, 400, 50, 50)
    GUICtrlSetFont(-1, 30)
    GUICtrlCreateLabel("Anzahl der Zustände", $W * $Size, 450, 50, 30)
    Global $hButton[7]
    $hButton[0] = GUICtrlCreateButton("Left", $W * $Size + 50, 100, 50, 50)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetOnEvent(-1, "_Click")
    $hButton[1] = GUICtrlCreateButton("Left", $W * $Size + 50, 150, 50, 50)
    GUICtrlSetBkColor(-1, 0xFF0000)
    GUICtrlSetOnEvent(-1, "_Click")
    $hButton[2] = GUICtrlCreateButton("Left", $W * $Size + 50, 200, 50, 50)
    GUICtrlSetBkColor(-1, 0x0000FF)
    GUICtrlSetOnEvent(-1, "_Click")
    $hButton[3] = GUICtrlCreateButton("Left", $W * $Size + 50, 250, 50, 50)
    GUICtrlSetBkColor(-1, 0xFFFF00)
    GUICtrlSetOnEvent(-1, "_Click")
    $hButton[4] = GUICtrlCreateButton("Left", $W * $Size + 50, 300, 50, 50)
    GUICtrlSetBkColor(-1, 0xFF00FF)
    GUICtrlSetOnEvent(-1, "_Click")
    $hButton[5] = GUICtrlCreateButton("Left", $W * $Size + 50, 350, 50, 50)
    GUICtrlSetBkColor(-1, 0x00FFFF)
    GUICtrlSetOnEvent(-1, "_Click")
    $hButton[6] = GUICtrlCreateButton("Left", $W * $Size + 50, 400, 50, 50)
    GUICtrlSetBkColor(-1, 0x00FF00)
    GUICtrlSetOnEvent(-1, "_Click")
    $hDropDown = GUICtrlCreateCombo("2", $W * $Size, 480, 100, 25, $CBS_DROPDOWNLIST)
    GUICtrlSetData(-1, "3|4|5|6|7")

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

    $hLabelSteps = GUICtrlCreateLabel("Steps: 0", $W * $Size, 520, 100)

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

    Global $hButtonStart = GUICtrlCreateButton("Start", $W * $Size, $H * $Size - 60, 100, 30)
    GUICtrlSetOnEvent(-1, "_AntGo")

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

    Global $hButtonStop = GUICtrlCreateButton("Stop", $W * $Size, $H * $Size - 30, 100, 30)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlSetOnEvent(-1, "_AntStop")

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

    GUISetState()
    GUISetOnEvent(-3, "_exit")
    GUIRegisterMsg(0xF, '_Redraw')

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

    $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGui)
    $hBitmap = _GDIPlus_BitmapCreateFromGraphics($W * $Size, $H * $Size, $hGraphic)
    $hBuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)

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

    While 1
    While Not $StopCalc
    For $i = 1 To $FrameDraw
    If $StopCalc Then ExitLoop
    For $j = 0 To $Colors - 1
    If $Grid[$AntPos[0]][$AntPos[1]] = $j Then
    $Grid[$AntPos[0]][$AntPos[1]] = Mod($Grid[$AntPos[0]][$AntPos[1]] + 1, $Colors)
    Switch $Status[$j]
    Case 0
    _Left()
    $Direction = Mod($Direction + 3, 4)
    Case 1
    _Right()
    $Direction = Mod($Direction + 1, 4)
    EndSwitch
    EndIf
    Next
    $Steps += 1
    Next
    GUICtrlSetData($hLabelSteps, "Steps: " & $Steps)
    _Draw()
    Sleep($Sleep)
    WEnd
    Sleep(100)
    WEnd

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

    Func _AntGo()
    For $i = 0 To $W - 1
    For $j = 0 To $H - 1
    $Grid[$i][$j] = 0
    Next
    Next
    $Steps = 0
    GUICtrlSetData($hLabelSteps, "Steps: " & $Steps)
    $AntPos[0] = Ceiling($W / 2 - 1)
    $AntPos[1] = Ceiling($H / 2 - 1)
    $Direction = 0 ;0: Up, 1: Right, 2: Down, 3: Left
    $FrameDraw = Number(GUICtrlRead($hInputFrame))
    $Sleep = Number(GUICtrlRead($hInputSleep))
    $Colors = Number(GUICtrlRead($hDropDown))
    $StopCalc = False
    _Draw()
    GUICtrlSetState($hButtonStart, $GUI_DISABLE)
    GUICtrlSetState($hButtonStop, $GUI_ENABLE)
    EndFunc ;==>_AntGo

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

    Func _AntStop()
    $StopCalc = True
    GUICtrlSetState($hButtonStart, $GUI_ENABLE)
    GUICtrlSetState($hButtonStop, $GUI_DISABLE)
    EndFunc ;==>_AntStop

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

    Func _Draw()
    _GDIPlus_GraphicsClear($hBuffer, 0xFFFFFFFF)
    For $i = 0 To $W - 1
    For $j = 0 To $H - 1
    If $Grid[$i][$j] > 0 Then _GDIPlus_GraphicsFillRect($hBuffer, $i * $Size, $j * $Size, $Size, $Size, $hBrush[$Grid[$i][$j]])
    Next
    Next
    _GDIPlus_GraphicsDrawImageRect($hGraphic, $hBitmap, 0, 0, $W * $Size, $H * $Size)
    EndFunc ;==>_Draw

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

    Func _Redraw()
    _GDIPlus_GraphicsDrawImageRect($hGraphic, $hBitmap, 0, 0, $W * $Size, $H * $Size)
    EndFunc ;==>_Redraw

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

    Func _Left()
    Switch $Direction
    Case 0
    If $AntPos[0] > 0 Then
    $AntPos[0] -= 1
    Else
    $StopCalc = True
    EndIf
    Case 1
    If $AntPos[1] > 0 Then
    $AntPos[1] -= 1
    Else
    $StopCalc = True
    EndIf
    Case 2
    If $AntPos[0] < $W - 1 Then
    $AntPos[0] += 1
    Else
    $StopCalc = True
    EndIf
    Case 3
    If $AntPos[1] < $H - 1 Then
    $AntPos[1] += 1
    Else
    $StopCalc = True
    EndIf
    EndSwitch
    EndFunc ;==>_Left

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

    Func _Right()
    Switch $Direction
    Case 0
    If $AntPos[0] < $W - 1 Then
    $AntPos[0] += 1
    Else
    $StopCalc = True
    EndIf
    Case 1
    If $AntPos[1] < $H - 1 Then
    $AntPos[1] += 1
    Else
    $StopCalc = True
    EndIf
    Case 2
    If $AntPos[0] > 0 Then
    $AntPos[0] -= 1
    Else
    $StopCalc = True
    EndIf
    Case 3
    If $AntPos[1] > 0 Then
    $AntPos[1] -= 1
    Else
    $StopCalc = True
    EndIf
    EndSwitch
    EndFunc ;==>_Right

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

    Func _Click()
    For $i = 0 To 6
    If @GUI_CtrlId = $hButton[$i] Then
    If $Status[$i] = 0 Then
    GUICtrlSetData($hButton[$i], "Right")
    $Status[$i] = 1
    Else
    GUICtrlSetData($hButton[$i], "Left")
    $Status[$i] = 0
    EndIf
    EndIf
    Next
    EndFunc ;==>_Click

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

    Func _Exit()
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_GraphicsDispose($hGraphic)
    For $i = 0 To UBound($hBrush) - 1
    _GDIPlus_BrushDispose($hBrush[$i])
    Next
    _GDIPlus_Shutdown()
    Exit
    EndFunc ;==>_Exit

    [/autoit]

    Wer die Anzahl der Zustände vergrößern möchte, kann das ganz einfach machen, ich hatte nur keine Lust auf mehr Buttons + Farben :P

    Lg,
    Fresapore

    Edit: Marsis Bug ist behoben.

  • eine kleine Frage =)

    • Fresapore
    • 24. Mai 2012 um 20:53

    Ich weiß zwar nicht genau, was du vorhast, aber du könntest evtl. eine transparente GUI über den den kompletten Bildschirm legen...

  • Burning Keyboard - Wie schnell kannst du tippen?

    • Fresapore
    • 11. Mai 2012 um 19:54

    Klappt eigentlich ganz gut, hatte auch noch keine "Kurzworte" ;), bin auch bei Chip gelandet :D

    Dateien

    Bildschirmfoto vom 2012-05-11 19:51:49.png 31,92 kB – 0 Downloads
  • Ohne Grund ein Fehler,"For" statement has no matching "Next" statement.

    • Fresapore
    • 1. Mai 2012 um 14:40

    Dann hast du wahrscheinlich davor eine For-Schleife ohne next, denn du kannst keine Funktion in einer Schleife deklarieren..
    Aber ich kann hier nur raten..

  • Wer steigt auf Windows 8 um?

    • Fresapore
    • 27. April 2012 um 18:02

    Ich steige auf Ubuntu 12.04 um, aber niemals auf Win 8.
    Ein Freund hatte das "versehentlich" über sein Win 7 gefummelt,
    was man da mit der Maus mehr oder minder ausversehen anstellt, stört mich extrem. (Find ich schon bei Gnome 3 ;))
    Ganz abgesehen von der für PC unbrauchbaren Metro-Oberfläche...
    Aber wer es gut findet..

  • Raspberry Pi

    • Fresapore
    • 14. März 2012 um 20:15

    Ich werds mir auch holen, wenns denn mal nicht ausverkauft ist :/
    Zum rumexperimentieren und ausprobieren ist es sicher ganz interessant..und wenn nicht, dass ists ja kein riesiger Verlust ;)

  • Rubik's Cube

    • Fresapore
    • 21. Februar 2012 um 22:33

    Kann man den überhaupt eindeutig lösen?
    der sieht auf allen seiten so gleich aus... :D
    Den schwieriegsten den ich kenne, war einer mit Zahlen, den man sudokumäßig lösen muss...
    Ist mir nur kaputt gegangen, als er "ausversehen" runtergefallen ist :D

  • Wie steht ihr zu Fasching?

    • Fresapore
    • 21. Februar 2012 um 20:51

    Ich als (fast) Aachener finde Karneval auch nicht so pralle, habe aber trotzdem Spaß daran, mich über die 6 freien Tage mit Freunden zu treffen und Party zu machen. Aber dass das immer so mit dem Wegfenstern verbunden ist, finde ich auch unnötig. :D
    Die Karnevalsumzüge find ich auch nervig, und die Musik ist eigentlich nur besoffen auszuhalten ;)

  • Rubik's Cube

    • Fresapore
    • 21. Februar 2012 um 12:39

    Meinst du soeinen?
    [Blockierte Grafik: http://ecx.images-amazon.com/images/I/31pCtTblCKL._SL500_AA300_.jpg]
    Den hab ich auch schonmal versucht, aber iwie nicht hinbekommen ;)
    Bei uns auf der Schule gibt es so einen Speedcuber, der hat immer die merkwürdigsten und unförmigsten Cubes dabei :D (und kann die auch noch lösen :P)

  • Rubik's Cube

    • Fresapore
    • 21. Februar 2012 um 02:15

    DFPWare: Den unteren hab ich auch mal gesehen..ist aber nicht viel schwieriger als der normale...nur viel verwirrender!
    Für den normalen brauch ich auch ~1:00 min, mittlerweile aber wohl n bisschen mehr ;)

  • Au3Irrlicht UDF Problem

    • Fresapore
    • 29. Januar 2012 um 12:53

    Das liegt an x64.
    Du kannst entweder

    [autoit]

    #AutoIt3Wrapper_usex64=n

    [/autoit]


    einfügen oder die Programme mit rechtsklick --> run Script (x86) klicken

    War jedenfalls bei mir so..

    Fresapore

  • Tastenkombination

    • Fresapore
    • 23. Januar 2012 um 14:34

    Mal in die Hilfe bei "Send" schauen?

    [autoit]

    Send('!{TAB}')

    [/autoit]

    Edit: Wurde wohl getan :)

  • _isPressed() in einer Switch-Anweisung?

    • Fresapore
    • 21. Januar 2012 um 16:54

    Mit ner Schleife würd ichs machen..

    [autoit]

    For $i = 30 To 39
    If _Ispressed($i) Then MsgBox(0, "test", "Taste " & $i - 30 & " wurde gedrückt")
    Next

    [/autoit]

    Fresapore

  • Orbit Shooter

    • Fresapore
    • 21. Januar 2012 um 15:26

    So, habe einen 2-Player-Modus hinzugefügt.
    Ist aber eher unperformant, da kann ich noch was rausholen ;)
    Beim 2-Player-Modus kann man nur gewinnen, indem der andere verliert, und man muss keine Kugeln mehr zerstören..

    Code: Post 1

    Fresapore

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™