Probleme mit FSM!



  • Ich hab endlich mein Buch Gameprogramming für Dummies und hab gleich angefangen zulesen aber im 2 Kapitel kommt das Thema "Endliche Automaten(FSM)" aber ich komme mit dem Thema nicht klar 😞 hoffe es gibt gute Beispiele die ihr Posten könnt 🙂

    MFG MartinMilbret 😉



  • Endliche Automaten werden im ersten Semester eines Informatik-Studiums sehr ausführlich behandelt 😉 eigentlich ist da nichts besonders schwieriges dran. Man hat eben einen Automaten mit verschiedenen Zuständen, zwischen denen er durch eine Eingabe wechseln kann.
    Wenn Du es wirklich ausführlich willst, hol Dir das Buch "Grundkurs Theoretische Informatik"...



  • Okay danke für die Infos!
    gibt es niemanden der das gut erklären kann?



  • Kann es sein das FSM(Endliche Automaten nichts weiter sind als Objekte wie in C++?
    Den in meinem Buch steht das FSM nur Objekte aus C++ emuliert :p



  • wikipedia schon besucht?
    fsm sind weder objekte noch strukturen. fsm sind konzepte, deren implementation voellig beliebig ist.



  • hab Wiki als erstes gelesen und bin nicht wirklich schlau draus geworden 😞 werds nochmal in ruhe lesen 🙂



  • werde dir erstmal klar, was "state" bedeutet. "finite" heisst dann nur, dass die "maschine" (also das konzept) eine bestimmte anzahl an zustaenden hat.

    beispiel geldautomat:
    das teil steht lustig in der gegend rum: zustand 1.
    es wartet, dass man eine karte reinsteckt.
    karte reinstecken ist der uebergang zu einem zustand 2.
    von zustand 2 kannst du wieder zu Z1 kommen, indem du irgendwie abbrichst. dabei wird die karte ausgespuckt.
    von Z2 kannst du nach Z3 kommen, indem du die richtige geheimzahl eingibst (kann man mit mehr states ausschmuecken).
    ...

    ungefaehr durchsichtiger geworten?



  • Jopp denke schon kann ja mal versuchen ein eigenes Beispiel zumachen 😛



  • gibt es niemanden der das gut erklären kann?

    Ein DEA ist ein fünftupel bestehend aus
    - einer Endlichen Mengen von Zuständen Z
    - einer Endlichen Menge von Eingabesymbolen E
    - einer Endlichen Menge von Endzuständen F
    - einem Anfangszustand z0
    und einer Übergangsfunktion Lampda: Z X E -> Z, die jeder Kombination aus Zustand und Eingabesymbol wieder einen neuen Zustand zuordnet

    Bsp.:
    DEA = {Z; E; F; z0; Lampda} =
    {{z1, z2}; {a, b}; {z2}; z1; z1 x a |-> z1, z1 x b |-> z2, z2 x a |-> z2,
    z2 x b |-> z2}

    am besten suchst du mal nach Skripten auf Servern von Unis oder Fhs, die Skriptie zum Thema endliche Automaten anbieten - ist alles sehr einfach

    ich glaube du kannst das Buch aber auch lesen wenn du endliche Automaten nicht verstanden hast - würde mich da nicht zulange aufhalten - das einteilen eine Spieles in verschieden zustände wie z. B. menü, game, endscreen macht man intutiv



  • Die Spielzustände würd ich in nem Stack speichern, ist sehr viel flexibler als ne FSM.
    Aber es gibt in der (Spiele)Programmierung unzählige Situationen wo man ne FSM braucht, daher solltest du dir das auf jeden Fall mal in Ruhe anschauen.



  • Jo werde ich 🙂 im prinzip hab ich es verstanden 🙂 aber ich sollte mich auch erstmal um andere dinge wie WinAPI programmierung in C/C++ damit ich überhaput weiter komme mit der Spieleprogrammierung 😉


Anmelden zum Antworten