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. minx

Beiträge von minx

  • AutoIt Compiler (Project Perseus)

    • minx
    • 27. März 2013 um 19:08

    Ich bereite das Dev-Preview vor.

    Wer eins will -> PN

    Q: Was sollte ich nach dem Erhalt tun?
    A: Im Forum registrieren und im Thread eure Meinung / Anregung etc schreiben, so dass wir das schnell Release-fertig bekommen!


    Die Pakete gehen dann MORGEN raus!

  • HP Pavilion dv6-2010sg Defekt

    • minx
    • 25. März 2013 um 14:23

    Bei mir gabs mal diesen Fehler durch den BIOS Chip. Ich denke bei neueren Geräten ist der aufgelötet. Die AMI-BIOS Reihe sollte man aber austauschen können. Alles in allem ist dieser Fehler extrem unwahrscheinlich.

    Was immer der Fall sein kann, sind Mikro-Kurzschlüsse am Mainboard. Die sind fast unmöglich zu entdecken oder beheben. Das muss aber nicht sein...

  • HP Pavilion dv6-2010sg Defekt

    • minx
    • 25. März 2013 um 14:18

    Lüfter frei und Sensoren auch? Festplatte / BIOS steckt richtig und kann gelesen werden? RAM sauber und steckt fest? Es gibt eigentlich tausende Fehlerquellen für so etwas... :S

  • Beste Community - Aber leider nur AutoIt

    • minx
    • 25. März 2013 um 14:15

    Ich meine das nicht vernichtend oder so, aber selbst wenn es andere Sections gibt, dann bleibt die Adresse autoit.de, da steht über AutoIt, die Masse kann besser AutoIt und alles ist AutoIt.

    Mehr Sections bedeuten vielleicht einen Vorteil für bestehende User, ziehen aber keine neuen aus anderen Gefilden an ^^

  • Beste Community - Aber leider nur AutoIt

    • minx
    • 25. März 2013 um 14:02
    Zitat

    währe

    autsch ... autsch ... autsch ... autsch ... autsch :D

    Aber nochmal: Es ist und bleibt autoit.de, da gehts nunmal nicht um andere Sprachen :whistling:

  • Beste Community - Aber leider nur AutoIt

    • minx
    • 24. März 2013 um 22:53
    Zitat

    Zumal ich überzeugt bin, dass die persönlichen Macken der User (meine eingeschlossen) ein nicht unerheblicher Grund für die Besonderheit unseres Forums sind.

    Gerade in so einer "gemütlichen" Truppe. Wenn man dann von allen Seiten mit den Fragen unterschiedlichster Art beworfen wird, dann verleiert doch alles seinen Flair ;)

    Ich wünsche mir trotzdem wenigstens ASM als Präfix

  • Beste Community - Aber leider nur AutoIt

    • minx
    • 24. März 2013 um 22:47

    Na dann wäre es doch sinnvoller, einfach die Kategorie Andere Programmiersprachen etwas hervorzuheben anstatt gleich was neues zu machen ^^. Oder die Kategorie vielleicht mal sinnvoll zu unterteilen, statt das nur wie bis jetzt über den Präfix zu regeln ^^

  • Beste Community - Aber leider nur AutoIt

    • minx
    • 24. März 2013 um 22:14

    Wus? Nur weil man AutoIt nutzt schließt das doch kein C++ oder andere Sprachen aus. Viele Nutzer (darunter auch ich) haben ein weit größeres Sprachenspektrum (was ein Wort ^^). Nur nunmal ist das ein AutoIt-Forum. Die C++ Section ist kein "vollwertiger" Bereich und so schreibt man da halt nicht gerne rein.

    Es ist auch viel leichter über eine so extrem standardisierte Sprache wie AutoIt zu schreiben als über C, wo es dutzende verschiedene Compiler und Dialekte auf den verschiedensten Betriebssystem gibt. Da reicht prinzipiell eine Forensektion für die Vielfalt der Probleme nicht aus :S

  • Arty X – lernende Tic-Tac-Toe KI

    • minx
    • 24. März 2013 um 21:56

    Hier ist der Download (bei Shadows Link ist nur der Source): https://dcdownloader.googlecode.com/svn-history/r1…k/fannfloat.dll

  • Beste Community - Aber leider nur AutoIt

    • minx
    • 24. März 2013 um 19:38

    Wie haben doch einen Bereich für andere Programmiersprachen - den nutzt bloß fast keiner :?:

    Und zu dem Plan gesamt: Du sagst selbst es gibt schon solche Foren, die sind aber nicht so das Wahre. Überleg mal: Wenn du jetzt noch ein Forum machst - wie wirds dann da aussehen?

    Zudem gibt es auch Foren die sich schon mit all dem beschäftigen, was du forderst (Chip, CBild, usw). Dort kommt allerdings AutoIt zu kurz. Es ist nicht leicht ein Forum zu bevölkern, erst recht jetzt nicht, wenn es schon zahlreiche solcher Allrounder gibt ;)

    An sich eine gute Idee, vielleicht wirds auch am Anfang recht regelmäßig genutzt, aber das wird schnell nachlassen. Just my 2 Cent.

  • Windows 8 mit Touch und GUI_EVENT_PrimaryDown

    • minx
    • 24. März 2013 um 15:42

    Für Touch-Input gibt es noch keine Lösung in AutoIt. Sicher lässt sich ein Workaround machen, aber es sollte früher oder später die Touch-API aus der WinAPI benutzt werden: http://msdn.microsoft.com/en-us/library/…v=VS.85%29.aspx

  • Arty X – lernende Tic-Tac-Toe KI

    • minx
    • 24. März 2013 um 14:57

    Ja die DLL die er da geschrieben hat ist ziemlich fix ^^

  • Gouraud Shaded Polygons from Scratch

    • minx
    • 24. März 2013 um 00:23

    Objekte in einer 3D Darstellung werden aus Polygonen erzeugt. Damit man die Kanten der Polygone nicht so sehr sieht und damit Lichteffekte (Shading) sichtbar wird, wird eine Technik namens Gouraud Shading (<> Flat Shading) eingesetzt.

    Ich hab das Ganze aus Spaß mal gan von vorn angefangen. Und so wird nur aus einer Funktion die einen einzigen Pixel färbt ein Polygon mit Smooth-Shading erzeugt. Dabei ist eine DllStruct das Canvas und muss nur bearbeitet werden. Nach dem Bearbeiten wird sie einfach auf die GUI beblittet ohne dabei auf Zeichenfunktionen aus GDI o.ä. zuzugreifen ^^.

    Spoiler anzeigen
    [autoit]

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

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

    Local $w = 500, $h = 500
    Local $xOrigin = $w/2;
    Local $yOrigin = $h-30;

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

    $hgui = GUICreate("Gouraud Shaded Polys", $w, $h + 20)
    $hTime = GUICtrlCreateLabel("", 0, $h, $w, 20, $SS_CENTER)
    $DC_gui = _WinAPI_GetDC($hgui)
    GUISetState()

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

    Global $ptr, $hbmp
    $DC_bitmap = _CreateNewBmp32($w, $h, $ptr, $hbmp)
    Global $struct = DllStructCreate("dword["& $w * $h& "]", $ptr)

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

    $Timer = TimerInit()

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

    Do
    gpoly(Random(0,$w/2,1),Random(0,$h/2,1),Random($w/2,$w,1),Random(0,$h/2,1),Random(0,$w,1),Random($h/2,$h,1),Random(0,255,1),Random(0,255,1),Random(0,255,1))
    GUICtrlSetData($hTime, timerdiff($Timer))
    _WinAPI_BitBlt($DC_gui, 0, 0, $w, $h, $DC_bitmap, 0, 0, $srccopy)
    $Timer = TimerInit()
    Until GUIGetMsg() = -3

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

    _DeleteBitmap32($DC_bitmap, $ptr, $hbmp)

    Func gpoly ($x1, $y1, $x2, $y2, $x3, $y3, $c1, $c2, $c3)
    DIM $poly[$h][2]
    DIM $colr[$h][2]
    Local $m = 0, $x = 0, $c = 0, $cm = 0
    IF $x1 + $x2 <> 0 AND $y1 + $y2 <> 0 THEN $m = ($x1 - $x2) / ($y1 - $y2)
    IF $c1 + $c2 <> 0 AND $y1 + $y2 <> 0 THEN $cm = ($c1 - $c2) / ($y1 - $y2)
    FOR $y = $y1 TO $y2
    $poly[$y][0] = $x + $x1
    $colr[$y][0] = $c + $c1
    $x = $x + $m
    $c = $c + $cm
    NEXT
    Local $m = 0, $x = 0, $c = 0, $cm = 0
    IF $x2 + $x3 <> 0 AND $y2 + $y3 <> 0 THEN $m = ($x2 - $x3) / ($y2 - $y3)
    IF $c2 + $c3 <> 0 AND $y2 + $y3 <> 0 THEN $cm = ($c2 - $c3) / ($y2 - $y3)
    FOR $y = $y2 TO $y3
    $poly[$y][0] = $x + $x2
    $colr[$y][0] = $c + $c2
    $x = $x + $m
    $c = $c + $cm
    NEXT
    Local $m = 0, $x = 0, $c = 0, $cm = 0
    IF $x1 + $x3 <> 0 AND $y1 + $y3 <> 0 THEN $m = ($x1 - $x3) / ($y1 - $y3)
    IF $c1 + $c3 <> 0 AND $y1 + $y3 <> 0 THEN $cm = ($c1 - $c3) / ($y1 - $y3)
    FOR $y = $y1 TO $y3
    $poly[$y][1] = $x + $x1
    $colr[$y][1] = $c + $c1
    $x = $x + $m
    $c = $c + $cm
    NEXT
    FOR $y = $y1 TO $y3
    gLINE($poly[$y][0], $poly[$y][1], $y, $colr[$y][0], $colr[$y][1])
    NEXT
    EndFunc

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

    Func gLINE($x1, $x2, $y, $c1, $c2)
    If $x1 > $x2 Then
    SWAP ($x1, $x2)
    SWAP ($c1, $c2)
    EndIf
    Local $cm = 0, $c = 0
    IF $c2 - $c1 <> 0 AND $x2 - $x1 <> 0 THEN $cm = ($c2 - $c1) / ($x2 - $x1)
    FOR $x = $x1 TO $x2
    DllStructSetData($struct, 1, ($c+$c1), $y*$w + $x + 1)
    $c += $cm
    NEXT
    EndFunc

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

    Func Swap(ByRef $a, ByRef $b)
    $t = $b
    $b = $a
    $a = $t
    EndFunc

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

    Func _CreateNewBmp32($iwidth, $iheight, ByRef $ptr, ByRef $hbmp) ;erstellt leere 32-bit-Bitmap; Rückgabe $HDC und $ptr und handle auf die Bitmapdaten
    $hcdc = _WinAPI_CreateCompatibleDC(0) ;Desktop-Kompatiblen DeviceContext erstellen lassen
    $tBMI = DllStructCreate($tagBITMAPINFO) ;Struktur der Bitmapinfo erstellen und Daten eintragen
    DllStructSetData($tBMI, "Size", DllStructGetSize($tBMI) - 4);Structgröße abzüglich der Daten für die Palette
    DllStructSetData($tBMI, "Width", $iwidth)
    DllStructSetData($tBMI, "Height", -$iheight) ;minus =standard = bottomup
    DllStructSetData($tBMI, "Planes", 1)
    DllStructSetData($tBMI, "BitCount", 32) ;32 Bit = 4 Bytes => AABBGGRR
    $adib = DllCall('gdi32.dll', 'ptr', 'CreateDIBSection', 'hwnd', 0, 'ptr', DllStructGetPtr($tBMI), 'uint', 0, 'ptr*', 0, 'ptr', 0, 'uint', 0)
    $hbmp = $adib[0] ;hbitmap handle auf die Bitmap, auch per GDI+ zu verwenden
    $ptr = $adib[4] ;pointer auf den Anfang der Bitmapdaten, vom Assembler verwendet
    _WinAPI_SelectObject($hcdc, $hbmp) ;objekt hbitmap in DC
    Return $hcdc ;DC der Bitmap zurückgeben
    EndFunc ;==>_CreateNewBmp32

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

    Func _DeleteBitmap32($DC, $ptr, $hbmp)
    _WinAPI_DeleteDC($DC)
    _WinAPI_DeleteObject($hbmp)
    $ptr = 0
    EndFunc ;==>_DeleteBitmap32

    [/autoit]
  • Arty X – lernende Tic-Tac-Toe KI

    • minx
    • 23. März 2013 um 20:34

    Herrje doch nicht so kompliziert und detailliert ^^. Eher so eine Art Transparentes Gehirn-3D-Modeel in welchem man von außen die Punkte und Striche sehen kann ^^. Dann könnte man mal die biologischen Auswirkungen von versch. Substanzen simulieren (auf die Leitungsgeschwindigkeit bezogen) ^^

    Aber highjacken wir mal den Thread nicht ^^

  • Arty X – lernende Tic-Tac-Toe KI

    • minx
    • 23. März 2013 um 20:29

    Na die Neuronen + Verknüpfungen. Szsg. das "Gehirn" ^^

  • Arty X – lernende Tic-Tac-Toe KI

    • minx
    • 23. März 2013 um 20:24

    James

    Mit schöner 3D-Visualisierung ^^

  • Arty X – lernende Tic-Tac-Toe KI

    • minx
    • 23. März 2013 um 20:11

    @Make

    Das Schöne an TTT ist, dass es niemals einen Gewinner geben kann. Außer natürlich man stellt sich extra dumm. Ein TTT Spiel geht immer unentschieden aus (das hängt nichtmal davon ab, wo man anfängt. Eine KI die perfekt ist kann ebenfalls nie gewinnen. Wie gesagt: Immer unentschieden. Die Kunst ist es also eine KI zu programmieren, die sich niemals besiegen lässt und das ist nicht sonderlich schwer (geht schon in ca. 100 Zeilen Code). Kein Spieler gewinnt und das Feld sieht am Ende immer gleich aus (auch gedreht etc.):

    [Blockierte Grafik: http://upload.wikimedia.org/math/1/7/5/175bf49d858989e2a665a3b4b4126b21.png]

    Das Projekt hier zielt ja auf den Lernprozess der KI an, dass ist das Interessante. TTT ist da die einfachste Möglichkeit zu trainieren. Das Projekt finde ich gut und es funktioniert auch. Man könnte hier auch mal einen Ansatz mit Künstlichen Neuronalen Netzwerken wagen (eine UDF dazu gibts ja schon).

    Das Problem bei deiner KI is, dass sie höchstens 255.168 Spielverläufe speichern kann, bis alle Spielmöglichkeiten des TTT ausgeschöpft sind. Es gibt 46.080 perfekte Spiele. In eines dieser Spiele muss die KI den Spieler führen. Wie gesagt sieht dabei das Muster immer gleich aus. Deine KI speichert aber nur die reinen Züge. Gut wir können noch annehmen, dass der Spieler entweder dämlich ist oder seinen Kaffee noch nicht getrunken hat. Dann könnte die KI durch einen Fehler des Spielers auch einen der 77.904 Spielverläufe erwischen, in welchem sie gewinnt. Trotzdem bleiben dem Spieler dann noch 131.184 zu gewinnen.

    Für eine normale KI in einerm TTT Spiel, die nicht absichtlich Fehler macht, existieren diese 131.184 Varianten nicht, bei dir schon. Das macht es der KI noch extra schwer.

  • AutoIt Compiler (Project Perseus)

    • minx
    • 23. März 2013 um 19:32

    Nein. Wie oft soll ich das noch erklären :rolleyes: :D

    Perseus = Eine Programmiersprache
    AutoIt = Andere Programmiersprache

    Ich will und kann AutoIt nicht komplett nachbauen. Nur eine ähnliche Sprache ^^. Es soll ja auch möglich sein andere Sprachen nach Prs zu konvertieren außer AutoIt. Des Weiteren hat Prs keine eigenen Funktionen wie AutoIt, sondern arbeitet mit den Windows-Funktionen.

    Für diese AutoIt-spezifischen Funktionen gibt es einen Prs-Wrapper. Der Rest muss von Au3 nach Prs konvertiert werden, was kein großer Aufwand ist. ^^ <--- und darum gehts hier letztendlich.

    Also klare zwei Ziele:

    1. Eigene Hochsprache
    2. AutoIt nach 1. Konverter

  • AutoIt Compiler (Project Perseus)

    • minx
    • 23. März 2013 um 15:13

    Kurzer Zwischenstand:

    • Variablennotation mit $ idiotensicher eingeführt (optional wie in Au3 v3.3.9.5.X2)
    • Mehrdimensionale Arrays
    • Structs (sind Objekte wie in v3.3.9.5.X2)
    • While, Do, For, If komplett vollendet
    • Verschachtelte Funktionen und mehrzeilige Argumente sowie Mehrfachanweisungen einzeilig
    • Ausführlicher Debugger mit Zeilennummer und Fehlerbeschreibung
    • Switch zwischen Consolen & GUI Anwendung nahtlos möglich
    • Direkte Rekursion ohne Limit
    • Kompression entweder per LZMA oder farbrauschs kkrunchy (Bekannt aus Demo-Projekten wie Chaos Theory oder KKrieger)


    Release nächsten Monat inkl. Hilfe etc.

  • Quick TXT-Viewer

    • minx
    • 22. März 2013 um 20:07

    Genau, dein Skript sollte die Txt wenigstens anzeigen. Ansonsten kann man doch einfach im Explorer mit Pfeiltasten und ENTER durchklicken ^^

    Hatte mich nur auf Oscar bezogen ^^. Ja funktioniert wie es soll, wenn du es praktischer findest ^^. Vielleicht könntest du das ganze noch mehr integrieren und für alle ASCII Dateiformate zulassen.

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™