PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C++ Tic-Tac-Toe



Terces
21.07.2009, 10:48
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 (http://rapidshare.com/files/258267834/tictactoe.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.

aL1ien
21.07.2009, 11:14
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:


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.



return 1 //gibt true zurück

Jeder sieht, dass da eine 1, bzw "true" zurück gegeben wird, warum kommentierst du es dann?;)