1.一種應(yīng)用于消除類游戲中的邊消邊掉方法,其特征在于:該方法包括以下步驟:
步驟1:創(chuàng)建所有元素,默認(rèn)所有元素處于完成掉落的狀態(tài);對(duì)每一個(gè)元素都設(shè)定兩個(gè)標(biāo)志位a,b用于標(biāo)志元素此時(shí)所處的狀態(tài)。
a:該標(biāo)志位表明元素對(duì)象是否為剛剛掉落,a=1代表元素對(duì)象處于剛剛掉落狀態(tài);a=0代表元素對(duì)象不是剛剛掉落的狀態(tài)。
b:該標(biāo)志位只有當(dāng)元素對(duì)象不是剛剛掉落(a=0)時(shí)才起作用:b=1代表元素對(duì)象處于完成掉落的狀態(tài);b=0代表元素對(duì)象處于正在掉落的狀態(tài)。
步驟2:根據(jù)玩家的操作移動(dòng)元素,判斷被移動(dòng)的元素對(duì)象周?chē)欠癞a(chǎn)生消除動(dòng)作,若可消除,則執(zhí)行消除動(dòng)作。
步驟3:對(duì)元素對(duì)象進(jìn)行實(shí)時(shí)檢測(cè),在每一幀時(shí)間里做一次如下循環(huán)過(guò)程:
(1)遍歷所有元素,找到標(biāo)志位b的值為0的元素,獲取該元素的當(dāng)前坐標(biāo),判斷該元素是否到達(dá)其目標(biāo)坐標(biāo)。若已經(jīng)到達(dá),則將該元素的標(biāo)志位a置為1,代表其剛剛掉落;反之則不進(jìn)行任何操作。
(2)遍歷所有元素找出空白單元(已消除部分),使得其上方元素(正常掉落過(guò)程)或者是斜上方元素(斜掉過(guò)程)或者是新創(chuàng)建的元素(頂?shù)暨^(guò)程)進(jìn)行掉落動(dòng)作,且將空白單元所在的位置設(shè)定為該游戲元素掉落的目標(biāo)坐標(biāo)。若該掉落元素狀態(tài)標(biāo)志位a=1,則先將該標(biāo)志位置為0,然后將標(biāo)志位b置為0;若該元素標(biāo)志位a=0,則直接將標(biāo)志位b置為0表示該元素處于正在掉落狀態(tài)。
(3)對(duì)剛剛掉落狀態(tài)標(biāo)志位a=1的元素進(jìn)行消除判定,即判斷該元素能否與周?chē)脑禺a(chǎn)生消除動(dòng)作:若能,則執(zhí)行消除動(dòng)作,消除該元素所有屬性并釋放;若不能,則將該元素狀態(tài)位a置為0,狀態(tài)位b置為1表示該元素已經(jīng)處于完成掉落的狀態(tài)。
(4)直到所有元素的標(biāo)志位都是b=1,退出該循環(huán)過(guò)程。
步驟4:根據(jù)玩家的操作行為重新回到步驟2以及步驟3進(jìn)行循環(huán)檢測(cè)。