Je to efektivnější zahrnout funkci „umístění check“ v „Move funkce“ pro hru, nebo venku jako externí funkci?

hlasů
0

Jsem vytvořit hru v C ++ (Mimochodem, dělá kód používám záležitost?), Který coudl být volně popisován jako stolní hra, a já jsem přemýšlel, která z těchto dvou „zjistit, zda znak je mimo hrací plochu“ funkce je efektivnější:

JEDEN:

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

DVA

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

V podstatě první, kdo se pohybuje každý subjekt, pak zkontroluje všechny pozice subjektů, a proto je obnoví, a druhý zajišťuje, že hráči pohybují se s ním nepohne mimo hřiště, reather než čekat až do konce smyčky.

Chtěl bych vědět, který z těchto dvou (systémy?) Je účinnější a rychlejší než ostatní, nebo, pokud jsou oba stejné, který jeden z nich by bylo lepší styl kódování?

Položena 05/06/2009 v 21:48
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
0

Ta je rychlejší (není dělá a zkáza). Já bych si také myslí, že je to čistší, ale to je věc názoru.

Odpovězeno 05/06/2009 v 21:50
zdroj uživatelem

hlasů
0

Rád bych se ujistil, že stále pohybovat legální před přenášením. Tímto způsobem si udržet zdravou stavu, místo toho se snaží něco a opuštění „board“ v neplatném stavu. To také dává větší smysl v objektově orientovaný způsobem. Objekt nelze provést neplatný tah proto tento krok může být důvěryhodný.

Odpovězeno 05/06/2009 v 21:51
zdroj uživatelem

hlasů
0

Kontrola před přesunem by být rychlejší, ukládat, myslím, šance na osoby jít mimo hranice bytí pozoruhodně nízká.

Pokud jde o styl, doporučuji ne kontrolovat hranice zevnitř pohybu metoda (), a to i v případě, že kontrola se extrahuje do své vlastní metody, jak který vám dává dva „důvody pro změnu“ metodu move () v řadě (tedy rozbití Single odpovědnosti ; někteří lidé prosazovat jen to na úrovni třídy, ale já doporučuji pro metody, kdy se můžete dostat pryč s ním).

Odpovězeno 05/06/2009 v 22:17
zdroj uživatelem

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