Problem mit C basiertem Text Spiel
Hi,
Ich habe mir als C Anfänger ein textspiel geschrieben und bin dann auf ein Problem gestoßen:
ich hab die stellen, die nicht funktionieren in kommentare gesetzt und 4 absätze, zur verdeutlichung gemacht, denn ich weiß nicht genau was da nicht funktioniert, deshalb sind es 2 Blöcke
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
main()
{
char richtung[15];
int versuch;
jump1:
system("COLOR 0C");
printf("\n\tDas Labyrinth (produced by Ben Damerow(c))\n\n");
printf("------ HILFE ------\nNorden = north\nWesten = west\nSueden = south\n Osten = ost");
printf("\n\n\nDu befindest dich am Eingang von einem grossen Labyrinth.\n");
printf("du kannst nach norden gehen, \nlinks und rechts sind riesige gruene Hecken und du hast keinen Gegenstand \nbei dir, ");
printf("der dir bei dem Abenteur helfen kann.\n");
do
{
printf("Wo lang moechtest du gehen ?\n>");
gets(richtung);
if(strcmp("north",richtung) == 0)
{
printf("Sie sind nach Norden gegangen. \n");
break;
}
else if(strcmp("south",richtung) || strcmp("west",richtung) || strcmp("ost",richtung) == 0)
{
printf("Hier kannst du nicht lang gehen\n");
versuch--;
}
}
while(versuch > 0);
jump2:
printf("Hier fuehrt ein Weg nach westen, einer nach Osten und einer nach Sueden. \n");
do
{
printf("Wo lang moechtest du gehen ?\n>");
gets(richtung);
if(strcmp("west",richtung) == 0)
{
printf("Sie sind nach westen gegangen. \n");
jump3:
printf("Es fuehrt ein Weg nach Westen, einer nach Norden und einer nach Osten. \n");
do
{
printf("Wo lang moechtest du gehen ?\n>");
gets(richtung);
if(strcmp("west",richtung) == 0)
{
printf("Sie sind nach Westen gegangen, aber hier geht es wohl nicht weiter\n");
do
{
printf("Wo lang moechtest du gehen ?\n>");
gets(richtung);
if(strcmp("ost",richtung) == 0)
{
printf("Sie sind nach Osten gegangen. \n");
goto jump3;
break;
}
else if(strcmp("south",richtung) || strcmp("west",richtung) || strcmp("north",richtung) == 0)
{
printf("Hier kannst du nicht lang gehen\n");
versuch--;
}
}
while(versuch > 0);
break;
}
else if(strcmp("north",richtung) == 0)
{
printf("Sie sind nach Norden gegangen. \n");
break;
}
/*printf("Wegen einem Schwerwiegendem Unfall ist dieser weg vorrueberghened gesperrt, \nbitte gehen Sie wieder zurueck nach sueden");
do
{
printf("Wo lang moechtest du gehen ?\n>");
gets(richtung);
if(strcmp("south",richtung) == 0)
{
printf("Sie sind nach Sueden gegangen. \n");
break;
}
else if(strcmp("north",richtung) || strcmp("west",richtung) || strcmp("ost",richtung) == 0)
{
printf("Hier kannst du nicht lang gehen\n");
versuch--;
}
}*/
else if(strcmp("ost",richtung) == 0)
{
printf("Sie sind nach Osten gegangen. \n");
goto jump2;
break;
}
else
printf("Hier kannst du nicht lang gehen\n");
versuch--;
}
while(versuch > 0);
break;
}
else if(strcmp("south",richtung) == 0)
{
printf("Sie sind nach Sueden gegangen. \n");
goto jump1;
break;
}
else if(strcmp("ost",richtung) == 0)
{
printf("Sie sind nach Osten gegangen. \n");
break;
}
/*printf("Hier fuehrt, wegen Wartungsarbeiten erstmal kein Weg lang, \nbitte gehen Sie wieder zurueck in den Westen.\nmit freundlichen Gruessen Ihre Telekom\n");
do
{
printf("Wo lang moechtest du gehen ?\n>");
gets(richtung);
if(strcmp("west",richtung) == 0)
{
printf("Sie sind nach Westen gegangen. \n");
goto jump2;
break;
}
else if(strcmp("south",richtung) || strcmp("north",richtung) || strcmp("ost",richtung) == 0)
{
printf("Hier kannst du nicht lang gehen\n");
versuch--;
}
}*/
else
printf("Hier kannst du nicht lang gehen\n");
versuch--;
}
while(versuch > 0);
sleep(1000);
system("pause");
return 0;
}
Ich habe mir als C Anfänger ein textspiel geschrieben und bin dann auf ein Problem gestoßen:
ich hab die stellen, die nicht funktionieren in kommentare gesetzt und 4 absätze, zur verdeutlichung gemacht, denn ich weiß nicht genau was da nicht funktioniert, deshalb sind es 2 Blöcke
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
main()
{
char richtung[15];
int versuch;
jump1:
system("COLOR 0C");
printf("\n\tDas Labyrinth (produced by Ben Damerow(c))\n\n");
printf("------ HILFE ------\nNorden = north\nWesten = west\nSueden = south\n Osten = ost");
printf("\n\n\nDu befindest dich am Eingang von einem grossen Labyrinth.\n");
printf("du kannst nach norden gehen, \nlinks und rechts sind riesige gruene Hecken und du hast keinen Gegenstand \nbei dir, ");
printf("der dir bei dem Abenteur helfen kann.\n");
do
{
printf("Wo lang moechtest du gehen ?\n>");
gets(richtung);
if(strcmp("north",richtung) == 0)
{
printf("Sie sind nach Norden gegangen. \n");
break;
}
else if(strcmp("south",richtung) || strcmp("west",richtung) || strcmp("ost",richtung) == 0)
{
printf("Hier kannst du nicht lang gehen\n");
versuch--;
}
}
while(versuch > 0);
jump2:
printf("Hier fuehrt ein Weg nach westen, einer nach Osten und einer nach Sueden. \n");
do
{
printf("Wo lang moechtest du gehen ?\n>");
gets(richtung);
if(strcmp("west",richtung) == 0)
{
printf("Sie sind nach westen gegangen. \n");
jump3:
printf("Es fuehrt ein Weg nach Westen, einer nach Norden und einer nach Osten. \n");
do
{
printf("Wo lang moechtest du gehen ?\n>");
gets(richtung);
if(strcmp("west",richtung) == 0)
{
printf("Sie sind nach Westen gegangen, aber hier geht es wohl nicht weiter\n");
do
{
printf("Wo lang moechtest du gehen ?\n>");
gets(richtung);
if(strcmp("ost",richtung) == 0)
{
printf("Sie sind nach Osten gegangen. \n");
goto jump3;
break;
}
else if(strcmp("south",richtung) || strcmp("west",richtung) || strcmp("north",richtung) == 0)
{
printf("Hier kannst du nicht lang gehen\n");
versuch--;
}
}
while(versuch > 0);
break;
}
else if(strcmp("north",richtung) == 0)
{
printf("Sie sind nach Norden gegangen. \n");
break;
}
/*printf("Wegen einem Schwerwiegendem Unfall ist dieser weg vorrueberghened gesperrt, \nbitte gehen Sie wieder zurueck nach sueden");
do
{
printf("Wo lang moechtest du gehen ?\n>");
gets(richtung);
if(strcmp("south",richtung) == 0)
{
printf("Sie sind nach Sueden gegangen. \n");
break;
}
else if(strcmp("north",richtung) || strcmp("west",richtung) || strcmp("ost",richtung) == 0)
{
printf("Hier kannst du nicht lang gehen\n");
versuch--;
}
}*/
else if(strcmp("ost",richtung) == 0)
{
printf("Sie sind nach Osten gegangen. \n");
goto jump2;
break;
}
else
printf("Hier kannst du nicht lang gehen\n");
versuch--;
}
while(versuch > 0);
break;
}
else if(strcmp("south",richtung) == 0)
{
printf("Sie sind nach Sueden gegangen. \n");
goto jump1;
break;
}
else if(strcmp("ost",richtung) == 0)
{
printf("Sie sind nach Osten gegangen. \n");
break;
}
/*printf("Hier fuehrt, wegen Wartungsarbeiten erstmal kein Weg lang, \nbitte gehen Sie wieder zurueck in den Westen.\nmit freundlichen Gruessen Ihre Telekom\n");
do
{
printf("Wo lang moechtest du gehen ?\n>");
gets(richtung);
if(strcmp("west",richtung) == 0)
{
printf("Sie sind nach Westen gegangen. \n");
goto jump2;
break;
}
else if(strcmp("south",richtung) || strcmp("north",richtung) || strcmp("ost",richtung) == 0)
{
printf("Hier kannst du nicht lang gehen\n");
versuch--;
}
}*/
else
printf("Hier kannst du nicht lang gehen\n");
versuch--;
}
while(versuch > 0);
sleep(1000);
system("pause");
return 0;
}
2 Antworten
- LÖSUNG 122990 schreibt am 02.01.2016 um 13:43:01 Uhr
- LÖSUNG Pjordorf schreibt am 02.01.2016 um 18:41:17 Uhr
LÖSUNG 02.01.2016, aktualisiert um 13:44 Uhr
Bitte Code-Tags für den Quellcode nutzen: <code> Quellcode </code>. Sonst gehen Sonderzeichen im Code für die Formatierung im Forum flöten!
Gruß grexit
Gruß grexit
LÖSUNG 02.01.2016 um 18:41 Uhr
Hallo,
Und welches ist dein Problem? Ist dir der C Code ausgegangen oder kann dein Bildschirm nicht alles darstellen? Sollen wir jetzt dein Programm nachbauen um zu sehen welche Problem kommen könnten? Es würde jemanden schon helfen dir helfen zu können, und ein Kommentar im Quellcode wäre auch dir hilfreich den richtigen Weg nicht zu verlassen....
Beispiel:Gruß,
Peter
Und welches ist dein Problem? Ist dir der C Code ausgegangen oder kann dein Bildschirm nicht alles darstellen? Sollen wir jetzt dein Programm nachbauen um zu sehen welche Problem kommen könnten? Es würde jemanden schon helfen dir helfen zu können, und ein Kommentar im Quellcode wäre auch dir hilfreich den richtigen Weg nicht zu verlassen....
ich hab die stellen
Wie dir schon genannt wurde, bitte den Code in sogenannte Code Tags setzen. https://www.administrator.de/faq/20#toc-27Beispiel:
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
main()
{
char richtung[15];
int versuch;
jump1:
system("COLOR 0C");
printf("\n\tDas Labyrinth (produced by Ben Damerow(c))\n\n");
printf("------ HILFE ------\nNorden = north\nWesten = west\nSueden = south\n Osten = ost");
printf("\n\n\nDu befindest dich am Eingang von einem grossen Labyrinth.\n");
printf("du kannst nach norden gehen, \nlinks und rechts sind riesige gruene Hecken und du hast keinen Gegenstand \nbei dir, ");
printf("der dir bei dem Abenteur helfen kann.\n");
do
{
printf("Wo lang moechtest du gehen ?\n>");
gets(richtung);
if(strcmp("north",richtung) == 0)
{
printf("Sie sind nach Norden gegangen. \n");
break;
}
else if(strcmp("south",richtung) || strcmp("west",richtung) || strcmp("ost",richtung) == 0)
{
Peter