Announcement

Collapse
No announcement yet.

Brauche Hilfe beim Bedingungen festlegen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Brauche Hilfe beim Bedingungen festlegen

    Hallo

    Ich bin gerade dabei ein kleines TikTakToe spiel zu Programmieren und komme seit Wochen nicht bei einem bestimmten Problem nicht weiter.
    Es wäre sehr freundlich wenn ihr mir helfen könntet.
    (Ich bitte euch darum mich darauf hinzuweisen falls es einige Unklahrheiten dabei gibt was ich meine)

    Mein Problem sieht wie folgt aus:
    Ich Programmiere in einer Win-32 Konsolenanwendung ein TikTakToe Spiel.
    Das Feld habe ich folgendermasen aufgebaut:

    Code:
    cout << "|" << cSquare1 << "|" << cSquare2 << "|" <<  cSquare3 << "|" << endl;
              cout << "+-+-+-+" << endl;
              cout << "|" << cSquare4 << "|" <<  cSquare5 << "|" <<  cSquare6 << "|" << endl;
              cout << "+-+-+-+" << endl;
              cout << "|" << cSquare7 << "|" <<  cSquare8 << "|" <<  cSquare9 << "|" << endl;
    Ich versuch jetzt schon seit geraumer Zeit einen Weg zu finden die CSquare Variable umzudefinieren ohne das ich dafür 500 Zeilen schreiben mus aber alles was ich bisher versucht habe hat nicht funktioniert.
    ein Lösungsversuch von mir sah folgendermasen aus:
    Code:
    if (Eingabe = 1)
           {cSquare1 = 'X';}
           else if (Eingabe = 2)
           {cSquare2 = 'X';}
    Aber das will einfach nicht so klappen wie ich mir das Vorstelle. Ich dachte eigentlich, dass wenn man Eingabe auf 2 Definiert das erste if übersprungen wird. Aber das ist nicht der Fall. Fals ihr mir helfen könnt bitte ich euch mir ein paar Hinweise in die richtige Richtung zu geben.
    Danke schonmal im vorraus
    Zuletzt editiert von Rajohs; 11.02.2013, 19:21.

  • #2
    Ich zumindestens verstehe das Problem und die Frage nicht und eine "CSquare Variable" finde ich auch nicht.

    Sofern damit alle cSquareX Variablen gemeint sind, verstehe ich nicht, was "umdefinieren" heisst und warum man dafür 500 Zeilen Code braucht.

    Zu dem übrigen Code:

    Gleichheit wird in C/C++ mit == und nicht = vorgenommen.

    Insofern lautet das

    if(Eingabe==1)
    ....usw
    Christian

    Comment


    • #3
      Es sieht folgendermasen aus:
      für die Variablen cSquare 1-9 steht jeweils eine Zahl die auch als solche ausgegeben wird als


      char cSquare1 = '1';

      wenn ich dann cSquare ändern will funktioniert das nicht mit zweimal ==

      Comment


      • #4
        Das verstehe ich auch nicht. Fakt ist, deine Vergleiche sind falsch.
        Weiterhin kannst du in C/C++ nicht zur Laufzeit irgendwelche Variablennamen ändern -> Compilersprache
        Christian

        Comment


        • #5
          Ich möchte auch nicht den Variablennamen ändern sondern den Wert der Variable

          Comment


          • #6
            cSquare1 = '1'; ist jedenfalls gültig
            Christian

            Comment


            • #7
              schön leider hilft das auch nicht weiter

              Comment


              • #8
                Ja, aber da du keine richtige Frage fomulieren kannst und deine Vergleiche falsch sind, bleibt nichts anderes übrig

                Schon mal einen Debugger benutzt?
                Christian

                Comment


                • #9
                  nein was ist das?
                  entschuldige mein problem dabei dir mein Problem zu schildern... ich programmiere noch nicht sehr lange und kenn mich nicht sehr gut aus

                  Comment


                  • #10
                    http://de.wikipedia.org/wiki/Debugger

                    Er ermöglich die schrittweise Verarbeitung deines Programmes. Bei jeder Programmzeile kannst du prüfen, welchen Inhallte die Variablen zurzeit haben und warum dann eben eine Bedingung/Schleife o.a. gerade so abgearbeitet wird.
                    Du kannst also prüfen, welchen Wert hat "Eingabe" und warum wird die Bedingung nicht ausgeführt. Allerdings musst du schon == als Operator einsetzen. = bringt keinen Fehler, aber es würde wohl zuweit führen, zu erklären was der Unterschied ist.

                    Das hängt natürlich davon ab, welche Entwicklungsumgbung du benutzt.
                    Christian

                    Comment


                    • #11
                      Na gut ... das Problem hat sich erledigt.
                      Ich habs jetzt doch hinbekommen.
                      Code:
                      if (Eingabe == 1)
                             {Feld1 = 'X';}
                      else if (Eingabe == 2)
                             {Feld2 = 'X';}
                      So wäre es meinen Zwecken entsprechend richtig.
                      Also wenn die Variable "Eingabe" gleich 1 oder 2 ist, dann wird den Variablen Feld1 und/oder Feld2 der Wert 'X' zugewiesen.
                      Danke für deine Hilfeversuche.
                      LG Rajohs

                      Comment


                      • #12
                        Ich würde evtl. auch darüber nachdenken nicht unbedingt mit C++ einzusteigen. Es ist zwar löblich damit anzufangen, wenn man aber Einsteiger ist und dann auch noch als Hobby macht kann ich mir vorstellen dass das ziemlich hart ist. Das Problem an C++ ist dass es einfach alles kann. Von absolut High Level Objektorientierter Programmierung, über teilweise funktionale Geschichten bis hin zu sehr hardwarenaher Programmierung (Pointer -> Speichermanagement).
                        Ich denke eine Sprache die etwas weniger Möglichkeiten bietet ist leichter zu erlenen. Hier würde ich mir wahrscheinlich Java oder C#/VisualBasic schnappen und damit loslegen. Dafür gibt es auch schöne Entwicklungsumgebungen und die Startschwierigkeiten sind auch wesentlich geringer. Dazu kommt noch dass es gute Entwicklungsumgebungen für Lau gibt.

                        Comment

                        Working...
                        X