Forum

> > Off Topic > TGT
Forums overviewOff Topic overviewLog in to reply

German TGT

44 replies
Page
To the start Previous 1 2 3 Next To the start

old TGT

stealth
User Off Offline

Quote
TGT ist ein netter Text Game Parser den ich mit D geproggt hab
Ihr könnt ihn euch hier laden: http://randleer.ra.funpic.de/
Ich hab da auch das Textgame hochgeladen, das ich zum Testen verwendet hab.

Ich hab keine Windows exe datei erstellt, das heisst wenn ihr das Teil unter Windows testen wollt müsst ihr es erst kompilieren, was euch aber etwas schwerer fallen könnte weil ich es ja mit D geproggt hab

Hier gibs Compiler:
• http://digitalmars.com/d/dcompiler.html (empfohlen :P)
• http://dgcc.sourceforge.net/

old Re: TGT

bizzl
User Off Offline

Quote
ich schau es mir mal an.

old Re: TGT

Pommes die Fritte
User Off Offline

Quote
Nur mal so ne Frage: Wie kann man in C++ machen, wenn man ein TextGame macht, dass man z.B. ein Item aufnimmt?? Da könnte ich dann ja auch mal eins machen (nach Petsimulator ).

old Re: TGT

stealth
User Off Offline

Quote
Naja du könntest z B eine Klasse item machen. Dann hast du noch ein Array das objekte von item aufnimmt, und alle items die in dem array sind hat man dann.
Oder wenns dir nur um den Namen geht kannst du auch ein Array machen das Strings aufnimmt und die Strings stellen items dar.
Wies halt am besten passt

old Re: TGT

Pommes die Fritte
User Off Offline

Quote
Wie kann man ner Variablen (char) nen String zuweisen? Ich kann nur immer eine Ziffer, Buchstaben oder Sonderzeichen zuweisen.

old Re: TGT

stealth
User Off Offline

Quote
Entweder es gibt nen Typ string (so wie char), oder ein Array aus chars (char[]) ergibt einen String.
Keine Ahnung wie das bei C++ ist

old Re: TGT

jeepohahyo
User Off Offline

Quote
Exakt dies ist es.Ein char kann gar keinen String aufnehmen, da in dem Teil nur ein Byte Platz ist

Ein String ist in C ein Array von chars, das von NULL abgeschlossen wird. In C++ gibt es dazu noch ein Objekt "String", das komfortabler zu gebrauchen ist. Um dieses zu benutzen musst du erst mit #include <string> die nötige Headerdatei einbinden

old Re: TGT

stealth
User Off Offline

Quote
Was ist an nem array von chars so unkomfortabel?
In D ist das auch so

old Re: TGT

jeepohahyo
User Off Offline

Quote
Hmm, bin nicht ganz sicher, müsste aber so lauten:

1
2
3
4
#include <string>
[...]
string test = new string("Das ist ein Test-String!");
cout << test;
Befehle musst du aber selber raussuchen.

@stealth: char-Arrays sind fies. Mach mal was, das nicht über einen Befehl in string.h geht, dann siehst du das sofort ein.
Vllt ist ja in D die Standardbibliothek zur Stringbehandlung besser ausgebaut oder so. Naja.

EDIT: Hab noch was besseres gefunden: http://www.cppreference.com/cppstring/string_constructors.html

old Re: TGT

stealth
User Off Offline

Quote
In D kommt halt alles mit char[] zurecht und gut is. string gibs gar nicht.

Es gibt zwar eine lib std.string, aber die arbeitet auch nur mit char[] und stellt Funktionen bereit wie tolower() (String komplett klein schreiben).

old Re: TGT

bizzl
User Off Offline

Quote
stealth has written
Was ist an nem array von chars so unkomfortabel?
In D ist das auch so

Ich nehme mal an D hat nicht-null-terminierte Strings, so wie Pascal?
Dann ist das natürlich klar.
Zudem scheint D ja mit offenen Arrays ala PHP klar zu kommen, während du bei C irgendwelche Schrecklichen Pointer-Konstrukte brauchst.

Aber zum Thema:
Nettes Teil, gefällt mir. Allerdings würde ich von vornherein auch bei echo die Ausgabezeichenketten in " fassen. Ansonsten ist der Designansatz ganz okay.

old Re: TGT

stealth
User Off Offline

Quote
Meinst du man soll echo ("Blubber") schreiben, also mit Anführungszeichen? Warum?

old Re: TGT

bizzl
User Off Offline

Quote
weil es so üblich ist
Nein, ehrlich, ich fände es so schöner, und wenn ich TGM je komplett remimplementieren müsste würde ich die auch einführen.
Es gehört sich einfach das Strings so geklammert sind

old Re: TGT

stealth
User Off Offline

Quote
Hmm ok..
Es ergibt aber vom Source-technischen her keinen Sinn

Edit
Also ich hab das jetzt eingebaut...
Aber jetzt wo ich alle Strings in der textgame1.txt mit Anführungszeichen umschliess frag ich mich..
Hats das wirklich gebraucht?
edited 1×, last 01.05.07 09:16:08 pm

old Re: TGT

jeepohahyo
User Off Offline

Quote
Ja, es verärgert den großen EDV-Gott, wenn Strings nicht in Anführungszeichen stehen

old Re: TGT

stealth
User Off Offline

Quote
Also ich werd erst dann die Strings weiter mit Anführungszeichen umschliessen wenn ihr mich mehr überzeugt habt

Edit
Wisst ihr, wenn man eine Variable ausgeben will, schreibt man ja den name in eckigen Klammern. Wenn man aber nur die Variable ausgeben will, ist sie aber trotzdem ein String und das ist doch dumm?:
1
echo ("[var]")
Und ich merk grad umständlich zu schreiben isses

Edit 2
Also wenn bis morgen um sagen wir 17:00 keiner von euch mich überzeugt hat, dass die strings eingeanführungszeichent werden sollten, dann mach ich das wieder raus oO
Intern wird nämlich im Prinzip alles als Strings behandelt, auch z B die 1000 bei wait (1000)
edited 4×, last 01.05.07 11:06:35 pm

old Re: TGT

bizzl
User Off Offline

Quote
stealth has written
1
echo ("[var]")
1
echo ("Hallo ",$name,", wie geht es dir?")
oder
1
echo ("Hallo "+$name+", wie geht es dir?")
Stimmt schon, dein Weg macht es an dieser stelle unnötig, aber was wenn du mal String-Addition einbauen willst?
Es ist einfach nur verwirrend wenn du dann an einer stelle die Strings kapseln musst und an einer anderen nicht.

old Re: TGT

stealth
User Off Offline

Quote
Mir ist heute Sport ausgefallen, deswegen sei froh dass du dir nicht bis 17 Uhr zeit gelassen hast mir das zu erklären

Also sagen wir mal du hast mich überzeugt, und ich bau das so ein, wie ich mir das heute früh überlegt hab

Man kann zwar die Anführungszeichen weglassen, aber wenn das in Zukunft nicht mehr geht (wegen irgendwelchen solchen Konstrukten), oder wenn man Angst hat dass der grosse EDV-Gott auf einen losgeht, dann verwendet man eben Anführungszeichen

EDIT

Also ich hab inzwischen das mit den Strings geändert und das tolle Feature echotime hinzugefügt:
Man kann einstellen, dass wenn zwischen zwei echos kein wait oder input ist, dass dann automatisch eine Zeit gewartet wird, wielang ist abhängig davon, wie viele Zeichen ausgegeben wurden.
Werd das dann mal hochladen

EDIT 2
Ich merk grad, warum ist denn die kompilierte Datei so gross?
Ist der compiler so stupid?
edited 2×, last 03.05.07 09:03:45 pm
To the start Previous 1 2 3 Next To the start
Log in to replyOff Topic overviewForums overview