4 - gewinnt in C



  • SeppJ schrieb:

    Ihr lernt in der Schule mit dem Buch "C von A bis Z" 😮 . Ihr Armen.

    Also ich persönlich finde das Buch gar nicht schlecht, aber vielleicht liegt das daran dass ich keine anderen kenne. Ich kann mir gut vorstellen dass mein Lehrer auch in dem Forum angemeldet ist, ich frag ihn morgen 😃

    Könntest du mir da vielleicht weiterhelfen ein bisschen?

    Wenigstens dass einmal das Speilfeld funktioniert und so ausschaut wie ein 4 gewinnt spielfeld, das könnt ja schon mal was^^


  • Mod

    Blurp_ schrieb:

    SeppJ schrieb:

    Ihr lernt in der Schule mit dem Buch "C von A bis Z" 😮 . Ihr Armen.

    Also ich persönlich finde das Buch gar nicht schlecht, psccht ich kann mir gut vorstellen dass er auch in dem Forum angemeldet ist, ich frag ihn morgen 😃

    Das Buch ist bekannt dafür, sich gut zu lesen, aber voller fachlicher Fehler zu sein, die man nur bemerkt, wenn man richtig C kann. Und Anfänger die danach gelernt haben wundern sich, warum nichts funktioniert, sobald sie mal etwas "richtiges" programmieren.



  • SeppJ schrieb:

    Blurp_ schrieb:

    SeppJ schrieb:

    Ihr lernt in der Schule mit dem Buch "C von A bis Z" 😮 . Ihr Armen.

    Also ich persönlich finde das Buch gar nicht schlecht, psccht ich kann mir gut vorstellen dass er auch in dem Forum angemeldet ist, ich frag ihn morgen 😃

    Das Buch ist bekannt dafür, sich gut zu lesen, aber voller fachlicher Fehler zu sein, die man nur bemerkt, wenn man richtig C kann. Und Anfänger die danach gelernt haben wundern sich, warum nichts funktioniert, sobald sie mal etwas "richtiges" programmieren.

    aso, ja, deswegen geht bei mir nix 😃 nein scherz^^

    Hast du ne idee zu dem was ichschon gepostet habe?

    clrscr();
       printf("       1   2   3  \n     +---+---+---+\n");
       for(i = 0; i < 3; i++) {
          printf("  %d  | ",i+1);
          printf("%c",Viergewinnt[i][0]);
          printf(" | ");
          printf("%c",Viergewinnt[i][1]);
          printf(" | ");
          printf("%c",Viergewinnt[i][2]);
          printf(" | \n");
          if(i != 2) {
             printf("     +---+---+---+\n");
          }
          else {
             printf("     +---+---+---+\n");
          }
       }
    }
    

    ich persönlich glaub ja dass ich bei der forschleife nicht 3 nehmen muss sondern 7, und dass ich 7 printf machen muss und nicht 3 , clearscreen is logisch, da gibts as einfach immer wieder neu aus nach jedem zug

    printf("       1   2   3  \n     +---+---+---+\n");
    

    also das 1 2 3 versteh ich nicht dann einfach nen zeilenumbruch und dann wieder
    +---+---+---+
    is glaub ich das feld

    und das:

    if(i != 2) {
             printf("     +---+---+---+\n");
          }
          else {
             printf("     +---+---+---+\n");
    

    is halt auch rätselhaft für mich..



  • Kommt schon bitte Leute, helft mir weiter 😞



  • Blurp_ schrieb:

    Kommt schon bitte Leute, helft mir weiter 😞

    Darf man auch mal etwas essen?

    Schnapp dir einen Compiler und probier es aus!

    http://codepad.org/KRG2gnq0



  • natürlich darf man was essen 😃 sry

    ich hab Microsoft visual c++ compiler, er sagt zwar keinen fehler aber er gibt einfach nichts aus, gar nichts...das wundert mich ja...



  • Blurp_ schrieb:

    ich hab Microsoft visual c++ compiler, er sagt zwar keinen fehler aber er gibt einfach nichts aus, gar nichts...das wundert mich ja...

    Ich würde mal sagen, der gibt schon was aus - nur schließt er das Fenster wieder, bevor du diese Ausgabe betrachten kannst.
    (in den FAQs findest du sicher auch eine Lösung, wie du das verhinderst)



  • nein, ich glaub ich weiß was du meinst, starten ohen debugging, dann kommt das cmd fenster wo steht: Bitte beliebige taste drücken oder sowas...aber er gibt kein feld aus...

    oder meinst du was anderes?



  • Blurp_ schrieb:

    nein, ich glaub ich weiß was du meinst, starten ohen debugging, dann kommt das cmd fenster wo steht: Bitte beliebige taste drücken oder sowas...aber er gibt kein feld aus...

    oder meinst du was anderes?

    Na gut, dann will ich dir mal glauben - dann kann es nur noch sein, daß du den falschen Projekttyp ausgewählt hast. Kannst du denn einen Breakpoint am Anfang des Codes setzen? Wenn ja, hält das Programm dort an?



  • hmm, also, sry, projekttyp meinst du mit *.c oder?

    und der breakpoint ist was genau?



  • Blurp_ schrieb:

    hmm, also, sry, projekttyp meinst du mit *.c oder?

    Damit meinte ich sowas wie "Konsolenanwendung" vs. "WinAPI" vs. ...

    und der breakpoint ist was genau?

    Hmm, vielleicht solltest du dir echt mal ansehen, wie der Debugger funktioniert und wie er bedient wird.



  • ich versteh nicht wirklich deine frage, bzw, würde er was bei dir ausgeben wenn du das ausführst in deinem compiler?



  • Du hast doch irgendwie angefangen dein Programm zu schreiben:

    Visual Studio starten
    -> Neuer Projekt
    -> Was hast du da dann ausgewählt?
    Konsolenprogramm oder ...?



  • Leeres Projekt, so hat es auch der Lehrer vorgegeben also wird das schon passen, also leeres projekt dann dann namen eingeben dann rechtsklick auf quelldatei -> hinzufügen dann name.c

    so hab ich das seit der "10." klasse gemacht, und hatte nie wirklich probleme damit



  • http://imageshack.us/photo/my-images/89/captureac.png/

    Das ist ein Breakpoint. Einfach mit der linken Maustaste drauf klicken. (Auf den Rand). Wenn das Programm dann an dieser Stelle vorbei kommt, wird es angehalten.



  • Hmm, so eine Breakpoint habe ich nicht...

    Entweder ich bin echt so dumm oder weiß nicht...

    Ich hab auch Teamviewer 6, falls mir wer besser so helfen kann und auch will !


  • Mod

    Blurp_ schrieb:

    Hmm, so eine Breakpoint habe ich nicht...
    !

    Du sollst ihn ja auch selber setzen...

    Wenn du nicht mit deinen Werkzeugen umgehen kannst, dann nützt dir die beste Bastelanleitung nichts.



  • und wie setze ich den?

    man das haben wir shcon einmal glaub ich gemacht..ich suchs mal

    ah k der rote punkt, ja schon klar und wo soll ich den jz hinsetzen?



  • so, na gut jz gibt er mal das feld aus aber nur in 3x3, und der fehler war: er hat int i nicht wahgenommen, jz hab ichs nach dem ersten int main(void) geschrieben und dann ist es gegangen, jz muss ich nur noch schauen wie es geht damit er das ganze feld annimmt



  • Wäre echt leiwand wenn ich wenigstens das feld + die eingabe schaffe, die gewinnfunktion muss nicht sein, aber ich verzweifle ja schon an dem feld x(


Anmelden zum Antworten