Motivation bei Privatprojekten (Split aus Diamond of Death)
-
Damits simpler wird und schneller ein Erfolgserlebnis da ist.
-
Mal mein Projektfortschritt:
- Config-Loader fertig
- Logger fertig
- Plugin und Plugin-Manager Klassen fertig
- Socket-Klasse fertig
- Console fertig
- Befehlshandler für Konsole fehlen
- Bot-Klasse, die die einzelnen Teile Koordiniert fehlt
- Plugin API fehltJa, natürlich will ich Aufmerksamkeit, was denn sonst!
-
Sehr gut, weiter so.
-
Sag mal kann es sein das du Aufmerksamkeit brauchst?
-
Ja mit so einem Kiddieprojekt wird bestimmt jeder Mega Respekt haben.
-
top schrieb:
Sag mal kann es sein das du Aufmerksamkeit brauchst?
Natürlich, kannst du nicht lesen?
KennerDerPeinlichen schrieb:
Ja mit so einem Kiddieprojekt wird bestimmt jeder Mega Respekt haben.
Will ich doch hoffen :p
-
Kleine Designfrage.
Ich möchte gerade die console-handler einbauen. Nun ist es so, dass die Klasse 'bot' ein console-Objekt, ein config-Objekt, ein socket-Objekt und ein plugin_manager-Objekt hat. Die Handler werden logischerweise bei der console registriert. Nun braucht man ja von außen auch Zugriff, um diese Handler registrieren zu können. Dafür könnte ich ja eine Funktion machen. Aber die Handler brauchen ja auch Zugriff auf die anderen Komponenten, um z.B. ein Plugin starten zu können. Wie mache ich das am schönsten?
-
Dem Handler beim Aufruf einen Zeiger auf den Bot übergeben?
-
Der Handler wird an dem console-Objekt registriert, welches jedoch den bot selbst nicht kennt. Deshalb funktioniert das nicht.
-
Was handelt so ein Handler denn zum Beispiel?
-
Alles, was der Benutzer in der Konsole eingibt, soll über die Handler geregelt werden. Soll ich vielleicht etwas Code posten?
-
314159265358979 schrieb:
Alles, was der Benutzer in der Konsole eingibt, soll über die Handler geregelt werden.
Wenn der Bot regelmäßig die Konsole pollt und die ihre Handler befragt, also alles synchron geschieht, ist das Übergeben und Weiterreichen des Bot-Zeigers doch kein Problem.
Wenn die Konsole oder der Handler als eigener Thread läuft, oder von einer allgemeinen (vielleicht globalen) onTimer() aufgerufen wird, muß der Handler sich wohl dich einen Zeiger auf den Bot merken. Vielleicht als Konstruktorparameter?
Und man kann sagen, daß im Programm es eh nur einen Bot geben kann und den Zeiger auf ihn global machen.314159265358979 schrieb:
Soll ich vielleicht etwas Code posten?
Nein, den würde ich eh nicht verstehen.
-
Die Konsole liest asynchron von stdin, und zwar mittels boost::asio und der posix_stream_descriptor Klasse, die hustbaer mir gezeigt hat. Alle Operationen im Bot laufen derzeit nur in einem Thread, allerdings sind alle Klassen thread-safe, sodass mehrere Threads kein Problem wären.
Die Konstruktor Variante habe ich auch schon überlegt, wäre ein Möglichkeit, aber vielleicht gibts ja was schöneres
-
So, der Bot an sich dürfte nun fertig sein
Das vermeintliche Problem, dass ich seit 2 Tagen nun gesucht habe, lag an Eclipse, sie hat das asynchrone Lesen von stdin nicht kapiert.
Jetzt muss noch eine Plugin API her
-
Das Projekt habe ich nun aufgegeben, da bei mir weder boost noch Eclipse ordentlich funktioniert. Macht keinen Spaß auf diese Weise, daran noch weiterzuarbeiten. Falls es jemanden interessiert, kann ich gerne den Code irgendwo hochladen.
Thread kann ansonsten geschlossen werden.
-
xD
14 Seiten und dann sowas.
-
Soviel zum Thema Motivation, Durchhaltevermögen und "Mal was fertig bekommen"
314159265358979 schrieb:
Ich bin gewillt, dieses Projekt fertigzustellen
314159265358979 schrieb:
Mein Projekt wird weitergehen, egal ob mit oder ohne Thread.
Du hast so viel Energie rein gesteckt und gibst so schnell auf nur weil du derzeit Probleme mit Eclipse und Boost hast? Wirst du nun alle Projekte aufgeben wo du Eclipse und Boost verwenden möchtest sie aber nicht funktionieren?
Das ist die falsche Einstellung.314159265358979 schrieb:
Die Sache ist die: Ich möchte endlich mal ein Projekt, das ich auch herzeigen kann. Wenn ich die Leute im IRC sehe, wie der erste mit seinem 3D-Spiel mit Raumkrümmung, der nächste mit seinem siebzehnten IRC-Daemon und der dritte mit einer eigenen Programmiersprache daherkommt, fragt man sich, ob man nicht doch irgendwas falsch macht.
-
-
Is was? Stimmen meine Aussagen von eben nicht?
Er wollte ein Projekt aufziehen und "endlich was fertig bekommen" wo er am Ende auch stolz sein kann, hat da viel Energie rein gesteckt und nun wegen ein paar Rückschlägen wird es direkt hin geschmissen.Gerade du als Moderator solltest etwas Objektiver sein und auch beim Thema bleiben
-
David W schrieb:
Gerade du als Moderator solltest etwas Objektiver sein und auch beim Thema bleiben
Nö. In erster Linie bin ich Mensch. Gerade Du als Mensch namens David solltest das zur Kenntnis nehmen.