Fehler im Pokemoncode
-
Guten Morgen

Ich habe folgendes Problem, und zwar habe ich mir einen halbwegs interessanten code rausgesucht und ihn abgeschrieben da ein Freund mir dazu geraten hat. Er meinte es sei ganz gut da ich dadurch die Syntax besser verstehen würde.
Naja dabei sind aber eine Menge fehler aufgetreten die ich so leider nicht verstehe.
(Natürlich hab ich ihn etwas abgeändert da ich als Pokemonfan das ganze einfach schöner haben wollte
dabei wird es wohl passiert sein.[/code]
#include <cstdlib>
#include <iostream>
#include <string>using namespace std;
int play = 0;
string pokemon;
string gegner;
string action;
int kp = 50;
int gkp = 50;
int ga = 10;
int pa = 15;int main(int argc, char*argv[])
{cout << "Wähle ein Pokemon! ";
cout << "Flemmli, Hydropi oder Geckarbor. "
cin >> pokemon;if (pokemon == "Flemmli")
{
pokemon = "Flemmli";
gegner = " Hydropi";}
if (pokemon =="Hydropi")
{
pokemon = "Hydropi";
gegner = "Geckarbor";}
if (pokemon == "Geckarbor" )
{
pokemon = "Geckarbor";
gegner = "Flemmli";
}}
cout << " Du hast " << pokemon << "gewählt! \n";
cout << " Gegner setzt " << gegner << "ein! \n";while (play > -1)
{
if (kp = gkp)
{
cout << "Was möchtest du tun? \n";
cout << "Tackle <1> Härtner <2> "
cin >> action;}
}
else
{
cout << "Was möchtest du tun? \n";
cout << "Härtner <2> Genesung <3>"
cin >> action;
}if (action == "1")
{
kp -= +1;
ga -= -1;}
if (action == "2")
{
kp += 1;
ga = ga;}
if (action == "3")
{
kp += 20;}
cout << "Eigene KP : " << kp <<" n\" ;
cout << "Gegner KP : " << gkp <<" n\" ;
if (kp <=0)
{
cout << "Du hast keine kampffähiges Pokemon mehr... n\" ;
system("PAUSE");
return EXIT_SUCCESS;}
if (gkp <=0)
{
cout << "Du hast gewonnen! n\" ;
system("PAUSE");
return EXIT_SUCCESS;}
}
system("PAUSE");
return EXIT_SUCCESS;}
[code]
-
Eirika schrieb:
Ich habe folgendes Problem, und zwar habe ich mir einen halbwegs interessanten code rausgesucht und ihn abgeschrieben da ein Freund mir dazu geraten hat. Er meinte es sei ganz gut da ich dadurch die Syntax besser verstehen würde.
Syntax lernt man durch gute Bücher, nicht durch Abtippen von irgenwelchem Code.
Hast du auch irgendeine konkrete Frage?
-
Zeile 20 fehlt ein Semikolon ;
Zeile 52 machst du eine geschweifte Klasse zuviel zu }Daraus resultieren Folgefehler, da alles was danach kommt nicht mehr zu der main Funktion gehört.
Zeile 71 ist eine else Block ohne zugehöriges if, allerdings ist die vorherige Schleife schon geschlossen, ich denke das ist dein Fehler (Zeile 69)
Das sind die gröbsten Syntaxfehler, Semantikfehler hab ich noch gar nicht beachtet (die sind aber nicht weniger offensichtlich).
Hier mal der Code formatiert, ohne jegliche Änderung, ausser Einrückungen:
#include <cstdlib> #include <iostream> #include <string> using namespace std; int play = 0; string pokemon; string gegner; string action; int kp = 50; int gkp = 50; int ga = 10; int pa = 15; int main(int argc, char*argv[]) { cout << "Wähle ein Pokemon! "; cout << "Flemmli, Hydropi oder Geckarbor. " cin >> pokemon; if (pokemon == "Flemmli") { pokemon = "Flemmli"; gegner = " Hydropi"; } if (pokemon =="Hydropi") { pokemon = "Hydropi"; gegner = "Geckarbor"; } if (pokemon == "Geckarbor" ) { pokemon = "Geckarbor"; gegner = "Flemmli"; } } cout << " Du hast " << pokemon << "gewählt! \n"; cout << " Gegner setzt " << gegner << "ein! \n"; while (play > -1) { if (kp = gkp) { cout << "Was möchtest du tun? \n"; cout << "Tackle <1> Härtner <2> " cin >> action; } } else { cout << "Was möchtest du tun? \n"; cout << "Härtner <2> Genesung <3>" cin >> action; } if (action == "1") { kp -= +1; ga -= -1; } if (action == "2") { kp += 1; ga = ga; } if (action == "3") { kp += 20; } cout << "Eigene KP : " << kp <<" n" ; cout << "Gegner KP : " << gkp <<" n" ; if (kp <=0) { cout << "Du hast keine kampffähiges Pokemon mehr... n" ; system("PAUSE"); return EXIT_SUCCESS; } if (gkp <=0) { cout << "Du hast gewonnen! n" ; system("PAUSE"); return EXIT_SUCCESS; } } system("PAUSE"); return EXIT_SUCCESS; }
-
@daddy_felix naja, also wenn ich es mir nur in büchern ansehe glaube ich nicht dass es was bringt. durch das abtippen habe ich wenigstens den effekt dass ich es sehe und selbst anwende. kann natürlich jeder sehen wie er will.
@Skym0sh0 vielen lieben dank für die hilfe (:
-
Eirika schrieb:
@daddy_felix naja, also wenn ich es mir nur in büchern ansehe glaube ich nicht dass es was bringt. durch das abtippen habe ich wenigstens den effekt dass ich es sehe und selbst anwende. kann natürlich jeder sehen wie er will.
du kannst auch die Beispiele aus den Büchern abtippen. Bei einem guten Buch (siehe Empfehlungen hier im Forum) kannst du dir auch sicher sein, dass du verünftigen Code in den Fingern hast. Im Internet fliegen so dermaßen viele schlechte Codeschnipsel rum, dass es echt mühsam ist, diejenigen rauszufinden, die man sich anschauen sollte weil sie wirklich gut geschrieben sind.