Ergebnis 1 bis 2 von 2
  1. #1
    Anfänger Avatar von Terces
    Registriert seit
    15.03.2008
    Beiträge
    23

    Standard C++ Tic-Tac-Toe

    Als ich den Thread in der .net Kategorie gesehen habe, dachte ich, das könnte man ja mal Probieren mit dem jetzigen wissen umzusetzen.
    Ich habe nicht versucht die source umzusetzen (Da ich von der Sprache keine kentnisse besitze) , sondern habe mir eigene gedanken gemacht.
    Es ist natürlich ohne GUI. ^^

    http://rapidshare.com/files/258271537/Tic-Tac-Toe.rar

    Es ist recht simple gehalten und kommentiert, vll hilfts dem einen oder anderen noch.
    Ich allerdings mehr zur übung gemacht, Bugs sollten großteils rauß sein.

  2. #2
    Wicked Wonderland Avatar von aL1ien
    Registriert seit
    08.07.2007
    Beiträge
    434

    Standard

    Sehr unsauber programmiert:
    1) _NIE_ Globale variablen verwenden
    2) Du hast einen abschnitt des spiels praktisch 10 mal drin...1 mal würde auch reichen
    3) Funktioniert es nicht sauber. Finde selber raus warum
    4) Design der Funktionen nicht optimal ( siehe unteranderem punkt 2 ).
    5) Deine Funktionen haben seiteneffekte (Die funktionen greifen in die andere funktion ein, d.h, die eine funktion muss wissen wie die andere funktion funktiniert, dies ist jedoch nicht der sinn von funktoinen. Auch globale variablen gehören hier hinein)

    Aber für einen Anfänger recht gut.

    Zu punkt zwei:
    Code:
     if ((feld[0] == feld[1]) && (feld[1]== feld[2]))
        {
            if (feld[0] != 0) // Verhindert das mit leeren Feldern die Gewinn-bedingung erfüllt werden kann.
            {
                if (feld[0] == 111) // Überprüft welcher Spieler Gewonnen hat.
                {
                    ascii(2); // Gewinnmeldung wird für Spieler 2 ausgegeben.
                    return 1; // Die Anweisung gibt true zurück.
                }
                ascii(1);
                return 1;
            }
        }
    Hast du 9 mal drin. Alle tun immer wieder das gleiche. Einmal reicht auch, findest du nicht?

    Ach ja, kommentare sind adfür da um Codestellen zu beschreiben, in denen es nicht auf den ersten blick ersichtlich ist, was dieser code eigentlich genau macht.

    Code:
    return 1 //gibt true zurück
    Jeder sieht, dass da eine 1, bzw "true" zurück gegeben wird, warum kommentierst du es dann?
    Geändert von aL1ien (21.07.2009 um 11:40 Uhr)
    Tu peut t'le mettre dans l'cul.

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •