Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Alter Hase
Beruf: Softwareentwickler (aktuell Web/Node); Freiberuflicher Google Proxy
Vllt solltest xu dir ein wenig um deine notation kuemmern. Ich verwende zb fuer globale variablen _variablename damit man gleich erkennt das die variable gloabl ist. Es gibg extra notationen fuer variablennamen wie die hungarian notation zb.
Community-Fossil
Es wird zwar gern erwähnt, aber irgendwie macht es keinen Unterschied, ob man in einer Schleife ausrechnet, ob irgendeine Spalte/Zeile/Diagonale zusammenaddiert 15 ergibt oder ob die gesamte Spalte/Zeile/Diagonale einem Spieler gehört. Falls doch, ich bin neugierig. Letzteres klingt für mich irgendwie auch viel mehr gerade aus gedacht als zweimal um die Ecke.
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Renegade123« (24.11.2013, 16:19)
Ich versuche so gut es geht, globale Variablen und Pseudo-Globale via Sinnlos-Singletons zu vermeiden. (Tatsächlich habe ich bisher keine einzige globale, wenn man statische Member wie Assert::DefaultAssertionLevel oder Math::PI nicht mitzählt. Und mein einziger Singleton bisher ist ein CPUID-Objekt für FatBinaries.) Ich verwende Notationen lieber wie folgt:Zitat
Vllt solltest xu dir ein wenig um deine notation kuemmern. Ich verwende zb fuer globale variablen _variablename damit man gleich erkennt das die variable gloabl ist. Es gibg extra notationen fuer variablennamen wie die hungarian notation zb.
C-/C++-Quelltext |
|
1 2 3 4 |
int main(int _argc, char** _argv) noexcept { asm volatile("lock cmpxchg8b %eax"); return 0; } // ::main |
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Wieso sollte ich das bei einem Tic-Tac-Toe denn tun?Stell dir für die Siegbedingung ein größeres Feld als TicTacToe vor.
Daumenregel:Gemäß dem Fall man möchte später die Größe des Spielfeldes ändern, könnte man damit den selben Algorithmus benutzen - lediglich mit anderen Parametern.
Klar. Und statt ein paar verschachtelte Schleifen kann ich dann den Code noch richtig mächtig aufblähen mit lauter Zustandsmatrizen und all dem. Totally overengineered. Speziell für einen Anfänger.PS: Ich stimme NachoMan zu. Man könnte das Feld ausgehend vom letzten Zug analysieren und sich viel Rechenzeit damit sparen.
Community-Fossil
Wieso sollte ich das bei einem Tic-Tac-Toe denn tun?Stell dir für die Siegbedingung ein größeres Feld als TicTacToe vor.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »NachoMan« (24.11.2013, 18:33)
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Community-Fossil
C-/C++-Quelltext |
|
1 2 3 4 |
bool Gewonnen(letztePosition, letzterSpieler) { return diagionale1 == letzterSpieler || diagionale2 == letzterSpieler || vertikale(letztePosition.x) == letzterSpieler || horizontale(letztePosition.y) == letzterSpieler; } |
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Administrator
Werbeanzeige