Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
LeeDiGer Super JLI'ler

Anmeldedatum: 31.08.2003 Beiträge: 366 Wohnort: Duisburg Medaillen: Keine
|
Verfasst am: 14.09.2003, 10:57 Titel: Name für die Highscore |
|
|
Wie funktioniert das mit dem Namen eingeben und dem korrekten Abspeichern des eingegebenen Namen in die Highscoreliste? Wer kennt dazu ein Tutorial? |
|
Nach oben |
|
 |
AFE-GmdG JLI MVP


Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 14.09.2003, 11:41 Titel: |
|
|
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 |
|
 |
LeeDiGer Super JLI'ler

Anmeldedatum: 31.08.2003 Beiträge: 366 Wohnort: Duisburg Medaillen: Keine
|
Verfasst am: 14.09.2003, 11:49 Titel: |
|
|
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 |
|
 |
Hazel JLI MVP


Alter: 40 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 14.09.2003, 11:52 Titel: |
|
|
Gimme Code, Jo'anna... wir können ja nicht hellsehen wie du das anstellst. ;) _________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
 |
LeeDiGer Super JLI'ler

Anmeldedatum: 31.08.2003 Beiträge: 366 Wohnort: Duisburg Medaillen: Keine
|
Verfasst am: 14.09.2003, 12:31 Titel: |
|
|
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 |
|
 |
Cyianor Super JLI'ler

Anmeldedatum: 23.12.2002 Beiträge: 452
Medaillen: Keine
|
Verfasst am: 14.09.2003, 16:09 Titel: |
|
|
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 Nich Hazel  |
|
Nach oben |
|
 |
Sören JLI Master Trainee

Anmeldedatum: 26.07.2002 Beiträge: 647 Wohnort: Bonn Medaillen: Keine
|
Verfasst am: 14.09.2003, 16:33 Titel: |
|
|
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 |
|
 |
LeeDiGer Super JLI'ler

Anmeldedatum: 31.08.2003 Beiträge: 366 Wohnort: Duisburg Medaillen: Keine
|
Verfasst am: 14.09.2003, 16:40 Titel: |
|
|
Dann zeigt mir mal, wie man mit den fertigen Funktionen arbeitet. |
|
Nach oben |
|
 |
|