Features zum Spiel



  • Hallo,

    brauche mal ne Hilfe!

    In meinem Quiz, brauche ich das alles:

    1. Eine Zeitanzeige ( Start vom Quiz)
    2. Das man einen Namen eingeben kann (der am Ende in eine Highscore reinkommt + die verstr. Zeit)
    3. Das die Fragen in eine externe Datei herausgelesen werden(+Antworten) (aber nicht zwingend)
    4. Ne Anzeige am Ende für die Highscore

    VIELEN DANK! 🙂

    Das Quit sieht bis jetzt so aus:

    #include <stdio.h>
    #include <iostream>
    #include <string>
    using namespace std;
    
    int main ()
    {
    
       const string ANTWORTX="xyz";
      string NAME;
      cout<<"Wie ist dein Name?"<<endl; // Beispiel!
      cin>>NAME;
      if 	(NAME==ANTWORTX)
      	cout<<"Richtig"<<endl;
      else 
    	cout <<"Falsch"<<endl; 
    
    	return 0;
    }
    


  • markusgamer schrieb:

    Hallo,
    brauche mal ne Hilfe!

    Wobei?? Erwartest du fertigen Code (den du nicht bekommen wirst) oder Vorschläge zu Realisierung? Bei letzterem sind alle gern behilflich 😉



  • Brauchst du das wirklich?

    #include <stdio.h>
    


  • Realisierung und
    Z.b, den Time Code oder so.



  • <stdio.h> brauchst Du in der Tat nicht.
    Variablen sollten nicht nur aus GROSZBUCHSTABEN bestehen, oft sind diese ein Zeichen für Präprozessor-Makros.

    Und zu Deinen Fragen: Schau mal die FAQ durch!



  • Also,

    ich finde nichts brauchbares 😕



  • schau mal fuer die bestimmung der zeit nach:
    -time, clock <ctime> bzw. <time.h>
    fuer das lesen/schreiben aus/in dateien nach den fstreams
    (in den faqs irgendwas mit stroeme und dateien)



  • naja,

    das mit der uhr steht so nirgens.



  • ein bisschen was darfst du selbst natürlich auch machen 🙄



  • hm, also du haettest mal nach den funktionen suchen koennen...
    aber ok, ich gebe dir mal einbeispiel:

    #include <ctime>
    ...
    time_t zeit = std::time( 0 ); // hole dir die aktuelle zeit
    
    // irgendwas
    
    std::cout << "verganene zeit: " << std::time( 0 ) - zeit << endl;
    


  • ich habe doch die genannten begriffe eingeben, aber da kam da nix gefunden wurde aber danke!



  • überleg dir zuerst mal was du willst, wie du es implementieren willst und schreib dann den code. wenn du dann probleme hast, frag nach. aber wir liefern keine komplettlösungen



  • Wie löse ich jetzt das, das der Name immer dann wieder kommt wenn ich eingabe in cout reinschreibe?
    Und, jedesmal wenn ich 2 Wörter bei der Lösung habe, dann schliesßt das dos fenster sich
    Also, muss ich da was für die Leertaste eingeben?
    PS: Und <stdio.h> brauche ich,denn sonst kommt ein Compilerfehler.
    Hier der Code:

    #include <stdio.h>
    #include <iostream>
    #include <string>
    using namespace std;
    
    int main ()
    {
      cout<<"Thanks very much for downloading abc quiz!"<<endl;
      cout<<"The game was developed by Markus R."<<endl;  // Credits
      cout<<"To start the game press 'Enter'"<<endl;
      getchar();
    
      const string username="eingabe";
      cout<<"Please enter your name: "<<endl;   // Nameeingabe
      cin>>eingabe;
      cout<<"Live from your desktop, abc quiz starts right now!"<<endl;   // Begruessung
    
      string NAMEAA;
      cout<<"Frage skajbdk?"<<endl;
      cin>>NAMEAA;
      if (NAMEAA=="abc def"||NAMEAA=="ABC DEF"||NAMEAA=="Abc Def")
        cout<<">That's right,/* wie mache ich das hier */username!\n\n";
      else
        cout <<">That's wrong\n\n";
    


  • // nein <stdio.h> brauchst du nicht. außerdem heitß die jetzt <cstdio>
    #include <iostream> 
    #include <string> 
    using namespace std; 
    
    int main () 
    { 
      cout <<"Thanks very much for downloading abc quiz!\n"
           <<"The game was developed by Markus R.\n"
           <<"To start the game press 'Enter'"<<endl; 
      cin.get(); // das tuts auch
    
      string username="eingabe"; // darf nicht const sein, da du es verändern willst
      cout<<"Please enter your name: "<<endl;   // Nameeingabe // steht das nicht schon im Code
      cin>>eingabe;  // wieso wurde eingabe vorbelegt, wenn es eh überschrieben wird
      cout<<"Live from your desktop, abc quiz starts right now!"<<endl;   // Begruessung 
    
      string NAMEAA; 
      cout<<"Frage skajbdk?"<<endl; 
      cin>>NAMEAA; 
      if (NAMEAA=="abc def"||NAMEAA=="ABC DEF"||NAMEAA=="Abc Def") 
        // cout<<">That's right,/* wie mache ich das hier */username!\n\n"; 
        // so:
        cout << ">That's right, " << eingabe << "\n\n";
      else 
        cout <<">That's wrong\n\n";
    


  • Hi,

    hast Du den Code schonmal compiliert??
    Also ich denke dass Dein Prog gar nicht startet weil

    const string username="eingabe"; 
      cout<<"Please enter your name: "<<endl;   // Nameeingabe 
      cin>>eingabe;
    

    falsch ist. Schau Dir einmal an was Du genau in der cin Zeile machst 🙄
    Tip: Deine Variable heißt username und darf nicht const sein!! 😉

    Denk, dran Variablen nicht mit Großbuchstaben zu benennen ...

    cout << "Hinter diesem Text steht Dein Name" << username << endl; // und ein Zeilenumbruch hinterher
    

    Legolas

    edit: hoppla, zu lange nicht aktualisiert 🙂



  • markusgamer schrieb:

    if (NAMEAA=="abc def"||NAMEAA=="ABC DEF"||NAMEAA=="Abc Def")
        cout<<">That's right,/* wie mache ich das hier */username!\n\n";
      else
        cout <<">That's wrong\n\n";
    

    und was machst du wenn der benutzer "aBc def" oder "aBC dEf" oder "abc dEf"
    oder...
    eingibt?



  • Also,

    das mit dem << eingabe << klappt nicht, allerdings wenn ich << username << nehme dann schon.
    Wie hätte ich das cin>> eingabe sonst machen sollen?
    Kannst du mir das nochmals erklären?

    Und, jedesmal wenn ich 2 Wörter bei der Lösung habe, dann schliesßt das dos fenster sich.
    Also, muss ich da was für die Leertaste eingeben, ein Zeichen?

    Und wie ändere ich die Hintergrundfarbe der DOS Console + die Schrift (also
    das es schon gemacht wird).

    VIELEN VIELEN DANKE LEUTE!



  • #include <iostream>  
    #include <string>  
    #include <cctype>  
    #include <algorithm>  
    
    using namespace std;  
    
    bool case_insensitive_compare (char a, char b)
    {
       return tolower(a) == tolower(b);
    }
    
    int main ()  
    {  
      cout <<"Thanks very much for downloading abc quiz!\n" 
           <<"The game was developed by Markus R.\n" 
           <<"To start the game press 'Enter'"<<endl;  
      cin.get(); // das tuts auch 
    
      string username; 
      cout << "Please enter your name: "<<endl;
      cin >> username;
      cout << "Live from your desktop, abc quiz starts right now!"<<endl;
    
      string answer;  
      cout<<"Frage skajbdk?"<<endl;  
      cin>>answer;  
      if (equal(answer.begin(), aswer.end(), "abc def", case_insensitive_compare)  )
        cout << ">That's right, " << username << "\n\n"; 
      else  
        cout <<">That's wrong\n\n";
    

    vielleicht sowas?



  • Dass es mit cin>>eingabe nicht geht ist doch klar, das habe ich ja versucht Dir zu erklären. Deine Variable heißt username!! nicht "eingabe". "eingabe" war der Wert den Du vorhin der Variablen username zugewiesen hast.
    also kannst Du nur schreiben cin>>username.

    Farben und so Zeug, benutz mal die Suche ... da findest Du so einiges hier.

    Beim Rest hat Helium ja schon was gesagt. Wobei es ein strcmp() auch getan hätte, oder?

    Legolas



  • Hallo,

    das hat nichts gebracht.
    Immer noch raus wenn ich abc def als lösung eintippe.


Anmelden zum Antworten