Zum Inhalt der Seite

Thread: [Death Note | Programm | GNU GPL] Virtual Death Note

Eröffnet am: 21.08.2011 15:54
Letzte Reaktion: 23.08.2011 18:49
Beiträge: 5
Status: Offen
Unterforen:
- Eigene Projekte
- Death Note




Verfasser Betreff Datum
Seite 1
Ki13 [Death Note | Programm | GNU G... 21.08.2011, 15:54
Steve [Death Note | Programm | GNU G... 21.08.2011, 23:01
Ki13 [Death Note | Programm | GNU G... 22.08.2011, 00:32
Steve [Death Note | Programm | GNU G... 23.08.2011, 17:34
Ki13 [Death Note | Programm | GNU G... 23.08.2011, 18:49
Seite 1



Von:   abgemeldet 21.08.2011 15:54
Betreff: [Death Note | Programm | GNU GPL] Virtua... [Antworten]
Avatar
 
Ihr wolltet schon immer ein eigenes Death Note haben?
Ihr wolltet für eine bessere Welt kämpfen, indem ihr die Namen derer eintragt, die ihr nicht mögt?
Und ihr wollt nicht länger darauf warten, bis ein Shinigami endlich mal wieder eines für euch fallen lässt?

Dann habe ich DIE Lösung für euch: das Virtual Death Note

Es ist ein Death Note wie jedes andere, aber für den PC! Einfach herunterladen, kompilieren und in der BASH oder jeder anderen Eingabeaufforderung starten!

Und das beste: Es steht unter der GNU/GPL! Ihr könnt es also frei bearbeiten und auch mal eine Regel löschen oder hinzufügen!

Das Virtual Death Note! Kompiliert es noch heute für eine bessere Welt!

----------

Download:
http://ki-omniarts.de/hg/DeathNote/

----------

EDIT:
Quickfix, Version 1.0.1 behebt den Bug, dass statt eines Leerzeichens ein Linebreak eingefügt wird.
Mit freundlichen Grüßen,

Ki von ki-omniarts.de
Zuletzt geändert: 23.08.2011 18:32:58



Von:   abgemeldet 21.08.2011 23:01
Betreff: [Death Note | Programm | GNU GPL] Virtua... [Antworten]
Avatar
 
Hallo,

ich weiß nicht ob der Standard Death Note Fan jetzt unbedingt Ahnung hat wie man ein C++ Programm durch den Compiler jagt. Meinst du nicht dass diese Wahl vielleicht etwas unpassend ist? Mal abgesehen davon wäre da eine GUI vermutlich besser geeignet als die Komandozeile/der Komando-Interpreter. Ich bin jetzt nicht sonderlich bewandert was C++ angeht, für mich sieht das Coding aber ziemlich chaotisch und ineffizient aus. Auch C++ hat meines Wissens objektorientierte Ansätze sodass man Werte (auch Strings) in einer Variable speichern und jene im Coding verwenden kann. Was das Ein- und Auslesen angeht sieht das für mich auch ziemlich kompliziert aus, ich kann mir nicht vorstellen dass es keine effizientere Möglichkeiten dafür gibt.
Mit freundlichen Grüßen,
Steve



Von:   abgemeldet 22.08.2011 00:32
Betreff: [Death Note | Programm | GNU GPL] Virtua... [Antworten]
Avatar
 
abgemeldet:
> ich weiß nicht ob der Standard Death Note Fan jetzt unbedingt Ahnung hat wie man ein C++ Programm durch den Compiler jagt.

Dazu habe ich eine Anleitung beigelegt. Ich bin mit einem 64-Bit-Linux-Betriebssystem nicht ohne Weiteres in er Lage, ausführbare Dateien für alle denkbaren Drittsysteme zu kompilieren. Und da es nur ein sehr kleines Programm ist, das sogar noch unter die GNU/GPL fällt, kann ein Endnutzer sich ruhig mal ein klein wenig über das Compilieren bilden, finde ich. ;)

> Meinst du nicht dass diese Wahl vielleicht etwas unpassend ist?

Mag sein, aber für mich war es eher eine kleine Spielerei als ein ernsthaftes Projekt. Dennoch dachte ich, es nicht unbedingt auf meiner Platte vergammeln lassen zu müssen, vielleicht kann ja jemand etwas damit anfangen. :)

> Mal abgesehen davon wäre da eine GUI vermutlich besser geeignet als die Komandozeile/der Komando-Interpreter.

Ich denke, das ist Geschmackssache. Ich finde eine GUI überbewertet, aber die meisten Windows-Nutzer scheinen leider nichts anderes zu kennen.

> Ich bin jetzt nicht sonderlich bewandert was C++ angeht, für mich sieht das Coding aber ziemlich chaotisch und ineffizient aus.

Für Kritik und Verbesserungsvorschläge bin ich gern offen. :)

> Auch C++ hat meines Wissens objektorientierte Ansätze sodass man Werte (auch Strings) in einer Variable speichern und jene im Coding verwenden kann.

Das habe ich doch gemacht. Ich speichere z.B. alle HowToUseIt-Einträge in einen Vector, sowie auch Ein- und Ausgabe, OOP nutze ich ebenfalls. Die Klasse Note beinhaltet die 3 notwendigen Funktionen, die vom Programm aufgerufen werden müssen. Außerdem ist vieles in Libraries ausgelagert.

> Was das Ein- und Auslesen angeht sieht das für mich auch ziemlich kompliziert aus, ich kann mir nicht vorstellen dass es keine effizientere Möglichkeiten dafür gibt.

Ursprünglich wollte ich die gespeicherten Daten in "Seiten" einteilen, was mir für ein so kleines Programm dann aber doch zu kompliziert schien, als dass es den Aufwand wert wäre. Das Programm kann Regel ausgeben, Einträge speichern und auch wieder ausgeben, damit tut es so, als wäre es ein Death Note. Es ist nichts besonderes, nur ein kleines Spielzeug. :D
Mit freundlichen Grüßen,
Ki
Zuletzt geändert: 22.08.2011 00:33:36



Von:   abgemeldet 23.08.2011 17:34
Betreff: [Death Note | Programm | GNU GPL] Virtua... [Antworten]
Avatar
 
Hallo abgemeldet,

sorry, mein letztes Posting ist nach dem gestrigen/heutigen Textfeld-Problem leider nicht angekommen, daher poste ich meine Antwort nun nochmal,

> abgemeldet:
> > ich weiß nicht ob der Standard Death Note Fan jetzt unbedingt Ahnung hat wie man ein C++ Programm durch den Compiler jagt.
>
> Dazu habe ich eine Anleitung beigelegt. Ich bin mit einem 64-Bit-Linux-Betriebssystem nicht ohne Weiteres in er Lage, ausführbare Dateien für alle denkbaren Drittsysteme zu kompilieren. Und da es nur ein sehr kleines Programm ist, das sogar noch unter die GNU/GPL fällt, kann ein Endnutzer sich ruhig mal ein klein wenig über das Compilieren bilden, finde ich. ;)

Naja, ich hab zwar keine aktuelle Statistik was verwendete Betriebssysteme auf Animexx angeht, würde aber mal sagen dass sich Windows so ca. im Rahmen 90-98% bewegt. Selbst wenn es nur ein kleines Spiel-Programm ist wird es vermutlich nicht sonderlich viel Anklang finden wenn du voraussetzt dass der User es selbst kompiliert.

Zur Info:
Ich habe das Programm unter Windows 7 in Cygwin mittels gcc/g++ kompiliert und in cygwin ausgeführt.

> > Mal abgesehen davon wäre da eine GUI vermutlich besser geeignet als die Komandozeile/der Komando-Interpreter.
>
> Ich denke, das ist Geschmackssache. Ich finde eine GUI überbewertet, aber die meisten Windows-Nutzer scheinen leider nichts anderes zu kennen.

Gut, man kann auch reine Text-GUIs verwenden, auf allgemeinen Anklang stößt das imho aber nicht unbedingt. Das mag ja für kleinere Installer/Skripte ausreichen, für ein Spiel, gerade wenn ich jetzt mal Death Note als etwas eher Visuelles sehe, ist es imho nicht unbedingt gut geeignet.

> > Ich bin jetzt nicht sonderlich bewandert was C++ angeht, für mich sieht das Coding aber ziemlich chaotisch und ineffizient aus.
>
> Für Kritik und Verbesserungsvorschläge bin ich gern offen. :)

Da du ja im Eröffnungsposting meintest man könne die Regeln auch ändern wäre es imho eine Überlegung wert die Regeln/das Regelwerk in eine extra Datei zu packen und jene beim Start des Programms einzulesen. So bringt man etwas mehr Flexibilität in das Programm und es ist nicht mehr notwendig das ganze Programm neu zu kompilieren wenn man eine Regel leicht abändert. Von der Ausgabe her findet ich die Ausgabe mittels Parameter mit Seitenangabe eher unpraktisch, da würde ich in dem Zug überlegen ob die eingelesene Datei nicht stückweise ausgegeben werden kann (z.B. durch Verwendung einer while/for-Schleife sowie das Warten auf eine Benutzereingabe, z.B. den Tastendruck auf Enter).

Was die Ausgabe von Texten angeht würde ich überlegen ob man zur besseren Strukturierung nicht die Menü-Text in einem String speichert und dann jenen einbindet. Ist vielleicht für die zukünftige Wartung des Programms einfacher.

Für die Ausgabe verwendest du ja "std::cout", hier könnte man sich vielleicht den mehrfachen Aufruf sparen indem man den Text zwischenspeichert und dann nur einmal mittels "std::cout" oder "print"/"printf" ausgibt. Ich weiß nicht wie es sich unter C/C++ verhält, in Java achtet man normalerweise darauf dass Standard-I/O-Methoden nicht zu häufig aufgerufen werden und greift auf Hilfskonstrukte wie Variablen oder Buffer zurück.

Was die "Installation" angeht wird ja eine leere Datei namens "deathnotedata" kopiert in der die Namen später gespeichert werden sollen. Selbst wenn das Programm diese Datei nicht hat wird jene beim Lesen/Schreiben nach meinem Test automatisch erzeugt, daher macht es irgendwie nicht viel Sinn jene bei der Installation mit zu kopieren.

Zum Programm/der Navigation:
Was die How to Use-Funktion angeht hatte ich oben bereits beschrieben wie man jene abändern könnte. Was mir auffällt ist dass das Programm mit verschiedenen Parametern aufgerufen werden muss. Da würde ich überlegen ob es nicht ein schlichtes Hauptmenü (0 = Programm beenden, 1 = Eintrag schreiben, 2 = Eintrag lesen ... als Beispiel, dann warten auf eine Benutzereingabe) mehr Sinn machen würde. Ich finde die Bedienung (für ein Spiel) aktuell selbst für Kommandozeilen-Verhältnisse ziemlich umständlich.

Was das Schreiben angeht würde ich überlegen ob nicht neben der Name noch ein Grund bzw. eine Todesart oder ein Werdegang hinzugefügt werden sollte (sorry, ich kenne mich mit Death Note nicht sonderlich gut aus).
Von der Ausgabe her würde ich überlegen ob man statt einer "Text"-Datei nicht auch eine HTML-Datei (deathnotedata.html) verwenden könnte in der man das "Death Note" noch etwas mit Textformatierung (Schrift, Farbe) erweitert sodass der Endnutzer die Datei im Browser öffnen und das Death Not bestaunen kann.



> > Auch C++ hat meines Wissens objektorientierte Ansätze sodass man Werte (auch Strings) in einer Variable speichern und jene im Coding verwenden kann.
>
> Das habe ich doch gemacht. Ich speichere z.B. alle HowToUseIt-Einträge in einen Vector, sowie auch Ein- und Ausgabe, OOP nutze ich ebenfalls. Die Klasse Note beinhaltet die 3 notwendigen Funktionen, die vom Programm aufgerufen werden müssen. Außerdem ist vieles in Libraries ausgelagert.

Okay, ich habe mich mittlerweile etwas besser eingefunden und die objektorientierten Ansätze gefunden.
Mit freundlichen Grüßen,
Steve



Von:   abgemeldet 23.08.2011 18:49
Betreff: [Death Note | Programm | GNU GPL] Virtua... [Antworten]
Avatar
 
> sorry, mein letztes Posting ist nach dem gestrigen/heutigen Textfeld-Problem leider nicht angekommen, daher poste ich meine Antwort nun nochmal,

Ich habe mich schon gewundert und gefragt, ob es eine Art Trolling sein soll. Entschuldige bitte diese Annahme.

> Naja, ich hab zwar keine aktuelle Statistik was verwendete Betriebssysteme auf Animexx angeht, würde aber mal sagen dass sich Windows so ca. im Rahmen 90-98% bewegt. Selbst wenn es nur ein kleines Spiel-Programm ist wird es vermutlich nicht sonderlich viel Anklang finden wenn du voraussetzt dass der User es selbst kompiliert.
>
> Zur Info:
> Ich habe das Programm unter Windows 7 in Cygwin mittels gcc/g++ kompiliert und in cygwin ausgeführt.

Wie gesagt, es ist nur ein Angebot für die, die es interessiert und die etwas damit anzufangen wissen. :)
Windows-Support kann ich leider nicht bieten, da fehlt mir die Kenntnis.

> Gut, man kann auch reine Text-GUIs verwenden, auf allgemeinen Anklang stößt das imho aber nicht unbedingt. Das mag ja für kleinere Installer/Skripte ausreichen, für ein Spiel, gerade wenn ich jetzt mal Death Note als etwas eher Visuelles sehe, ist es imho nicht unbedingt gut geeignet.

Vielleicht bekommt ja jemand Lust, eine GUI einzuprogrammieren. ;)

> Da du ja im Eröffnungsposting meintest man könne die Regeln auch ändern wäre es imho eine Überlegung wert die Regeln/das Regelwerk in eine extra Datei zu packen und jene beim Start des Programms einzulesen. So bringt man etwas mehr Flexibilität in das Programm und es ist nicht mehr notwendig das ganze Programm neu zu kompilieren wenn man eine Regel leicht abändert. Von der Ausgabe her findet ich die Ausgabe mittels Parameter mit Seitenangabe eher unpraktisch, da würde ich in dem Zug überlegen ob die eingelesene Datei nicht stückweise ausgegeben werden kann (z.B. durch Verwendung einer while/for-Schleife sowie das Warten auf eine Benutzereingabe, z.B. den Tastendruck auf Enter).

Ja, könnte man so machen. Die Regeln sind allerdings statisch, daher weiß ich nicht, ob "Abändern" so viel Sinn machen würde.

> Was die Ausgabe von Texten angeht würde ich überlegen ob man zur besseren Strukturierung nicht die Menü-Text in einem String speichert und dann jenen einbindet. Ist vielleicht für die zukünftige Wartung des Programms einfacher.
>
> Für die Ausgabe verwendest du ja "std::cout", hier könnte man sich vielleicht den mehrfachen Aufruf sparen indem man den Text zwischenspeichert und dann nur einmal mittels "std::cout" oder "print"/"printf" ausgibt. Ich weiß nicht wie es sich unter C/C++ verhält, in Java achtet man normalerweise darauf dass Standard-I/O-Methoden nicht zu häufig aufgerufen werden und greift auf Hilfskonstrukte wie Variablen oder Buffer zurück.

Das wäre ein Möglichkeit, die bei größeren Projekten auf jeden Fall von Vorteil ist. Dort speichert man solche Ausgaben für gewöhnlich in Konstanten ab.
Was Standard-I/O angeht, hat C++ meines Wissens keinerlei Probleme. Printf finde persönlich ich im Quellcode nicht sehr ansehnlich, aber das ist eher eine Sache des Geschmacks als der Effektivität.

> Was die "Installation" angeht wird ja eine leere Datei namens "deathnotedata" kopiert in der die Namen später gespeichert werden sollen. Selbst wenn das Programm diese Datei nicht hat wird jene beim Lesen/Schreiben nach meinem Test automatisch erzeugt, daher macht es irgendwie nicht viel Sinn jene bei der Installation mit zu kopieren.

Das Nichtvorhandensein der leeren Datei hat mir im Programmierungsprozess ein paar Probleme bereitet. Eigentlich dürfte es zu keinerlei Bugs oder Fehlern mehr kommen, aber nur um sicher zu gehen, habe ich das Kopieren der leeren Datei vorerst drin gelassen.

> Zum Programm/der Navigation:
> Was die How to Use-Funktion angeht hatte ich oben bereits beschrieben wie man jene abändern könnte. Was mir auffällt ist dass das Programm mit verschiedenen Parametern aufgerufen werden muss. Da würde ich überlegen ob es nicht ein schlichtes Hauptmenü (0 = Programm beenden, 1 = Eintrag schreiben, 2 = Eintrag lesen ... als Beispiel, dann warten auf eine Benutzereingabe) mehr Sinn machen würde. Ich finde die Bedienung (für ein Spiel) aktuell selbst für Kommandozeilen-Verhältnisse ziemlich umständlich.

Ist unter Command-Line-Programmen unter Linux Standard, daher habe ich mich daran orientiert.

> Was das Schreiben angeht würde ich überlegen ob nicht neben der Name noch ein Grund bzw. eine Todesart oder ein Werdegang hinzugefügt werden sollte (sorry, ich kenne mich mit Death Note nicht sonderlich gut aus).
> Von der Ausgabe her würde ich überlegen ob man statt einer "Text"-Datei nicht auch eine HTML-Datei (deathnotedata.html) verwenden könnte in der man das "Death Note" noch etwas mit Textformatierung (Schrift, Farbe) erweitert sodass der Endnutzer die Datei im Browser öffnen und das Death Not bestaunen kann.

Das wäre mal eine interessante Sache, deren Umsetzung sich noch einmal lohnen würde. :)

Danke für den Vorschlag und deine Kritik.
Mit freundlichen Grüßen,

Ki von ki-omniarts.de





Zurück