JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

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

Funktionen...

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
TheMillenium
Dark JLI'ler



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

BeitragVerfasst am: 02.09.2002, 10:02    Titel: Funktionen... Antworten mit Zitat

Wie kann ich eine Funktionschreiben, die unendlich Parameter aufnehmen kann und wie greife ich dann auf die einzelnen Parameter zu...gibt es dann eine Funktion die sagen kann parameter[0] , parameter[1],... und so in der ARt.

Ich brauche es für eine Funktion, mit der man die Tastaturbelegung flexibel ändern kann...

Code:

//Aktionen festlegen
//AB = AktionButton
In_Datei_abspeichern(
int AB_FORWARD= GetButton(),
int AB_BACKWARD= GetButton(),
int AB_LEFT= GetButton(),
int AB_RIGHT= GetButton(),

int AB_FIRE= GetButton(),
int AB_EXIT= GetButton(),
);
//....


GetButton() erzeugt eine Texteingabe drücke eine Taste und liefert den Wert für die Taste zurück der dann in AB_FORWARD, ABD_BACKWARD,... gespeichert wird.

Ich möchte also alle Variablen die da oben mit AB_ beginnen in eine Textdatei speichern und am Anfang soll das Programm dann alle Belegungen auslesen...

Cu TheMillenium
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
AFE-GmdG
JLI MVP
JLI MVP


Alter: 45
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 02.09.2002, 11:53    Titel: Antworten mit Zitat

Dein Problem kann man auch ohne Unendlich Parameter lösen. Aber trotsdem, es gibt mehrere Möglichkeiten, Unendlich Parameter zu übergeben, aber immer müssen sie von einem (immer gleichbleibenden) Typ sein.

Variante 1: Über einen Pointer, der als Array fungiert. Ein zweiter Parameter sollte dann noch die Länge des Array's übergeben.

Variante 2: Genau so, wie printf, scanf und ähnliche Funktionen aufgebaut sind. Ich weiß, das man in der Funktionsdeklaration einfach ... angibt, als letzten Parameter. Wie diese Variablen dann auszulesen sind, weiß ich leider nicht genau, schau dir doch einfach mal den Quelltext zu printf an.

AFE-GmdG
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 02.09.2002, 13:59    Titel: Antworten mit Zitat

Hallo,

mir ist nicht klar, warum du sowas bei deinem Problem brauchst, warum brauchst du "unendlich" viele Parameter?

Christian
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
TheMillenium
Dark JLI'ler



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

BeitragVerfasst am: 03.09.2002, 02:59    Titel: ... Antworten mit Zitat

Ich weiß nicht, ob ich sie wirklich brauche...

...aber ich möchte die Funktion so schreiben, dass ich eine neue Funktion(wie Springen,Kriechen,...) mit 1 oder 2 Zeilen Code Änderung einbauen kann...und das auch nur an einer Stelle...wenn ihr jetzt versteht, was ich meine?

Printf Funktion anschauen...aber wie? Ich habe mit der Windows-Suche im C++ Include Verzeichnis nach printf im Volltext Modus gesucht...hab auch einige gefunden...doch ich sehe bei printf nie den Funktionsrumpf... Sad
Kann mir da einer helfen???

Cu TheMillenium
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 03.09.2002, 07:06    Titel: Antworten mit Zitat

Hallo,

ich denke, es geht einfacher ohne, aber suche in der MSDN mal nach Ellipse und va_arg, va_end, va_start. Ellipse wir folgende Konstruktion (wie bei printf genannt):

int func( int first, ... ) // ellipse

Jetzt nochmal zu deinem Problem. Warum änderst du die Funktion nicht so, dass GetButton() ein Argument (die Taste) und true oder false zurückgibt, wenn der Knopf/Taste gedrückt wurde? Z.B.:

AB_FORWARD = GetButton(BN_FORWARD);
AB_BACKWARD = GetButton(BN_BACKWARD)

usw.

Christian
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
TheMillenium
Dark JLI'ler



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

BeitragVerfasst am: 03.09.2002, 08:46    Titel: ... Antworten mit Zitat

Sad Scheint so als ob ihr mich nicht richtig versteht...

Ich meinte dass so am Anfang vom Spiel werden die Tastaturbelegungen aus einer Textdatei ausgelesen...

Wenn man aber ne andere Tastenbelegung haben will...klickt man in nem Menü auf Tastaturbelegung ändern...

dann kommt wie auch bei etwas älteren Spielen... Taste für Richtung Links, Recht, Oben, Unten...Springen, Schießen,...

und damm werden die neuen Tastaturbelegungen in die Textdatei geschrieben...also die alte Textdatei überschrieben...


So will ich das machen...

Cu TheMillenium
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sören
JLI Master Trainee



Anmeldedatum: 26.07.2002
Beiträge: 647
Wohnort: Bonn
Medaillen: Keine

BeitragVerfasst am: 03.09.2002, 12:32    Titel: Antworten mit Zitat

Hi!
Guck doch mal nach Action Mapping in der DX Doku(es gibt auch ein Beispiel dazu!)!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
TheMillenium
Dark JLI'ler



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

BeitragVerfasst am: 04.09.2002, 11:57    Titel: ... Antworten mit Zitat

...als ob ich nicht darauf gekommen wäre!!! Mad

Na klar geht das ..ist halt alles auf Englisch...komme jetzt halt nur in die 9. Klasse da hat man die ganzen Wörter noch nicht...außerdem lernt man da eh fast keine aus dem Computerbereich...DirectPlay und so...da kapier ich ja alles noch...aber ACtion MApping...Mmmh...ja wenn du nen Flugsimulator hast..mach das Mal so...wenn du ein AUtoRennspiel hast dann so,...

Also wirklich!!! Sad

Deshalb wollt ich's selber machen DeusEx hat ja auch alles in ner Datei abgespeichert und da gab's ja noch gar nicht ActionMapping...

Cu TheMillenium
_________________
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
Seite 1 von 1

 
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