Este mai eficient să includă o „verificare a locației“ funcția într-o „funcție mișcare“ pentru un joc, sau în afara ca o funcție externă?

voturi
0

Creez un joc în C ++ (vorbind de care, nu codul am folosi materia?), Care coudl fi descris vag ca un joc de bord, și mă întreb care dintre aceste două „a verifica dacă caracterul este în afara limitelor“ funcții este mai eficient:

UNU:

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

DOUĂ

//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
}

În esență, prima se mută în fiecare entitate, apoi verifică toate pozițiile entităților și le resetează în mod corespunzător, iar al doilea se asigură că jucătorii muta nu-l mute în afara limitelor, reather decât să aștepte până la sfârșitul buclei.

Aș dori să știu care dintre aceste două sisteme (?) Este mai eficient sau mai rapid decât cealaltă, sau, în cazul în care acestea sunt ambii egali, pe care unul dintre acestea ar fi un stil mai bun de codificare?

Întrebat 05/06/2009 la 21:48
sursa de către utilizator
În alte limbi...                            


3 răspunsuri

voturi
0

Acesta din urmă este mai rapid (nu fac și desfac). Mi-ar crede, de asemenea, că este curat, dar asta este o chestiune de opinie.

Publicat 05/06/2009 la 21:50
sursa de către utilizator

voturi
0

Aș asigurați-vă că muta vreodată este legală înainte de ao muta. În acest fel vă păstrați o stare sănătos în loc de a încerca ceva și lăsând „placa“ într-o stare nevalidă. Se face, de asemenea, mai mult sens într-un mod orientat obiect. Obiectul nu se poate face o mutare invalidă, prin urmare, mutarea poate fi de încredere.

Publicat 05/06/2009 la 21:51
sursa de către utilizator

voturi
0

Verificarea înainte de a muta ar fi mai rapid, salva, presupun, sansele unei persoane care merg în afara limitelor fiind extrem de redus.

În ceea ce privește stilul, vă recomandăm să nu verificarea limitelor din cadrul () metoda de mișcare, chiar dacă acest control este extras în propria sa metodă, așa cum care vă oferă două „motive pentru a schimba“ metoda mutare () pe linie ( de rupere , astfel , Single responsabilitatea ; unii oameni pune în aplicare doar acest lucru la nivel de clasă, dar am recomanda metode , atunci când puteți obține departe cu ea).

Publicat 05/06/2009 la 22:17
sursa de către utilizator

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