JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

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

Name für die Highscore

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



Anmeldedatum: 31.08.2003
Beiträge: 366
Wohnort: Duisburg
Medaillen: Keine

BeitragVerfasst am: 14.09.2003, 10:57    Titel: Name für die Highscore Antworten mit Zitat

Wie funktioniert das mit dem Namen eingeben und dem korrekten Abspeichern des eingegebenen Namen in die Highscoreliste? Wer kennt dazu ein Tutorial?
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: 14.09.2003, 11:41    Titel: Antworten mit Zitat

Dazu braucht man kein Tutorial, dazu muß man über Dateiarbeit bescheidwissen.
Man erstellt sich einfach ein Struct, wo Platz für Name und Hiscore ist und speichert die (sortiert nach Hiscore) in eine Datendatei (Binär)
thats all

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
LeeDiGer
Super JLI'ler



Anmeldedatum: 31.08.2003
Beiträge: 366
Wohnort: Duisburg
Medaillen: Keine

BeitragVerfasst am: 14.09.2003, 11:49    Titel: Antworten mit Zitat

Das Problem ist nicht der Ansatz. Ich habe das Problem, dass er Name, den ich eingebe, nicht korrekt in das Array der Highscore abgespeichert wird. Wenn ich den ersten Namen abspeichere, scheint es auf den ersten Blick korrekt zu sein. Wenn ich zum 2. Mal in die Highscore komme, speichert der den 2. Namen teilweise unter den 1. Namen noch ab. Es kann eigentlich nur an der Technik liegen, die ich zum Eintragen von Namen benutze. Jetzt bräuchte ich jemanden, der sowas fehlerfrei hingekriegt hat. Es sollen alle wichtigen Elemente vorhanden sein wie z.B. das Löschen mit Backslash und das eingeben von Leerzeichen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hazel
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 14.09.2003, 11:52    Titel: Antworten mit Zitat

Gimme Code, Jo'anna... wir können ja nicht hellsehen wie du das anstellst. ;)
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
LeeDiGer
Super JLI'ler



Anmeldedatum: 31.08.2003
Beiträge: 366
Wohnort: Duisburg
Medaillen: Keine

BeitragVerfasst am: 14.09.2003, 12:31    Titel: Antworten mit Zitat

Ich erkläre kurz, worum es geht. Es soll die Möglichkeit gegeben werden, Buchstaben in Groß und Klein einzugeben. Einige Spezielle Zeichen soll man auch eingeben kömnen. "Settings.Name[]" ist das Array für den Namen und "Settings.NamePos" die Buchstabenposition des Namen. Wird etwas eingegeben, wird an der Aktuellen Position eingaben ein Zeichen ersetzt. Die Anzahl der Zeichen wird auf 20 begrenzt.
Später wird der Name in der Highscore folgendermaßen abgespeichert:

strcpy(HighScore.Name[i],Settings.Name);

Und an der Stelle scheint es nicht ganz richtig zu funktionieren.
Ich habe hier den wichtigsten Teil des Codes hier eingefügt.

if(m_lpInput->KeyA==1 && m_lpInput->KeyARelease==0 && (m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='A'; m_lpInput->KeyARelease=1; Settings.NamePos++;}
if(m_lpInput->KeyB==1 && m_lpInput->KeyBRelease==0 && (m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='B'; m_lpInput->KeyBRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyC==1 && m_lpInput->KeyCRelease==0 && (m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='C'; m_lpInput->KeyCRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyD==1 && m_lpInput->KeyDRelease==0 && (m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='D'; m_lpInput->KeyDRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyE==1 && m_lpInput->KeyERelease==0 && (m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='E'; m_lpInput->KeyERelease=1; Settings.NamePos++;}
if(m_lpInput->KeyF==1 && m_lpInput->KeyFRelease==0 && (m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='F'; m_lpInput->KeyFRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyG==1 && m_lpInput->KeyGRelease==0 && (m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='G'; m_lpInput->KeyGRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyH==1 && m_lpInput->KeyHRelease==0 && (m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='H'; m_lpInput->KeyHRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyI==1 && m_lpInput->KeyIRelease==0 && (m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='I'; m_lpInput->KeyIRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyJ==1 && m_lpInput->KeyJRelease==0 && (m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='J'; m_lpInput->KeyJRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyK==1 && m_lpInput->KeyKRelease==0 && (m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='K'; m_lpInput->KeyKRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyL==1 && m_lpInput->KeyLRelease==0 && (m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='L'; m_lpInput->KeyLRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyM==1 && m_lpInput->KeyMRelease==0 && (m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='M'; m_lpInput->KeyMRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyN==1 && m_lpInput->KeyNRelease==0 && (m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='N'; m_lpInput->KeyNRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyO==1 && m_lpInput->KeyORelease==0 && (m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='O'; m_lpInput->KeyORelease=1; Settings.NamePos++;}
if(m_lpInput->KeyP==1 && m_lpInput->KeyPRelease==0 && (m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='P'; m_lpInput->KeyPRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyQ==1 && m_lpInput->KeyQRelease==0 && (m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='Q'; m_lpInput->KeyQRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyR==1 && m_lpInput->KeyRRelease==0 && (m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='R'; m_lpInput->KeyRRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyS==1 && m_lpInput->KeySRelease==0 && (m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='S'; m_lpInput->KeySRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyT==1 && m_lpInput->KeyTRelease==0 && (m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='T'; m_lpInput->KeyTRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyU==1 && m_lpInput->KeyURelease==0 && (m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='U'; m_lpInput->KeyURelease=1; Settings.NamePos++;}
if(m_lpInput->KeyV==1 && m_lpInput->KeyVRelease==0 && (m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='V'; m_lpInput->KeyVRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyW==1 && m_lpInput->KeyWRelease==0 && (m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='W'; m_lpInput->KeyWRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyX==1 && m_lpInput->KeyXRelease==0 && (m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='X'; m_lpInput->KeyXRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyY==1 && m_lpInput->KeyYRelease==0 && (m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='Z'; m_lpInput->KeyYRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyZ==1 && m_lpInput->KeyZRelease==0 && (m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='Y'; m_lpInput->KeyZRelease=1; Settings.NamePos++;}

if(m_lpInput->KeyA==1 && m_lpInput->KeyARelease==0 && !(m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='a'; m_lpInput->KeyARelease=1; Settings.NamePos++;}
if(m_lpInput->KeyB==1 && m_lpInput->KeyBRelease==0 && !(m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='b'; m_lpInput->KeyBRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyC==1 && m_lpInput->KeyCRelease==0 && !(m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='c'; m_lpInput->KeyCRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyD==1 && m_lpInput->KeyDRelease==0 && !(m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='d'; m_lpInput->KeyDRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyE==1 && m_lpInput->KeyERelease==0 && !(m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='e'; m_lpInput->KeyERelease=1; Settings.NamePos++;}
if(m_lpInput->KeyF==1 && m_lpInput->KeyFRelease==0 && !(m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='f'; m_lpInput->KeyFRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyG==1 && m_lpInput->KeyGRelease==0 && !(m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='g'; m_lpInput->KeyGRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyH==1 && m_lpInput->KeyHRelease==0 && !(m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='h'; m_lpInput->KeyHRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyI==1 && m_lpInput->KeyIRelease==0 && !(m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='i'; m_lpInput->KeyIRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyJ==1 && m_lpInput->KeyJRelease==0 && !(m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='j'; m_lpInput->KeyJRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyK==1 && m_lpInput->KeyKRelease==0 && !(m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='k'; m_lpInput->KeyKRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyL==1 && m_lpInput->KeyLRelease==0 && !(m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='l'; m_lpInput->KeyLRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyM==1 && m_lpInput->KeyMRelease==0 && !(m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='m'; m_lpInput->KeyMRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyN==1 && m_lpInput->KeyNRelease==0 && !(m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='n'; m_lpInput->KeyNRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyO==1 && m_lpInput->KeyORelease==0 && !(m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='o'; m_lpInput->KeyORelease=1; Settings.NamePos++;}
if(m_lpInput->KeyP==1 && m_lpInput->KeyPRelease==0 && !(m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='p'; m_lpInput->KeyPRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyQ==1 && m_lpInput->KeyQRelease==0 && !(m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='q'; m_lpInput->KeyQRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyR==1 && m_lpInput->KeyRRelease==0 && !(m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='r'; m_lpInput->KeyRRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyS==1 && m_lpInput->KeySRelease==0 && !(m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='s'; m_lpInput->KeySRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyT==1 && m_lpInput->KeyTRelease==0 && !(m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='t'; m_lpInput->KeyTRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyU==1 && m_lpInput->KeyURelease==0 && !(m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='u'; m_lpInput->KeyURelease=1; Settings.NamePos++;}
if(m_lpInput->KeyV==1 && m_lpInput->KeyVRelease==0 && !(m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='v'; m_lpInput->KeyVRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyW==1 && m_lpInput->KeyWRelease==0 && !(m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='w'; m_lpInput->KeyWRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyX==1 && m_lpInput->KeyXRelease==0 && !(m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='x'; m_lpInput->KeyXRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyY==1 && m_lpInput->KeyYRelease==0 && !(m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='z'; m_lpInput->KeyYRelease=1; Settings.NamePos++;}
if(m_lpInput->KeyZ==1 && m_lpInput->KeyZRelease==0 && !(m_lpInput->RShift==1 || m_lpInput->LShift==1) && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='y'; m_lpInput->KeyZRelease=1; Settings.NamePos++;}

if(m_lpInput->Space==1 && m_lpInput->SpaceRelease==0 && Settings.NamePos<20) {Settings.Name[Settings.NamePos] =' '; m_lpInput->SpaceRelease=1; Settings.NamePos++;}
if(m_lpInput->Plus==1 && m_lpInput->PlusRelease==0 && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='+'; m_lpInput->PlusRelease=1; Settings.NamePos++;}
if(m_lpInput->Minus==1 && m_lpInput->MinusRelease==0 && Settings.NamePos<20) {Settings.Name[Settings.NamePos] ='-'; m_lpInput->MinusRelease=1; Settings.NamePos++;}
if(m_lpInput->Backspace==1 && m_lpInput->BackspaceRelease==0 && Settings.NamePos>0)
{Settings.Name[Settings.NamePos-1] =' '; m_lpInput->BackspaceRelease=1; Settings.NamePos--;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Cyianor
Super JLI'ler



Anmeldedatum: 23.12.2002
Beiträge: 452

Medaillen: Keine

BeitragVerfasst am: 14.09.2003, 16:09    Titel: Antworten mit Zitat

Tja, wie wärs wenn du bei "Antwort schreiben" mal auf "Code" klickst und da alles reinschreibst??? Das is wesentlich übersichtlicher bei so einem unübersichtlichem Code, wie kennst du dich da aus???

Vielleicht solltest du:

Code:
Settings.Name[NamePos] = "A"
...usw


schreiben.

Nimmt denn hier niemand STL-Strings?? is viel einfacher Smile Nich Hazel Very Happy
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: 14.09.2003, 16:33    Titel: Antworten mit Zitat

Es gibt noch eine Funktion um die Tasten abzufragen, du kannst dir dann die ganzen Schleifen klemmen. Ich meine es war sowas wie GetKeyboardStatus() in der Richtung(das wars aber nicht!). Hazel wird sich bestimmt daran erinnern.

@STL-Strings
Seit ich das Kapitel in Christians Buch gelesen habe, nutze ich sie nur noch. Vorallem die etlichen Funktionen sind super komfortabel!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
LeeDiGer
Super JLI'ler



Anmeldedatum: 31.08.2003
Beiträge: 366
Wohnort: Duisburg
Medaillen: Keine

BeitragVerfasst am: 14.09.2003, 16:40    Titel: Antworten mit Zitat

Dann zeigt mir mal, wie man mit den fertigen Funktionen arbeitet.
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