Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Schnitter

Treue Seele

  • »Schnitter« ist der Autor dieses Themas

Beiträge: 141

Wohnort: Remshalden

Beruf: Schüler

  • Private Nachricht senden

1

19.05.2007, 18:26

Levels? - XMLparser? - ?

So. Ich wollte mal meine eigenen Level machen, bin aber schon zu Anfang auf Probleme grstoßen. Zuerst wollte ich das mit Textdateien machen:

GGGAAAAA
AAGGGAAA

z.B...Jetzt könnte ich aber schlecht z.B. den Namen des Levels festlegen.
Und dann ist noch das Problem da, wie ich das alles auswerte. Würde aber zur Not auch gehen.

Jetzt habe ich mir bei Blocks einfach mal XML abgeschaut und wollte fragen, ob es sich lohnt, welchen XML-Parser ihr mir empfehlt, etc.


MfG

2

19.05.2007, 18:37

http://msdn.microsoft.com/msdnmag/issues/07/04/Xml/Default.aspx?loc=de

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

4

19.05.2007, 21:43

http://sourceforge.net/projects/tinyxml/
@D13_Dreinig

5

19.05.2007, 22:09

Kennt auch jemand nen einfach verwendbaren .ini Parser ?

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

6

19.05.2007, 22:41

Den hast du in 5 min selbst geschrieben oder? ;)
@D13_Dreinig

7

20.05.2007, 00:54

http://www.google.de/search?hl=de&q=c%2B%2B+ini+parser&btnG=Google-Suche&meta=

Schnitter

Treue Seele

  • »Schnitter« ist der Autor dieses Themas

Beiträge: 141

Wohnort: Remshalden

Beruf: Schüler

  • Private Nachricht senden

8

20.05.2007, 10:36

Ich hab gleich mal eine Frage zum IrrXML-Parser.

und zwar, wenn der NodeType EXN_TEXT ist, geben getNodeData() und getNodeName() das selbe zurück - den Text zwischen schließendem und öffnendem Tag.

Wenn der NodeType aber EXN_ELEMENT ist, dann geben getNodeName() und getNodeData() auch das selbe zurück - den "Namen" des Tags.

Jetzt will ich aber - auch wenn getNodeType() gleich EXN_TEXT ist, den Namen des Tags herausfinden, um wirklich nur die Tags zu zählen, die auch row heißen.

Mein Code sieht gerade so aus(Nur als Test natürlich):

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void CLevel::load(string filename)
{
    m_xml = createIrrXMLReader(filename.c_str());

    // parse the file until end reached

    int row = 0;
    while(m_xml && m_xml->read())
    {
        if(m_xml->getNodeType() == EXN_TEXT && m_xml->getNodeData() != "" )
        {
            cout << "Row: " << row << endl;
            row++;
        }
    }

}


Mein XML-Datei so:

Zitat



<?xml version="1.0" ?>
<level name="FirstLevel">
<row>GGGGGGGGGGGGGGGGGGGGGGGGGGGGGG</row>
<row>GGGGGGGGGGGGGGGGGGGGGGGGGGGGGG</row>
<row>GGGGGGGGGGGGGGGGGGGGGGGGGGGGGG</row>
<row>GGGGGGGGGGGGGGGGGGGGGGGGGGGGGG</row>
<row>GGGGGGGGGGGGGGGGGGGGGGGGGGGGGG</row>
<row>GGGGGGGGGGGGGGGGGGGGGGGGGGGGGG</row>
<row>GGGGGGGGGGGGGGGGGGGGGGGGGGGGGG</row>
<row>GGGGGGGGGGGGGGGGGGGGGGGGGGGGGG</row>
<row>GGGGGGGGGGGGGGGGGGGGGGGGGGGGGG</row>
<row>GGGGGGGGGGGGGGGGGGGGGGGGGGGGGG</row>
<row>GGGGGGGGGGGGGGGGGGGGGGGGGGGGGG</row>
<row>GGGGGGGGGGGGGGGGGGGGGGGGGGGGGG</row>
<row>GGGGGGGGGGGGGGGGGGGGGGGGGGGGGG</row>
<row>GGGGGGGGGGGGGGGGGGGGGGGGGGGGGG</row>
<row>GGGGGGGGGGGGGGGGGGGGGGGGGGGGGG</row>
<row>GGGGGGGGGGGGGGGGGGGGGGGGGGGGGG</row>
<row>GGGGGGGGGGGGGGGGGGGGGGGGGGGGGG</row>
<row>GGGGGGGGGGGGGGGGGGGGGGGGGGGGGG</row>
<row>GGGGGGGGGGGGGGGGGGGGGGGGGGGGGG</row>
<row>GGGGGGGGGGGGGGGGGGGGGGGGGGGGGG</row>
</level>

(G soll nachher Grass heißen.).

Die Ausgabe ist nachher:

row:0
...
row:39

Sollte aber nur bis 20 gehen.

Hoffe, es weiß jemand Rat ;)


MfG

Werbeanzeige