這是交易,我有這兩個功能,我覺得是非常低效的,我也確定有更高效的方法來做到這一點。所以「tile」變量是一個從0到24的整數,我需要根據該int得到x & y。 (瓦片變量類似於一個特定的按鈕,ID採用5x5格)電網轉換效率
第一個函數:
if (tile == 0 || tile == 5 || tile == 10 || tile == 15 || tile == 20) x = 0 else if (tile == 1 || tile == 6 || tile == 11 || tile == 16 || tile == 21) x = 1; else if (tile == 2 || tile == 7 || tile == 12 || tile == 17 || tile == 22) x = 2; else if (tile == 3 || tile == 8 || tile == 13 || tile == 18 || tile == 23) x = 3; else x = 4;
第二個功能:
if(tile < 5) y = 0;
else if(tile < 10) y = 1;
else if(tile < 15) y = 2;
else if(tile < 20) y = 3;
else y = 4;
我想我可能已經找到了更儘管我不完全確定它是否更有效率,但它還是有效的第一種方法。
x = tile;
while(x >= 5)
x -= 5;
這樣做最有效的方法是什麼?
你「覺得」他們效率低下 - 但你有*測量*他們效率低下? – awksp
在這兩種情況下,您都可以通過使用數學來提高效率。提示:第一個模數,第二個整數除數。 – awksp
我還沒有做過任何測量,但從我所聽到的情況來看,如果陳述不是最有效的功能。另外,它寫了很多文字。 –