Hilfe bei Minispiel



  • Hey Leute, ich bin gerade dabei so ein minspiel zu machen, von so einem tutorial. In dem minispiel geht es darum, dass einmal ich eine anzahl von 1-3 Münzen und dann der computer in so einer endlosschleife aufnehmen. Münzzahl kann ich festlegen.

    Am anfang gings noch gut, aber dann hieß es:
    Und sie haben sicher daran gedacht, die beiden neuen Funktionen vor der main-Funktion, aber nach der include-Zeile einzufügen. Würden Sie die Funktionen nach der main-Funktion einfügen, dann wären sie aus der main-Funktion nicht aufrufbar. Der Compiler liest sich nämlich die Datei von oben nach unten durch und merkt sich unterwegs alle wichtigen Sachen. Er macht aber keine Versuche, etwas zu verwenden, das erst weiter unten steht.

    Das hab ich probiert und das sieht jetzt so aus:
    #include<iostream>
    using namespace std;

    while(true)
    int zug des Players
    {
    int ergebnis;
    while (ergebnis<1 ¦¦ ergebnis>3)
    {
    cout<<"Jetzt liegen "<<anzahl der Muenzen<<" auf dem Tisch\n";
    cout<<"Wie viel Münzen wollen sie nehmen?\n";
    cin>>ergebnis;
    return ergebns;
    }

    if (ergebnis<1 ¦¦ ergebnis>3)
    {
    cout<<"Sie können nur zwischen den Zahlen 1 bis 3 waehlen!\n";
    }

    if (anzahl der Muenzen<ergebnis)
    {
    cout<<"So viele Muenzen liegen nicht mehr auf dem Tisch!\n";
    }

    return ergebnis;

    int zug des computers
    {
    int wunschzug= anzahl der Muenzen%4;
    if (wunschzug==0)
    return 1;
    else
    return wunschzug;
    }

    }

    int main ()
    {
    int anzahl der Muenzen;

    cout<<"Mit wie vielen Münzen willst du beginnen?\n";
    cin>>anzahl der Muenzen;

    }

    Ich hab also die beiden Funktionen vor main, aber nach include geschoben, nur funzt das nicht 😕
    Ich habe überhaupt keinen Plan mehr, bitte helft mir. 😞



  • Hab ich übrigen oben vergessen zu schreiben, Ziel des spiels ist es die letzte(n) münzen aufzunehmen.



    • "Funzt nicht" ist keine Fehlerbeschreibung. Der Compiler gibt normalerweise Fehlermeldungen aus.
    • Um Code darzustellen, kannst du [cpp]-Tags verwenden (erste weisse Schaltfläche unter dem Texteingabefeld).
    • int zug des Players - Was willst du damit? Variablennamen dürfen keine Leerzeichen enthalten, zudem müssen Anweisungen mit einem Strichpunkt abschliessen.
    • while (ergebnis<1 ¦¦ ergebnis>3) - Der Oder-Operator ist || (du hast die falschen Striche erwischt).
    • ...


  • #include<iostream>
    using namespace std;
    
    while(true) // Was wird hier auf 'true' überprüft? Desweiteren Syntaxfehler!
    int zug des Players // Semikolon fehlt, keine Leerzeichen in Variablennamen
    {
    int ergebnis;
    while (ergebnis<1 ¦¦ ergebnis>3) // ODER-Operator ist ||
    {
    cout<<"Jetzt liegen "<<anzahl der Muenzen<<" auf dem Tisch\n"; // keine Leerzeichen in Variablennamen
    cout<<"Wie viel Münzen wollen sie nehmen?\n"; // Darstellung von Umlauten ohne Weiteres nicht möglich
    cin>>ergebnis;
    return ergebns; // Tippfehler
    }
    
    if (ergebnis<1 ¦¦ ergebnis>3) // ODER-Operator ist ||
    {
    cout<<"Sie können nur zwischen den Zahlen 1 bis 3 waehlen!\n";
    }
    
    if (anzahl der Muenzen<ergebnis) // keine Leerzeichen in Variablennamen
    {
    cout<<"So viele Muenzen liegen nicht mehr auf dem Tisch!\n";
    }
    
    return ergebnis;
    
    int zug des computers // keine Leerzeichen in Variablennamen
    {
    int wunschzug= anzahl der Muenzen%4; // keine Leerzeichen in Variablennamen
    if (wunschzug==0)
    return 1; // Wohin soll das übergeben werden?
    else
    return wunschzug; // Wohin soll das übergeben werden?
    }
    
    }
    
    // Was jetzt, hier beginnt erst das Programm? Was ist denn dann da oben?
    int main ()
    {
    int anzahl der Muenzen; // keine Leerzeichen in Variablennamen
    
    cout<<"Mit wie vielen Münzen willst du beginnen?\n"; // Darstellung von Umlauten ohne Weiteres nicht möglich
    cin>>anzahl der Muenzen; // keine Leerzeichen in Variablennamen
    
    }
    

    Allgemein ist zu sagen, dass dir absolut alle Grundkenntnisse in C++ fehlen.
    Mache dich zuerst mit diesen vertraut, lies in Ruhe nach und spiel erstmal ein wenig mit "Hello World" - Programmen rum.

    MFG 🙂



  • Hey root2k glaubst du etwa ich würde einfach so ohne jemals hello world gemacht zu haben das probieren, was geht denn mit dir?

    Vielleicht hast du bereits ein paar typen erlebt die nach hello world probieren Spiele zu entwickeln, aber ich bin sicher keiner von diesen Vollidioten. Glaub mir, ich habe selber bemerkt, dass das für mich zu schwer ist, aber das kam schon jetzt bei meinem tutorial und es war von anfang an für mich logisch das ich das noch nicht kann.

    Ich hatte lediglich gehofft, aus den Antworten logische Schlüsse zu ziehen, um zu verstehen wie es genau gehen würde. Weißte es ist nicht so leicht ein "verständliches" Tutorial zu finden, ich habe schon alle Foren abgesucht.
    Deshalb kauf ich mir ein Buch. Tu mir aber einen Gefallen, mach nicht gleich alle nieder nur weil sie mehrere Fehler haben. Das trifft auf mich nicht zu, aber in meinem Fall sollte ich etwas anwenden was ich in dem Tutorial nicht gelernt habe.
    Obwohl du ich beleidigt hast bedanke ich mcih doch herzlich bei dir für deine Antwort, jetzt scheint mir das Ganze schon viel logischer 😃



  • Ich will jetzt zwar nicht alles meinem Tutorial in die Schuhe schieben, aber die Stellen mit den Funktionen, die ich noch nicht konnte habe ich lediglich aus dem Tutorial herauskopiert ( was so einige Stellen sind 😃 )



  • Naja, man muss schon sagen, dass hier oft Leute ankommen, die gerade ihr Hello World durchhaben und schon das nächste MMORPG planen. Scheint irgendwie ein Reizthema zu sein 😃

    Also, beruhig dich mal, das war nicht böse gemeint. Das sieht hier nämlich anders aus! 😉

    Wenn du bereit bist, dir ein Buch zu kaufen, ist der C++ Primer auf jeden Fall empfehlenswert. Modernes C++ ohne Altlasten, gut und verständlich geschrieben.



  • Genau das Buch wollt ich mir gerade bestellen 😃



  • C++-totally_beginner schrieb:

    Hey root2k glaubst du etwa ich würde einfach so ohne jemals hello world gemacht zu haben das probieren, was geht denn mit dir?

    Vielleicht hast du bereits ein paar typen erlebt die nach hello world probieren Spiele zu entwickeln, aber ich bin sicher keiner von diesen Vollidioten. Glaub mir, ich habe selber bemerkt, dass das für mich zu schwer ist, aber das kam schon jetzt bei meinem tutorial und es war von anfang an für mich logisch das ich das noch nicht kann.

    Ich hatte lediglich gehofft, aus den Antworten logische Schlüsse zu ziehen, um zu verstehen wie es genau gehen würde. Weißte es ist nicht so leicht ein "verständliches" Tutorial zu finden, ich habe schon alle Foren abgesucht.
    Deshalb kauf ich mir ein Buch. Tu mir aber einen Gefallen, mach nicht gleich alle nieder nur weil sie mehrere Fehler haben. Das trifft auf mich nicht zu, aber in meinem Fall sollte ich etwas anwenden was ich in dem Tutorial nicht gelernt habe.
    Obwohl du ich beleidigt hast bedanke ich mcih doch herzlich bei dir für deine Antwort, jetzt scheint mir das Ganze schon viel logischer 😃

    Sag mal, wie alt bist du eigentlich? Ich habe dich nirgendwo beleidigt, sondern dir lediglich Tipps gegeben und deinen komplett fehlerhaften Code mit Kommentaren versehen.

    Ich weiß nicht, was du für Antworten erwartest, wenn du so einen Code hier ins Forum stellst und fragst, warum das Teil nicht funktioniert?

    Lerne, mit Kritik umzugehen und versuche anschließend, es besser zu machen und mach hier nicht die Leute dumm von der Seite an, die dir helfen wollen.

    Meiner einer wäre froh, wenn jemand sich meinen Code anschaut und mir sagt, was mir an Kenntnissen fehlt und wo ich einen Fehler gemacht habe. So kann ich es beim nächsten Mal doch nur besser machen.

    MFG root2k

    btw: Auch nach einem zweiten Durchlesen meines Beitrages kann ich keine Beleidigungen erkennen...


Anmelden zum Antworten