Ich brauch ein bisschen hilfe



  • das erinnert mich an meinen basic anfaenge - solche text adventures mit 2 miliarden gotos #ggg



  • 1. Bitte benutz Code-Tags, so ist dein Quellcode viel zu unleserlich, um den Fehler zu erkennen.

    2. Was du da schreibst ist C, kein C++ 😉



  • Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Rund um die Programmierung in das Forum ANSI C verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Huhu,

    nun...

    fflush(stdin)
    

    sollte man nicht benutzen, führt zu 'undefined behavior' .

    Deine Vergleiche sind FALSCH

    else if(Nummer>3&&<5)
    else if(Nummer>4&&<6)
    else if(Nummer>5&&<7)
    else if(Nummer>6&&<8)
    else if(Nummer>8&&<10)
    else if(Nummer>9&&<11)
    else if(Nummer>7&&<9)
    

    So gehören sie:
    RICHTIG:

    else if(Nummer>3&&Nummer<5)
    else if(Nummer>4&&Nummer<6)
    else if(Nummer>5&&Nummer<7)
    else if(Nummer>6&&Nummer<8)
    else if(Nummer>8&&Nummer<10)
    else if(Nummer>9&&Nummer<11)
    else if(Nummer>7&&Nummer<9)
    

    Diese Vergleiche sind hässlich und machen deinen Code nur kryptischer.
    Denk über diese Vergleiche mal nach. Hier ein Beispiel:

    else if(Nummer>3&&Nummer<5)
    

    Was muss 'Nummer' sein, damit die 'If-Abfrage' wahr ergibt...?
    Richtig - ! 4 !

    Wäre da ein:

    else if(Nummer == 4)
    

    nicht viel schöner?

    Mehr fällt mir auch nicht mehr auf.



  • Und wo du schon entdeckt hast dass es einzelne Zahlen sind kannst du auch ein switch basteln:

    switch(Nummer){
        case 1: printf("Intro\n"); break;
        case 2: printf("weiter\n"); break;
        ...
        default: printf("Fehler: unbekannte Nummer '%d'\n", Nummer);
    }
    

    Weiterhin solltest du dir überlegen ob du nicht den Text lieber von einer Textdatei einliest damit du weniger umständliches C schreiben musst.
    Zum Beispiel einen Text wie

    ^"1: Du stehst an der Bäckerei...
    2: Bäckerei überfallen
    3: Backwaren ansehen
    4: Verkäufer befragen
    5: Bäckerei verlassen

    2: Du ziehst dein(e) $AKTUELLEWAFFE und Leute um dich herum rufen nach der Wache, du hast nicht viel Zeit
    3: Backwaren ansehen
    6: Verkäufer angreifen
    4: Verkäufer bedrohen
    ..."^

    Der Text wird dann vom Programm eingelesen und angezeigt.

    Die erste Zahl ist jeweils der aktuelle Zustand, die folgenden sind Auswahlmöglichkeiten und ihr Folgezustand.
    Du kannst auch die Nummern cleverer belegen, zum Beispiel 41: Verkäufer befragen, 42: Mit Verkäufer handeln, 43: Verkäufer bedrohen oder so, damit du besser den Überblick behälst.

    $AKTUELLEWAFFE wird natürlich vom Programm dynamisch durch eine Variable ersetzt wo du den Namen der aktuellen Waffe speicherst.

    Viel Spaß, und nicht so schnell aufgeben 😉



  • nwp2 schrieb:

    Weiterhin solltest du dir überlegen ob du nicht den Text lieber von einer Textdatei einliest damit du weniger umständliches C schreiben musst.
    Zum Beispiel einen Text wie

    [h]"1: Du stehst an der Bäckerei...
    2: Bäckerei überfallen
    3: Backwaren ansehen
    4: Verkäufer befragen
    5: Bäckerei verlassen

    gute idee, am besten noch die erlaubten übergänge ins textfile mit rein (die zahlen mit doppelpunkt links neben den antworten könnten z.b. die nächsten zustände sein). dann hste eine zustandsautomaten-beschreibungssprache und kannst damit alle möglichen rollenspiele basteln, ohne das programm (was ja nur noch ein interpreter ist) zu ändern.
    🙂



  • 😃 Yo! Vielen dank für die ganzen antworten hier! 😃 Das mit der Switch-Verzweigung hab ich glaub ich begriffen, auf jedenfall scheints zu funktionieren.
    Aber wieso soll ich kein, fflush(stdin) machen (Wofür das eigentlich gut ist weiss ich auch nicht)? Das mit dem Text einlesen hielt ich gestern auch noch für ne
    gute Idee, aber hinterher die ganzen Umlaute ändern ist auch irgendwie blöd (besonders wenn man anschließend bei der Korrektur was übersieht).O.k. inzwischen sieht es so aus,vorsicht erschreckt euch nicht:

    ________________________________________________________________________________
    #include <cstdlib>
    #include <iostream>

    int main(int argc, char *argv[])
    {
    system("color 74");
    int anfang,ende,mitte,theke,theke2,Brief,Gasthaus,Aufbruch,anrede,Aufbruch2,auftrag,weiter,weiter2,Halle,zwerg,Haupthalle,luft,keller;

    printf("Du befindest dich in der Taverne -Zum Heldenkeller- in Havena und bist \
    dabei\n dir einen Kampf zwischen einem Nivesen und einem Seemann anzusehen.\
    \n Der Seemann greift mit einem einfachen Entermesser an, der Nivese verl\x84sst\n sich \
    ganz auf seine Holzf\x84lleraxt. Eine grosse Menschenmenge hat sich um die\n zwei \
    K\x84mpfer in der Mitte des Raumes gebildet. Viele Menschen rennen zum Tresen um \
    eine Wette abzuschliessen. Die Quote steht 2 zu 4 f\x81r den Nivesen.\n \
    M\x94\ \bchtest du auch f\x81r 2 Dukaten wetten?\n\n\nIch bin dabei (1)\n Ich \
    lasse es lieber (2)\n");
    scanf("%d",&anfang);
    fflush(stdin);

    switch (anfang)
    {
    case 1: printf("Auf wen m\x94\chtest du setzen?\n");
    printf("Auf den Nivesen (1)\n""Auf den Seemann (2)\n");
    scanf("%d",&mitte);
    fflush(stdin);
    break;
    case 2:printf("Der Nivese hat den Seemann besiegt, und alle \
    rennen zur Theke um ihren Gewinn\n einzul\x94 \bsen oder sich \
    zu beschweren. Du bleibst in einer Ecke stehen und siehst\n dem \
    Treiben zu, da bemerkst du einen Anschl\x84ger, der einen Zettel \
    an einem\n Brett in der Taverne befestigt.\n\n\n""Ich sehe mir \
    den Zettel an (1)\n""Mich interessiert der Zettel nicht (2)\n""\
    Ich renne dem Anschl\x84ger nach (3) \n");
    scanf("%d",&theke);
    fflush(stdin);
    break;
    }

    switch (mitte)
    {
    case 1: printf("Du dr\x84ngelst dich zur Theke durch um 2 Dukaten \
    auf den Nivesen zu setzen.\n Gerade noch rechtzeitig denn gerade \
    als du deinen improvisierten Wettschein\n entgegennimmst siehst du \
    wie der Nivese mit einem kr\x84 \bftigen Schlag seine Axt\n dem \
    Seemann in die H\x81 \bfte rammt. Der Seemann bricht \
    blut\x81 \b\berstr\x94 \bmmt zusammen und wird von zwei \
    M\x84nnern aus der Taverne getragen. Du l\x94st schnell deinen\n \
    Wettschein ein und nimmst deine 8 Dukaten entgegen, bevor alle \
    anderen dich an dem Tresen erdr\x81cken. Im Aufruhr der \
    Wettscheineinl\x94sung übersehen alle anderen G\x84ste des Lokals \
    einen Anschl\x84ger, der einen Brief an einem Brett in der Taverne \
    festnagelt. Dann verschwindet der Anschl\x84ger aus der Taverne.\n\n\n Ich \
    sehe mir den Zettel an (1)\n Der interessiert mich nicht (2)\n Ich renne \
    dem Anschl\x84ger nach (3)\n");
    scanf("%d",&theke);
    fflush(stdin);
    break;
    case 2:printf("Da hast du leider Pech gehabt, denn du siehst wie der \
    Nivese ausholt und seine riesige Axt dem Seemann in die H\x81 \bfte rammt. \
    Der Seemann sinkt blut\x81 b\berstr\x94 \bmmt zusammen und hinterlässt eine \
    h\x84ssliche Blutlache auf dem Holzboden. Gefrustet ziehst du dich in eine Ecke \
    der Taverne zur\x81 \bck. Da alle ausser dir zum Tresen rennen siehst du einen \
    Anschl\x84ger, der einen Zettel an dem daf\x81 \br vorgesehenen Brett befestigt.\n\n\n"" \
    Ich sehe mir den Zettel an (1)\n"" Der Zettel l\x84sst mich kalt (2)\n"" Ich \
    renne dem Anschl\x84ger nach, der gerade die Taverne verl\x84sst. (3)\n");
    scanf("%d",&theke);
    fflush(stdin);
    }

    switch (theke)
    {
    case 1:printf("Derjenige der genug Mut hat, oder interessiert ist \
    einen Auftrag von mir\n anzunehmen der kommt morgen zur Praiosstunde \
    zur Brunnenstrasse 14 im Westen\n Havenas. Belohnung und weiteres nach \
    Absprache. M\x94gen die Zw\x94lfe mit euch sein. Alron Grabenst\x84tt \n\
    Ich \x81 \bbernachte hier und gehe morgen zur Brunnenstrass14 (1)\n""Ich \
    habe nicht genug Mut und bin nicht interessiert (2)\n");
    scanf("%d",&Gasthaus);
    fflush(stdin);
    break;
    case 2:printf("Bist du gar nicht neugierig?\n\n\n""Doch bin ich! (1)\n""Ich \
    will nicht wissen was auf dem bl\x94den Zettel steht! (2)\n");
    scanf("%d",&theke2);
    fflush(stdin);
    break;
    case 3:printf("Du rennst aus der Taverne, siehst aber keine Gestalt die \
    dem Anschl\x84ger\n auch nur ann\x84hernd \x84hnlich sieht. Das war \
    wohl nichts.\n\n\n""Ich sehe mir jetzt den Zettel an (1) \n""Der interessiert\
    mich immer noch nicht (2)\n");
    scanf("%d",&theke2);
    fflush(stdin);
    break;
    }

    switch (theke2)
    {
    case 1:printf("Derjenige der genug Mut hat, oder interessiert ist \
    einen Auftrag von mir\n anzunehmen der kommt morgen zur Praiosstunde \
    zur Brunnenstrasse 14 im Westen\n Havenas. Belohnung und weiteres \
    nach Absprache. M\x94gen die Zw\x94lfe mit euch sein. \
    Alron Grabenst\x84tt \n\n\n""Ich \x81 \bbernachte hier und gehe \
    morgen zur Brunnenstrass14 (1)\n""Ich habe nicht genug Mut und \
    bin nicht interessiert (2)");
    scanf("%d",&Gasthaus);
    fflush(stdin);
    break;
    case 2:printf("Bist du wirklich nicht neugierig?\n\n\n""Zeig her! (1)\n \
    Ich will nicht wissen was auf dem bl\x94den Zettel steht! (2)\n");
    scanf("%d",&Brief);
    fflush(stdin);
    break;
    }
    switch (Brief)
    {
    case 1:printf("Derjenige der genug Mut hat, oder interessiert ist einen Auftrag \
    von mir\n anzunehmen der kommt morgen zur Praiosstunde zur Brunnenstrasse 14 im \
    Westen\n Havenas. Belohnung und weiteres nach Absprache. M\x94gen die Zw\x94lfe \
    mit euch sein. Alron Grabenst\x84tt \n\n\n""Ich \x81 \bbernachte hier und gehe \
    morgen zur Brunnenstrasse 14 (1)\n""Ich habe nicht genug Mut und bin nicht interessiert (2)");
    scanf("%d",Gasthaus);
    fflush(stdin);
    break;
    case 2:printf("O.k., dann dr\x81cke (1)\n");
    scanf("%d",&ende);
    fflush(stdin);
    break;
    }
    switch (Gasthaus)
    {
    case 1:printf("Die \x9a \bbernachtung hat dich 2Silbertaler gekostet. \
    Du hast noch eine Stunde Zeit\n bis du da sein musst. Was machst du?\n\n\nIch \
    gehe schon mal in die Brunnenstrasse (1)\nIch gehe noch mal auf den Markt (2)\n");
    scanf("%d",&Aufbruch);
    fflush(stdin);
    break;
    case 2:printf("O.k., dann dr\x81cke (1)\n");
    scanf("%d",&ende);
    }
    switch (Aufbruch)
    {
    case 1:printf("Du wanderst quer durch Havena, nach Osten Richtung Meer. \
    Bald bist du in der Brunnenstrasse angelangt. Du begibst dich zu Nummer14. Es \
    ist ein altes Fachwerkhaus mit braun lackierten Balken und weiss gestrichenem Stein. \
    Über der T\x81r h\x84ngt ein prunkvolles Eichenschild und mit goldener Farbe \
    steht geschrieben: Alron Grabenst\x84tt, Handelskaufmann. Du klopfst an der T\x81r \
    und es \x94ffnet eine Person die wie ein Diener angezogen ist, es wird wohl ein Diener \
    sein. Was w\x81nschen Sie?\n\n\n""Guten Tag, ich m\x94 \bchte zu Alron Grabenst\x84tt (1)\n\
    Mach Platz ich will zu deinem Meister du Sklave (2)\n");
    scanf("%d",&anrede);
    fflush(stdin);
    break;
    case 2:printf("Du gehst auf den Markt und kannst, wenn du willst, dich mit \
    Waffen, Essen oder sonstigen Dingen eindecken.\n\n\n""Jetzt gehe ich \
    zur Brunnenstrasse (1)\n");
    scanf("%d",&Aufbruch2);
    fflush(stdin);
    break;
    }
    switch (Aufbruch2)
    {
    case 1:printf("Du wanderst quer durch Havena, nach Osten Richtung Meer. Bald \
    bist du in der Brunnenstrasse angelangt. Du begibst dich zu Nummer14. Es ist \
    ein altes Fachwerkhaus mit braun lackierten Balken und weiss gestrichenem Stein. \
    Über der T\x81r h\x84ngt ein prunkvolles Eichenschild und mit goldener Farbe \
    steht geschrieben: Alron Grabenst\x84tt, Handelskaufmann. Du klopfst an der T\x81r und \
    es \x94ffnet eine Person die wie ein Diener angezogen ist, es wird wohl ein Diener \
    sein. Was w\x81nschen Sie?\n\n\n""Guten Tag, ich m\x94 \bchte zu Alron \
    Grabenst\x84tt (1)\n""Mach Platz ich will zu deinem Meister du Sklave (2)\n");
    scanf("%d",&anrede);
    fflush(stdin);
    break;
    case 2:
    break;
    }
    switch (anrede)
    {
    case 1:printf("Bitte treten sie ein und warten sie in der Vorhalle. bittet \
    dich der Diener. Sagte er Vorhalle? Das Haus scheint gr\x94sser zu sein als du \
    es dir vorgestellt hast. Du wartest ein paar Minuten, dann kommt der Diener \
    wieder. Der Herr des Hauses empfängt Sie im Arbeitszimmer. Es ist die 9te Tür auf \
    der rechten Seite. Du gehst durch die 9te T\x81r auf der rechten Seite und \
    betrittst das Arbeitszimmer. Überall im Raum h\x84ngen K\x94pfe als Troph\x84en \
    (bestimmt gekauft) und allerlei exotische Waffen wie Blasrohre hängen auch an \
    den W\x84nden. Ein Mann sitzt in einem der zwei Sessel am lodernden Kamin und \
    raucht eine Zigarre. Setzten sie sich bitte. M\x94chten sie ein Glas Premer Feuer? \
    Du setzt dich in den zweiten Sessel des Raumes und nimmst dir ein Glas des \
    hochprozentigen Getr\x84nks. Wie Sie sicherlich wissen bin ich ein einflussreicher \
    Handelskaufmann Havena's. Dies macht er dir in einem komischen, dominanten Ton klar. \
    Also um auf ihren Auftrag zu sprechen zu kommen. Ich besitze eine Lagerhalle an den \
    Klippen 6 Meilen südlich von Havena. Ich habe bemerkt das ich seit ein paar Wochen \
    bestohlen werde. Ich lagere in dieser Halle Stoffe aus ganz Aventurien, die ich auf \
    dem Markt verkaufe oder auf andere Weise mit ihnen handle, hehe. Für sie springen \
    dabei 40 Dukaten heraus wenn sie mir berichten k\x94nnen wer oder was in meine Halle \
    eindringt und weitere 10 Dukaten wenn sie alle Diebe zur Strecke bringen. Also sind \
    sie mutig genug um auf meine Halle aufzupassen und gegebenenfalls die Diebe \
    gefangen zu nehmen?\n\n\n""Ich denke ich kann ihre Halle vor \
    weiteren \x9a \bberf\x84llen bewahren (1)\n""Ich glaube ich habe mir \
    in die Hose gemacht (2)\n");
    scanf("%d",&auftrag);
    fflush(stdin);
    break;
    case 2:printf("Der Diener scheint einiges an Kampfsportarten draufzuhaben, denn \
    er nimmt dich und f\x81hrt einen \x81beraus gelungenen Schulterwurf aus. Du \
    landest in der Gosse. Als hinter dir die Tür zugeschlagen wird und um dich blickst \
    bemerkst du die Leute die sich um dich scharen und sich krank lachen. Besch\x84mt \
    machst du dich zu deinem mehr als peinlichem Ende davon.\n\n Dr\x81cke (1)\n\n");
    scanf("%d",&ende);
    fflush(stdin);
    break;
    }
    switch (auftrag)
    {
    case 1:printf("Sch\x94 \bn, Sch\x94 \bn. Ich gebe ihnen einen kleinen Rucksack \
    mit Ausr\x81stung mit.\n Er zieht an einer Schnur und einige Minuten später \
    kommt sein Diener hinein und übergibt dir einen Rucksack mit folgenden Sachen.\n\n");
    printf(" 1 \x99llampe\n1 Tau (20m)\n 3 Flaschen Lampen\x94l \n 2 Zunderk\x84stchen\n");
    printf(" Er bittet sie 1 Stunde vor Einbruch der Dunkelheit loszureisen. \
    Bis dahin sind es noch 2 Stunden, die du in der Stadt Havena's verbringen \
    kannst. Du verabschiedest dich von Alron und verbringst deine restliche \
    Zeit in der Stadt.\n");
    printf(" Nun ist es Zeit aufzubrechen. Du gehst s\x81dlich aus dem \
    Stadttor auf dein Ziel zu. Du musst durch einen Wald, durch den jedoch \
    eine breite, vielbefahrene Strasse f\x81hrt. Schon von weitem kannst \
    du das Lagerhaus erkennen, es stehtn");
    printf(" nicht unweit von der Klippe entfernt. Du kannst das weite Meer \
    sehen und den wundervollen Sonnenuntergang. Jetzt bist du an der Lagerhalle \
    angekommen, du kramst nach dem Lagerhallenschl\x81ssel den dir Alron zum \
    Abschied \x81berreicht hat.\n");
    printf(" W\x84hrend du kramst h\x94rst du ein ohrenbet\x84ubendes Traben\n");
    printf(" und Stampfen aus dem Wald heraus. Du drehst dich schlagartig um, Hand \
    an der Waffe und wartest darauf das sich irgendetwas zeigt. Da reitet \
    pl\x94tzlich eine Gruppe Personen aus dem Wald heraus. Es sind schwarze \
    Gestalten auf schwarzen Pferden.\n");
    printf(" Sie reiten an dir vorbei, an dritter Stelle eine bildh\x81 \bbsche \
    Frau zwischen 20 und 25. Dein Griff entspannt sich und du wendest dich \
    wieder deinem Schl\x81ssel zu, du kannst gerade noch erkennen das sie \
    nicht den weiterf\x81hrenden Weg benutzen,\n");
    printf(" sondern quer in den Wald hineinreiten.\n");
    printf(" Du holst den Schl\x81ssel aus deiner Tasche und schließt die \
    Halle auf, gehst hinein und schließt wieder zu. Die Halle ist gr\oesser \
    als sie von aussen aussieht. \x9a \bberall stehen 1,5 Schritt hohe \
    Kisten herum, gef\x81llt mit den Stoffen\n");
    printf(" von denen dir Alron erzaehlt hat. Du bemerkst, dass einige von \
    ihnen ge\x94ffnet sind, und das Material zum Teil entwendet wurde.\n\n Ich \
    gehe in den ersten Stock und sehe mich dort um (1)\n\nIch gehe nach drau\xe1 \ben \
    und schaue mir die Halle von au\xe1 \ben an (2)\n\n");
    scanf("%d",&weiter);
    fflush(stdin);
    break;
    case 2:printf("Weichei! Dr\x81cke (1)");
    scanf("%d",&ende);
    fflush(stdin);
    break;
    }
    switch (weiter)
    {
    case 1:printf("Du gehst die schmale Wendeltreppe nach oben, und kommst \
    in einen kleinen Raum mit ein paar Schr\x84nken, die haltbare Wurst \
    und Brot enthalten. Es befindet sich eine kleine \x99ffnung in der Wand, die \
    wohl zur Frischluftzufuhr dient, allerdings ist\n");
    printf(" sie breit genug, dass sich eine d\x81nne oder kleine Person \
    hindurchzw\x84ngen k\x94nnte.\n\n\n Willst Du versuchen es vor R\x84ubern \
    zu verschließen? (1)\n\n\n Ne, lieber nicht (2)\n\n");
    scanf("%d",&weiter2);
    fflush(stdin);
    break;
    case 2:printf("Du schließt die Halle also wieder auf, gehst hinaus \
    und schließt sie wieder zu. Es ist mittlerweile dunkel geworden und \
    du musst wohl deine Lampe aus dem Rucksack auf deinem Rücken holen. Du \
    packst sie also aus und zündest sie an. Jetzt gehst du um die Halle \
    herum. Du findest nichts Besonderes, keine Löcher in den Wänden oder \
    sonstiges.\n");
    printf(" Aber an der rechten Seite steht eine Leiter, die dort bestimmt \
    nicht hingehört.\n\n\n Die nehme ich besser mit hinein (1)\n\n Ach \
    was, ich lasse sie stehen (2)\n\n");
    scanf("%d",&Halle);
    fflush(stdin);
    break;
    }
    switch (weiter2)
    {
    case 1:printf("Du stehst vor der öffnung und \x81berlegst \
    wie du sie verschlie\xe2en k\x94nntest. Plötzlich kommt ein \
    Zwerg durch den Schacht zu dir hinuntergerutscht, der scheint \
    völlig überrascht zu sein jemanden in der Halle anzutreffen. Doch \
    sein Gesichtsausdruck verrät dir, dass er dir nicht freundlich \
    gesinnt ist. Entschlossen machst du den verdammten Zwerg \
    den gar aus. (1)\n\n");
    scanf ("%d",&zwerg);
    fflush(stdin);
    break;
    case 2:printf("Du schaust dich ein wenig um als pl\x94tzlich \
    kommt ein Zwerg durch den Schacht zu dir hinuntergerutscht, der \
    scheint völlig überrascht zu sein jemanden in der Halle \
    anzutreffen. Doch sein Gesichtsausdruck verrät dir, dass \
    er dir nicht freundlich gesinnt ist. Entschlossen machst \
    du den verdammten Zwerg den gar aus. (1)\n\n");
    scanf("%d",&zwerg);
    fflush(stdin);
    break;
    }
    switch (zwerg)
    {
    case 1:printf("Als du den Zwerg durchsuchst findest \
    du einen Bund Dietriche und einen Büschel Heilkraut, du \
    kannst auch, wenn du willst den Felsspalter des \
    Zwerges an dich nehmen, sie ist für alle Heldentypen (ausser \
    dem Zwerg natürlich) im Kampf nicht zu gebrauchen da \
    es eine Axt ist, die speziell für Zwerge \
    hergestellt wird.\n\n Weiter zur Haupthalle (1)");
    scanf("%d",&Haupthalle);
    fflush(stdin);
    break;
    case 2:
    break;
    }
    switch (Halle)
    {
    case 1:printf("Du klemmst dir die Leiter unter den \
    Arm und betrittst wieder die Haupthalle. (Inklusive \
    abschließen natürlich)\n\n Haupthalle (1)\n\n");
    scanf("%d",&Haupthalle);
    fflush(stdin);
    break;
    case 2:printf("Ich lasse sie stehen, es wird schon \
    nichts passieren.\n\n\n Haupthalle (1)\n\n");
    scanf("%d",&Haupthalle);
    fflush(stdin);
    break;
    }
    switch (Haupthalle)
    {
    case 1:printf("Du stehst wieder in der Haupthalle.\n\n\n Rauchst du?\n\n Klar \
    rauch ich (1)\n ich hab noch nie geraucht! (2)\n");
    scanf("%d",&luft);
    fflush(stdin);
    break;
    case 2:
    break;
    }
    switch (luft)
    {
    case 1:printf("Beim rauchen bemerkst du einen leichten Luftzug nahe \
    der rechten hinteren Ecke. Du gehst näher heran und bemerkst, dass der \
    Luftzug von einer der Kisten kommt. (1)\n\n");
    scanf("%d",&keller);
    fflush(stdin);
    break;
    case 2:printf("Du bemerkst einen leichten Luftzug nahe der rechten \
    hinteren Ecke. Du gehst näher heran und bemerkst, dass der Luftzug von \
    einer der Kisten kommt. (1)\n\n");
    scanf("%d",&keller);
    fflush(stdin);
    break;
    }
    switch (keller)
    {
    case 1:
    break;
    case 2:
    break;
    }
    switch (ende)
    {
    case 1: printf("F\x81 \br dich ist das Spiel zu Ende\n\n");
    break;
    case 2:
    break;
    }

    system("PAUSE");
    return EXIT_SUCCESS;
    }
    __________________________________________________________________________
    Bin auf jedenfall froh jetzt soetwas wie einen "Anfang" zu haben 👍 , viele Grüße
    Metalman91282



  • ^^ ich glaub das ist das hässlichste c-programm, das ich jemals gesehen habe *fg*
    da: http://thedailywtf.com/ kannstes veröffentlichen.
    🙂



  • [quote=";fricky"]^^ ich glaub das ist das hässlichste c-programm, das ich jemals gesehen habe *fg*
    hö hö hö 🤡 , na immerhin kann man jetzt überhaupt was sehen. Hast aber recht, muss wohl noch viel üben. 🙄 Gruß



  • Das ist echt Wahnsinn Bruder! Mach das lieber mit den Textdateien!
    Programmierst du unter Windows? Speicherst du die Datei im Ansi Format, oder Windows Codepage 1252 und denn:

    #include <stdio.h>
    #include <locale.h> // setlocale
    
    char* fname = "Mein.Text.txt";
    int main()
    {
    	FILE* fp; = fopen(fname, "r");
    	setlocale(LC_ALL, "German"); // Für die Umlaute, etc.
        fp = fopen(fname, "r"); // öffnen
    
    	// einlesen ...
    	fclose(fp); // schließen
    	rturn 0;
    }
    


  • Du kannst dich auch komplett um C drücken. Such mal nach "textadventure maker", davon gibt es genug. Damit brauchst du dann nur noch den Text zu schreiben, den Rest macht das Programm.


Anmelden zum Antworten