Features zum Spiel



  • 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.



  • Was erwartest Du?? Ohne eine Schleife wirst Du immer rausgeworfen!!



  • Hallo!

    mach mal ganz hinten noch ein

    cin.get();

    dran, damit er auf die nächste Eingabe wartet.
    Sonst beendet er das Programm sofort.

    Ansonsten wird mit

    cin >> answer;

    nur bis zum ersten Leerzeichen eingelesen. Wenn Du bis zum Enter einlesen willst solltest Du es mit getline versuchen!

    Viel Erfolg!
    Jester



  • danke, werde das mal probieren

    das mit der schleift kapiere ich nicht - c++ ist wirklich kompliziert für anfänger



  • nein ein strcmp hätte es nicht getan. 1. strcmp kann nicht mit std::string umgehen. Das ist zwar das kleiner übel wegen std::string::c_str(), aber strcmp ist case-sesitiv, wogegen meine Version das nicht is.

    string answer;   
      cout<<"Frage skajbdk?"<<endl;   
      getline(cin, answer);   // wegen der lerzeichen
    
      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";
      cin.get();  // damit du noch was davon hast
    


  • Hi,

    also,

    dieses cin.get(); bedeutet soviel wie: drücke eine beliebig taste, oder?
    leider geht das bei mir nicht, warum weiß ich auch nicht -es schließt einfach so.

    Das getchar allerdings geht, wenn man <stdio.h> inkludiert.

    Noch ne Frage( ich weiß):
    Wenn ich jetzt ein Punktesystem intergrieren will, wie löse ich das?
    Geht das mit ner Bedingung, oder brauche ich ne Schleife( damit kenne ich mich noch nicht so aus, werde aber lernen...)
    Ihr braucht mir sicherlich keinen Code geben wenn ihr nicht wollt, darum versuche ich es alleine, nett wäre nur wenn ihr mit helfen könntet wie man ein Punktesystem einrichtet.

    Danke! 👍



  • hi 😋
    probiers mal mit
    cin.ignorde(cin.rdbuf()->in_avail()) vor dem cin.get()

    ein punktesystem, lege einmal fest:
    was brauche ich, um die punkte zu speichern:
    reicht eine variable vom typ int, die also Ganzzahlen aufnehmen kann?
    Müssen die Punkte permanent gespeichert werden (in einer Datei zb)? -> da musst du etwas über filestreams lernen. kommt in deinem buch/kurs sicher erst etwas später.
    übernimm dich am anfang nicht, das kann frustrierend sein!



  • sorry ist nicht böse gemeint aber du hast nicht sehr viel Ahnung von C++! Bevor du gleich ein Quiz-Spiel Programmierst, kauf dir doch mal ein buch, oder schau dir mal ein paar tutorials an! mein tipp 🙂

    grüße EGF



  • klar kann ich c++ noch nicht,
    nur wollte ich am anfang halt mal einen kleinen "erfolg", denn wenn ich irgendwelche taschenrechner mache, befriedigt mich das halt net,

    klar werde ich noch weiter in meinem tutorial lernen, aber so ein kleines nettes quiz hat doch was für anfänger oder nicht?


Anmelden zum Antworten