Re: [wizs] 重寫的 times_check
看板mud_sanc (Sanctuary - 聖殿)作者laechan (小太保)時間12年前 (2013/10/02 12:07)推噓0(0推 0噓 0→)留言0則, 0人參與討論串6/7 (看更多)
今天再修改 times_check 處理 set_times_check 及 no_save 時
的錯誤,由 justin 實測及發現。
jj=sizeof(tmps2);
for(ii=0;ii<jj;ii++)
if(times_check[tmp][ii][0]==names && times_check[tmp][ii][1]==files)
jj=-1;
if(jj!=-1)
times_check[tmp]+=({ ({names,files,tmps}) });
改成這樣即可,上面的判斷是說在做 set_times_check 時,若現
時 times_check 裡面已經有相同的資料(if ... && ...),jj=-1
,就不允許做資料的累加。
之前的問題則是這部份判斷錯誤,造成不該累加的資料它也累加,
原先的寫法錯誤的地方在於它只要判斷到現存的有一筆不 match
就累加,至於為何會這樣寫是因為之前是 mapping 寫法,mapping
時..
if(times_check[tmp][tmp2][0]!=names || ...
mapping 是一對一的(每一筆 tmp2 是獨立的),而改成 mixed 時
因為陣列資料不能用 member_array 去判斷只好用 for 去判斷,
然後就這樣產生失誤。
Laechan
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.61.157.53
討論串 (同標題文章)
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章
15
26