JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=ec1391bf02d7e5e5e3b72c461ca6a8c5Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Levelloader
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Zyrian
Super JLI'ler



Anmeldedatum: 30.08.2003
Beiträge: 321
Wohnort: Essen
Medaillen: Keine

BeitragVerfasst am: 25.12.2003, 23:11    Titel: Levelloader Antworten mit Zitat

Hi zusammen,

da grad Weihnachten ist, dachte ich mir, ich könnte doch mich doch mal an einen Levelloader für mein RPG wagen.
Bloss weiß ich nicht, wie diese zu ladenden Dateien so ungefähr aussehen könnten.
In meinem Spiel ist nichts eingeteilt in solche Felder oder so, sondern die Objekte können rumstehen wo sie wollen Wink
Sollte ich es so machen, dass eine Zahl angibt, was für ein Objekt geladen werden soll, und dann 2 weitere Zahlen, wo es sich auf der Map befinden soll?
Ich bräucht dann noch einen kleinen Denkanstoß, wie man eine frei definierbare Anzahl an Variablen deklarieren kann. Also bsp. übergibt man einer Funktion den Wert 5 und die erstellt dann 5 Variablen. Ich wollte allerdings ohne verkettete Liste dies bewerkstelligen, wenn es geht.

Thx schon mal für die Hilfe! (:

MFG
Chris
_________________
Schau mir in die Augen, Kleines.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 26.12.2003, 00:12    Titel: Antworten mit Zitat

Also ich lade meine Objekte so:

Als erstes lese ich den Header aus, der nur aus einem Integer gesteht. Das ist dann die Anzahl der zu ladenen Objekte. Danach lese ich in einer Schleife immer den Objekttypen, Koordinaten, etc aus, erstelle aus den Daten das Objekt und füge es in meine Liste ein. Danach wird die Datei geschlossen und gut is. ;)
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Zyrian
Super JLI'ler



Anmeldedatum: 30.08.2003
Beiträge: 321
Wohnort: Essen
Medaillen: Keine

BeitragVerfasst am: 26.12.2003, 02:15    Titel: Antworten mit Zitat

Hmja, so in der Art (bis auf den Header) hab ich mir des auch gedacht.
Nur halt im Detail bin ich mir n bisschen unsicher.
Liest du die Datei mit fscanf(), fgets(), fread() oder mit Streams aus? Was wäre die geeigneteste Möglichkeit?
Was du als Header bezeichnest, nehm ich mal an, dass es die erste Zeile in der Datei ist ...

Was ist denn dein Objekttyp innerhalb der Datei? Eine Zahl oder schreibst du da einen String rein?

Sähe dann so eine Datei ungefähr so aus?
Code:

4
Stein
100 400
600 900
1234 2345
Baum
76 20



Fänds cool, wenn ihr mir einen Blick in eure Leveldateien gewähren könnt, dann hätte ich einen Überblick über das Ganze =)

MFG
Chris
_________________
Schau mir in die Augen, Kleines.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 26.12.2003, 08:55    Titel: Antworten mit Zitat

Ich benutze ausschließlich Streams für Dateiarbeit und nein so sehen meine nicht aus... ich speicher das binär. ;) So wie du das gezeigt hast, könnte man sie so auslesen:

Code:

meinIfstream.open("blabla");

meinIfstream >> foo >> bar >> zicke >> zacke;

meinIfstream.close();


Wenn du es binär machst, musst du ::read() und ::write() benutzen.
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 26.12.2003, 12:21    Titel: Antworten mit Zitat

Hi,

ich mach das mit einer kleinen Scriptsprache - ist zwar relativ viel Schreibarbeit, bis die Engine geproggt ist, aber dafür kann man sie einfach implementieren und die Werte einfach ändern.
Ich les das ganze textbasiert(nicht binär), d.h. mit fgets() aus.
Bei meinem RPG sieht jetzt z.B. ein Objekt in der Scriptdatei so aus:
Zitat:
NEWOBJECT=Schwert/50/23;

(Bei mir ist das noch weiter ausgebaut; z.B. in welcher Kiste das Objekt an welcher Stelle steht, etc...)
Ich hab dann eine Save- /Leveldatei, in der zahlreiche dieser Objektdefinitionen stehen.
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Zyrian
Super JLI'ler



Anmeldedatum: 30.08.2003
Beiträge: 321
Wohnort: Essen
Medaillen: Keine

BeitragVerfasst am: 28.12.2003, 16:48    Titel: Antworten mit Zitat

Das mit den Streams klappt im Prinzip ganz gut. Ich habs noch nicht in mein Game umgesetzt, aber ich mache es wie so viele, und zwar vorher in nem anderen Projekt kurz ausprobieren und siehts ganz gut aus mit dem korrekten Einlesen (:

Das mit der Skriptsprache hört sich interessant an. Leider hab ich davon keine Ahnung =/
Wie funktioniert so was im Prinzip? Ist das lediglich nur ein Vergleich der eingelesenen Strings mit entsprechenden, im Quelltext vordefinierten, Mustern oder was genau steckt da hinter?
Das scheint mir wesentlich zur Übersichtlichkeit beizutragen und ist wohl auch für ein komplex gebautes RPG das Beste.

Thx schon mal für die Antworten (:

MFG
Chris
_________________
Schau mir in die Augen, Kleines.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
abc_d
JLI Master Trainee


Alter: 34
Anmeldedatum: 27.01.2003
Beiträge: 615

Medaillen: Keine

BeitragVerfasst am: 28.12.2003, 17:17    Titel: Antworten mit Zitat

The Lord of Programming und Pseudo Progger haben dazu ein Tutorial geschrieben, du findest sie hier: http://www.online-tutorials.net/tutorialarten-1-2-3.html
_________________
http://mitglied.lycos.de/sarti/linuxisevil.gif Linux is evil - get the fact.

Never touch a running System - der Systemling
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Zyrian
Super JLI'ler



Anmeldedatum: 30.08.2003
Beiträge: 321
Wohnort: Essen
Medaillen: Keine

BeitragVerfasst am: 28.12.2003, 19:15    Titel: Antworten mit Zitat

Cool danke (:
Ich werd mich da mal durcharbeiten.

MFG
Chris

P.S.: Auf Fehler im Tutorial darf man dich aber aufmerksam machen, oder? ^^ Hab schon einen gefunden ...
_________________
Schau mir in die Augen, Kleines.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 28.12.2003, 22:15    Titel: Antworten mit Zitat

Zyrian hat Folgendes geschrieben:
P.S.: Auf Fehler im Tutorial darf man dich aber aufmerksam machen, oder? ^^ Hab schon einen gefunden ...

Ein Fehler meinerseits? Immer her damit Wink
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Zyrian
Super JLI'ler



Anmeldedatum: 30.08.2003
Beiträge: 321
Wohnort: Essen
Medaillen: Keine

BeitragVerfasst am: 28.12.2003, 23:31    Titel: Antworten mit Zitat

Hier mitten ins Forum? Ich weiß net ob das recht zum Thema passt Wink

Aber mal ein Beispiel:

Code:

//char vom Benutzer fordern 
cout<"Bitte geben Sie einen char ein: "; 

// ...

cout<"Gelesene Variable: "<<variable2<<"\n";


Naja, was dann noch unschön ist, sind diese Zeilenumbrüche mitten in den // Kommentaren und auch generell mitten im Code. Das sollte aus Übersichtsgründen vielleicht auf der Seite noch mal überarbeitet werden Confused

MFG
#C
_________________
Schau mir in die Augen, Kleines.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 29.12.2003, 12:16    Titel: Antworten mit Zitat

Meinst du vielleicht, die kleinen stylistischen Fehler, die durch die anordung auf BlackLordOfDragons' Page zu sehen sind?
Ansonsten kann ich keine Fehler entdecken.

PS: Fürs Weiterdiskutieren sollten wir lieber PNs schreiben Wink
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
abc_d
JLI Master Trainee


Alter: 34
Anmeldedatum: 27.01.2003
Beiträge: 615

Medaillen: Keine

BeitragVerfasst am: 29.12.2003, 13:25    Titel: Antworten mit Zitat

Oh, sry das ganze ist ein wenig durcheinander gekommen, da ich zuerst jedes Tutorial nach < durchsucht habe und mit "& lt" ersetzt habe, als ich es automatisch gemacht habe musste ich das "& lt" wieder durch < ersetzten, aber dabei gabs irgendwie Probleme.

Ausserdem komme ich mit den Zeilenumbrüchen nicht ganz klar, da ein Leerzeichen durch ein "& nbsp" ersetzt wird, was der Benutzer dann als Leerzeichen sieht, beim wordwrap(); (Zeilenumbruch) aber als 5 Zeichen gewertet wird. Das selbe passiert mit <,>, Links, usw.

Nachteile von dynamischen Seiten Wink

Wenn du nochmehr Fehler endeckst melde sie bitte per PM.

Ansonsten kannst du dir das Tutorial ja auch auf LoP's Seite anschauen.
_________________
http://mitglied.lycos.de/sarti/linuxisevil.gif Linux is evil - get the fact.

Never touch a running System - der Systemling
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Zyrian
Super JLI'ler



Anmeldedatum: 30.08.2003
Beiträge: 321
Wohnort: Essen
Medaillen: Keine

BeitragVerfasst am: 29.12.2003, 18:46    Titel: Antworten mit Zitat

Ich weiß, hab mir schon vorher noch das .doc runtergeladen, da isses wesentlich übersichtlicher Wink

Aber noch mal eine Frage zum grundsätzlichen Verständnis eines Skripts.
Wie ich so an dem Tutorial gesehn hab, ist es so gehandhabt, dass auch während der Laufzeit da verschiedene Daten reingeschrieben werden.
Ich persönlich hatte (erstmal) nur vor, Objektkoordinaten daraus zu lesen, damit die dann schön brav je nach Dateiinhalt geblittet werden können, ohne dass ich den ganzen Kram im Quelltext selber drin hab. Ist für so ein Vorhaben eine Skriptsprache überhaupt nötig?

MFG
Chris
_________________
Schau mir in die Augen, Kleines.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 29.12.2003, 21:24    Titel: Antworten mit Zitat

Ein Script ist es nunmal, wenn du die Daten extern in einer Datei hast und sie dann einliest.
Bei diesem Tut brauchst du ein Proggy, das das Script schreibt, weil das ganze ja binär abläuft. (den will ich mal sehen, der ein binäres Script per Tastatur schreibt Rolling Eyes )
Wenn es textbasiert sein soll, sieht das schon ganz anders aus. Da brauchst du zwar kein Programm, um die Daten ins Script zu schreiben, aber du musst eben die Scriptsprache umschreiben Wink
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 30.12.2003, 09:04    Titel: Antworten mit Zitat

The Lord of Programming hat Folgendes geschrieben:

Wenn es textbasiert sein soll, sieht das schon ganz anders aus. Da brauchst du zwar kein Programm, um die Daten ins Script zu schreiben, aber du musst eben die Scriptsprache umschreiben Wink


Und dann ist das auch viel cooler und schöner wenn das funktioniert anstatt ein dummes Programm zu brauchen um das zu schreiben Smile

Außerdem kann man dann ne Console implementieren und sofort testen!!!

Das ist einfach nur genial Razz

Versuch's! Es lohnt sich.

Ansonsten kannst du dazu dann auch mich fragen, ich hab sowas schon programmiert Very Happy
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum