StateMachine(s)
-
Soll das eine ernsthafte Frage sein?
-
ja sicher
-
42 :p
-
Ich dachte 23.
-
32 wegen 32 Bit ist doch klar
-
Wenn du nach den 32 Bits gehen würdest, dann müssten es aber 2^32 states sein
@Threadersteller: imho ne bissel komische Fragestellung. Musst du doch eigentlich selber entscheiden wieviele states dein Application braucht. Das ergibt sich doch irgendwie...
cya
liquid
-
Mit 256 würdest du ein Byte voll ausnutzen!
-
Falls es jemand nicht gemerkt hat: DAS WAR IRONIE
-
woher weißt du das? bist du etwa "219"?
-
219 schrieb:
Peisfrage:
vieviele Klassen und statemachines sollte ine spiel haben:Ein Spiel muss genau 68 Klassen und 2 State-Machines haben (falls eine kaputt geht).
Hab ich jetzt den Peis gewonnen?
-
State Machines können garnicht kaputt gehen.
Ich würde einen Wert zwischen 40 und 64 empfehlen.
-
Klar können die kaputt gehen.
Es könnte ja mal sein, dass ein anderer Teil aus Versehen in den Speicher der State-Machine schreibt und diese somit völlig zerstört. In dem Fall empfehle ich eine Prüfsumme aller Bytes der State-Machine.bool StateMachine::istKaputt() { int pruefsumme = 0; for(char* p_byte = (char*)(this); p_byte < (char*)(this) + sizeof(*this); p_byte++) { pruefsumme += *p_byte; pruefsumme ^= pruefsumme << 1; } if(pruefsumme != m_korrektePruefsumme) return true; // So ein Mist, kaputt!!! else return false; // Nicht kaputt! Glück gehabt! }
In dem Fall sollte man also eine zweite State-Machine parat haben, damit der User nichts merkt. Der Reparaturvorgang dauert nämlich ein bisschen länger.
bool StateMachine::reparieren(int level = 0) { if(!istKaputt()) return true; if(level == sizeof(*this)) return false; if(level == 0) m_binGeradeInReparatur = true; // Alle Byte-Kombinationen durchgehen for(unsigned char wert = 0; wert <= 255; wert++) { ((unsigned char*)(this))[level] = wert; if(reparieren(level + 1)) { if(level == 0) m_binGeradeInReparatur = false; return true; } } if(level == 0) m_binGeradeInReparatur = false; // Reparaturvorgang fehlgeschlagen! return false; }
Die Reparatur sollte in einem separaten Thread stattfinden, da sie wie gesagt recht lange dauert (je nach Größe der Klasse). Solange die Klasse in Reparatur ist, ist die m_binInReparatur-Variable gesetzt.
Doch was geschieht, wenn beide State-Machines kaputt sind? Experten raten hier sogar, noch eine dritte State-Machine anzulegen. Viele Spiele, die das nicht getan haben, leiden unter ständigen Crashes.
-
219 schrieb:
vieviele Klassen und statemachines sollte ine spiel haben:
Na, sieht man doch an Deinem nick! 219 natürlich...!!
-
Nimm soviele du kriegen kannst!
Ist nie weg und dein Spiel wird dadurch größer und aufwendiger -> besser
-
Also, erstmal sorry für die doofen antworten meiner Vorredner. wie unfair sich über dich lustig zu machen.
219 schrieb:
Peisfrage:
vieviele Klassen und statemachines sollte ine spiel haben:
zb.
states:
Into:wieviele states ?????
hauptauswahl:
wieviele states ?????
spiel:
-----Natürlich sollte jeder unterpunkt 5 States haben. du kannst dann weitere machen.
Das hat folgende gründe: 1. Bei mehr als 5 wird das ganze unübersichtlich. 2. 55 = 25!! 3.
Außerdem ist 75%30 = 5 !! Das darf man nicht vergessen.
Und wenn du noch wissen möchtest, wieviele verschiedene Klassen ein Spiel haben sollte, dann sage ich 5^n bzw. 5^(5*n) für spiele mit 3d-unterstützung.servus.
-
...wobei die Variable n der Mindest-IQ ist, den man benötigt, um das Spiel spielen zu können.
-
Ich kann diesen Scheißdreck nicht mehr hören. Das muss ich ganz ehrlich sagen. Das ist das Allerletzte. Wechselt den Beruf, das ist besser. Ich sitze jetzt seit drei Jahren hier und muss mir den Schwachsinn immer anhören. Das ist einfach so. Da muss ein bisschen mehr kommen. Aber der Scheiß, der da immer gelabert wird. Da sollten sich alle wirklich mal Gedanken machen, ob wir in der Zukunft so weiter machen können. Das ist das Allerletzte - und ich lasse mir das nicht mehr so lange gefallen, das sage ich euch ganz ehrlich. Gewisse Dinge gehören sich einfach nicht.
-
@TGGC (Rudi Völler):
a) War das ernst gemeint?
b) Bezog sich das auf den Original-Fragesteller oder auf unsere lustigen Antworten?
-
@TGGC: Echt! Der sitzt hier und hat wahrscheinlich seine 3 Weizen getrunken...
-
Ich weiss zwar nicht was mit Rudi Völler ist (wer hat denn so einen Nick ;), aber was mich betrifft war es jetzt nicht bierernst gemeint. Aber ich finde schon, das solche Diskussionen ruhig öfter in die entsprechende Kategorie (Themen rund um Offtopic ) verschoben werden sollten. Das habe ich auch schon öfter zum ausdruck gebracht, und da du denkst ich könnte das Ernst gemeint haben, hast du evtl. eine ähnliche Meinung?