Ist es effizienter, eine „Überprüfungsposition“ Funktion in einer „Move-Funktion“ für ein Spiel oder außerhalb als externe Funktion enthalten?

stimmen
0

Ich bin ein Spiel in C ++ zu schaffen (wir gerade davon sprechen, wird der Code verwende ich es?), Die lose als Brettspiel beschrieben coudl, und ich frage mich, welche dieser beiden „prüfen, ob Charakter außerhalb der Grenzen ist“ Funktionen sind effizienter:

EIN:

int main()
{
    //display board
    //get player input
    //move player
    //if player is out of bounds,
      //force player back into bounds
}

ZWEI

//int main()
{
    //same thing, except without last two lines.
}
void move(char input)
{
    //if input does not place player out of bounds
      //move player according to input
}

Im Wesentlichen jede Entität der erste bewegt, überprüft dann alle Einheiten Positionen und setzt sie entsprechend, und die zweite sorgt dafür, dass die Spieler ihn bewegt bewegen sich nicht von Grenzen, Reather als bis zum Ende der Schleife warten.

Ich möchte, welche dieser beiden kennen (Systeme?) Effizienter oder schneller als der andere ist, oder, wenn sie beide gleich sind, die man von ihnen wäre eine bessere Codierung Stil sein?

Veröffentlicht am 05/06/2009 um 21:48
quelle vom benutzer
In anderen Sprachen...                            


3 antworten

stimmen
0

Letzteres ist schneller (nicht tun und Verhängnis). Ich würde denken auch, dass es der Reiniger ist, aber das ist eine Frage der Stellungnahme.

Beantwortet am 05/06/2009 um 21:50
quelle vom benutzer

stimmen
0

Ich würde sicherstellen, dass jemals legal bewegen, bevor es zu bewegen. Auf diese Weise halten Sie einen gesunden Zustand anstatt etwas zu versuchen, und das „Board“ in einem ungültigen Zustand zu verlassen. Es macht auch mehr Sinn in einer objektorientierten Art und Weise. Das Objekt kann nicht einen ungültigen Zug machen kann daher der Umzug trauen.

Beantwortet am 05/06/2009 um 21:51
quelle vom benutzer

stimmen
0

Überprüfen, bevor er wäre schneller, spart, nehme ich an, um die Chancen einer Person außerhalb der Grenzen geht bemerkenswert gering.

In Bezug auf Stil, empfehle ich nicht die Überprüfung der Grenzen innerhalb der Bewegung (Methode), auch wenn diese Überprüfung in seine eigene Methode extrahiert wird, als dass Sie zwei „Gründen zu ändern“ gibt die Methode move () auf der ganzen Linie (also brechen Einzel Verantwortung , manche Leute dies nur auf Klassenebene durchzusetzen, aber ich empfehle es für Methoden , wenn Sie damit durchkommen kann).

Beantwortet am 05/06/2009 um 22:17
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more