Schleifen sind ja schön und Toll aber das würde in dem fall die sache nur verkommplizieren.
Code: Alles auswählen
#include <stdio.h>
int main ()
{
int f;
printf ("Willkommen in Empire's Labyrint!\nHier kommt eine kutze Einleitung:\n1. Das + ist eure Spielfigur.\n2. Ihr könnt nicht über # laufen.\n3. Das - ist das Ziehl.\n");
printf ("Gehen geht so:\nHoch = 1\nRechts = 2\nRunter = 3\nLinks = 4\n\n");
printf ("Jetzt kans los gehen!!!");
p1:
printf ("########\n########\n##++\n##++\n## ##\n## ##\n## ##\n## ##\n");
scanf ("%d", &f);
switch (f)
{
case 2: goto p2;
break;
case 3: goto p10;
break;
default: goto p1;
}
p2:
printf (" \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n##########\n##########\n## ++\n## ++\n## ## ##\n## ## ##\n## ## ##\n## ## ##\n ");
scanf ("%d", &f);
switch (f)
{
case 2: goto p3;
break;
case 4: goto p1;
break;
default: goto p2;
}
p3:
printf ("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
printf ("##########\n##########\n ++\n ++\n ## ## \n ## ## \n ## ## \n ## ## \n");
scanf ("%d", &f);
switch (f)
{
case 2: goto p4;
break;
case 3: goto p11;
break;
case 4: goto p2;
break;
default: goto p3;
}
p4:
printf ("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
printf ("##########\n##########\n ++\n ++\n## ## ##\n## ## ##\n## ## ##\n## ## ##\n");
scanf ("%d", &f);
switch (f)
{
case 2: goto p5;
break;
case 4: goto p3;
break;
default: goto p4;
}
p5:
printf ("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
printf ("##########\n##########\n ++\n ++\n ## ####\n ## ####\n ## ##\n ## ##\n");
scanf ("%d", &f);
switch (f)
{
case 2: goto p6;
break;
case 3: goto p12;
break;
case 4: goto p4;
break;
default: goto p5;
}
p6:
printf ("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
printf ("##########\n##########\n ++\n ++\n## ####\n## ####\n## ##\n## ##\n");
scanf ("%d", &f);
switch (f)
{
case 2: goto p7;
break;
case 4: goto p5;
break;
default: goto p6;
}
p7:
printf ("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
printf ("##########\n##########\n ++ ##\n ++ ##\n #### ##\n #### ##\n ## ##\n ## ##\n");
scanf ("%d", &f);
switch (f)
{
case 2: goto p8;
break;
case 4: goto p6;
break;
default: goto p7;
}
p8:
printf ("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
printf ("##########\n##########\n ++##\n ++##\n#### ##\n#### ##\n## ##\n## ##\n");
scanf ("%d", &f);
switch (f)
{
case 3: goto p13;
break;
case 4: goto p7;
break;
default: goto p8;
}
p9:
printf ("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
printf ("########\n########\n ##++##\n ##++##\n ## ##\n ## ##\n ## ##\n ## ##\n");
scanf ("%d", &f);
switch (f)
{
case 3: goto p14;
break;
default: goto p9;
}
p10:
printf ("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
printf ("########\n########\n##\n##\n##++##\n##++##\n## ##\n## ##\n## ####\n## ####");
scanf ("%d", &f);
switch (f)
{
case 1: goto p1;
break;
case 3: goto p15;
break;
default: goto p10;
}
p11:
printf ("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
printf ("##########\n##########\n\n\n ##++##\n ##++##\n ## ##\n ## ##\n ######\n ######");
scanf ("%d", &f);
switch (f)
{
case 1: goto p3;
break;
case 3: goto p16;
break;
default: goto p11;
}
p12:
printf ("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
printf ("##########\n##########\n\n\n ##++####\n ##++####\n ## ##\n ## ##\n#### ####\n#### ####");
scanf ("%d", &f);
switch (f)
{
case 1: goto p5;
break;
case 3: goto p17;
break;
default: goto p12;
}
p13:
printf ("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
printf ("##########\n##########\n ##\n ##\n####++##\n####++##\n## ##\n## ##\n########\n########");
scanf ("%d", &f);
switch (f)
{
case 1: goto p8;
break;
case 3: goto p19;
break;
default: goto p13;
}
p14:
printf ("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
printf ("########\n########\n ## ##\n ## ##\n ##++##\n ##++##\n ## ##\n ## ##\n#### ##\n#### ##");
scanf ("%d", &f);
switch (f)
{
case 1: goto p9;
break;
case 3: goto p20;
break;
default: goto p14;
}
p15:
printf ("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
printf ("##\n##\n## ##\n## ##\n##++##\n##++##\n## ####\n## ####\n## ##\n## ##");
scanf ("%d", &f);
switch (f)
{
case 1: goto p10;
break;
case 3: goto p21;
break;
default: goto p15;
}
p16:
printf ("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
printf ("\n\n ## ##\n ## ##\n ##++##\n ##++##\n ######\n ######\n ##\n ##");
scanf ("%d", &f);
switch (f)
{
case 1: goto p11;
break;
default: goto p16;
}
p17:
printf ("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
printf ("\n\n ## ####\n ## ####\n ##++##\n ##++##\n#### ####\n#### ####\n ##\n ##");
scanf ("%d", &f);
switch (f)
{
case 1: goto p12;
break;
case 3: goto p22;
break;
default: goto p17;
}
p18:
printf ("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
printf (" ##\n ##\n #### ##\n #### ##\n ##++ ##\n ##++ ##\n ########\n ########\n ## ##\n ## ##");
scanf ("%d", &f);
switch (f)
{
case 2: goto p19;
break;
default: goto p18;
}
p19:
printf ("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
printf (" ##\n ##\n#### ##\n#### ##\n## ++##\n## ++##\n########\n########\n## ##\n## ##");
scanf ("%d", &f);
switch (f)
{
case 1: goto p13;
break;
case 4: goto p18;
break;
default: goto p19;
}
p20:
printf ("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
printf (" ## ##\n ## ##\n ## ##\n ## ##\n ##++##\n ##++##\n#### ##\n#### ##\n## ##\n## ##");
scanf ("%d", &f);
switch (f)
{
case 1: goto p14;
break;
case 3: goto p23;
break;
default: goto p20;
}
p21:
printf ("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
printf ("## ##\n## ##\n## ##\n## ##\n##++####\n##++####\n## ##\n## ##\n## ##\n## ##");
scanf ("%d", &f);
/* switch (f)
{
case 1: goto p15;
break;
case 3: goto p24;
break;
default: goto p21;
}*/
p22:
printf ("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
printf (" ## ####\n ## ####\n ## ##\n ## ##\n####++####\n####++####");
scanf ("%d", &f);
/* switch (f)
{
case 1: goto p17;
break;
case 3: goto p27;
break;
default: goto p22;
}*/
p23:
printf ("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
printf (" ## ##\n ## ##\n ## ##\n ## ##\n####++##\n####++##\n## ##\n## ##\n## ####\n## ####");
scanf ("%d", &f);
/* switch (f)
{
case 1: goto p20;
break;
case 3: goto p30;
break;
default: goto p23;
}*/
p24:
printf ("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
printf ("## ##\n## ##\n## ####\n## ####\n##++##\n##++##\n## ##\n## ##\n##\n##");
scanf ("%d", &f);
/* switch (f)
{
case 1: goto p21;
break;
case 3: goto p31;
break;
default: goto p24;
}*/
p15:
printf ("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
printf ("");
scanf ("%d", &f);
/* switch (f)
{
case 1: goto;
break;
case 2: goto;
break;
case 3: goto;
break;
case 4: goto;
break;
default: goto p25;
}
p15:
printf ("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
printf ("");
scanf ("%d", &f);
switch (f)
{
case 1: goto;
break;
case 2: goto;
break;
case 3: goto;
break;
case 4: goto;
break;
default: goto p26;
}
pENDE:
printf ("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
printf ("");
scanf ("%d", &f);
switch (f)
{
case 1: goto;
break;
case 2: goto;
break;
case 3: goto;
break;
case 4: goto;
break;
default: goto p1;
}
*/
return 0;
}
(leider konnte ich den Befehl nicht finden das das in so einem Kästchen kommt)
(das als komentar markierte is entweder noch nicht überarbeitet oder die goto punkte sind noch nicht da und um es testen zu können hab ich das als komentar markiert)
ich finde (bis auf die Länge) ist es sehr übersichtig was zu viele schleifen nicht wären.
Nur so ne bemerkung am rande am ende sind das 63 possitionen die die "Figur" haben kann.
Deshalb kapier ich net was ihr gegen goto habt.
mfg Empire
edit by Xin: Codetags eingeführt