之後地圖長度不一定是5,
也有可能是其他長度,
所以就需要公式。
const mapSize =5;
var mapData={
"empty":;
"red":3;
"white":3;
"hole":3;
}
mapData.empty= (9/5)*(3**mapSize)+-(4/5)*((-2)**mapSize)-9
這邊是代入遞迴公式
設n為六角形邊長
長度|1|2|3|...|n
:---|---:|---:|---:|
板塊數量|1|7|13|...|1+6(n-1)
n=1,1
n>1,f(n)=f(n-1)+6
f(n)=f(n-1)+6
f(n)-f(n-1)-6=0
X^2-X-6=0
X=3,-2
a_0= C_1*(3)^0+ C_2*(-2)^0= 1
a_1= C_1*(3)^1+ C_2*(-2)^1= 7
C_1+ C_2= 1
3*C_1+ -2*C_2= 7
C_1= 9/5
C_2= -4/5
f(n)= (9/5)*(3^n)+ (-4/5)*((-2)^n)
人類回合和電腦回合,
應該要拆出來,
而不是放在一起。
function 選擇遊戲模式(){
模式=單人或雙人;
(模式==單人)?單人():雙人();
}
function 雙人(){
while(空地用完){
輪到=(輪到==紅方)?人類回合(紅方):人類回合(白方);
}
}
function 單人(){
while(空地用完){
輪到=(輪到==紅方)?人類回合(紅方):電腦回合();
}
}
寫成公式電腦計算時間是O(1),
不過別人看這行程式應該會很困惑。
可讀性和計算時間,
這二個應該怎麼取捨?
感謝撥冗閱讀,
有錯誤地方請多指教。