\±ð²È°×¿é¶ù\ÓÎÏ·Ô´´úÂë·ÖÎöºÍÏÂÔØ(¶þ)
ËÄ¡¢ÓÎÏ·½»»¥ÊµÏÖ
1¡¢Ç°ÃæÒѾ½éÉÜÔÚ Block ÀàʵÏÖÁËÿ¸öblockµÄ´¥Åö¼àÌý£¬block ʵÏÖ´¥Åö¼àÌý£¬µ±°´ÏÂʱ£¬µ÷ÆðÔÚGameSceneÖÐʵÏÖµÄtouchBlock·½·¨¡£ÏÂÃæÀ´¿´¸Ä·½·¨µÄʵ.
? ? ? ? ? ? ? ? ?
/**
* µã»÷µ½Blockʱ½øÐеÄÂß¼´¦Àí *
* @param pBlock
* Ëùµã»÷µÄblock */
public void touchBlock(Block pBlock) {
if (gameStatus == ConstantUtil.GAME_START) {
??
?? if (pBlock.getRow() == moveNum + 2) {// ±íʾÊÇÔڵײ¿ÍùÉÏÊýµÄµ¹ÊýµÚÈýÐÐ
?? // ÅжÏÊDz»Êǵã»÷Á˸õã»÷µÄºÚ¿éµÄÉÏÒ»¸ñ£¬Èç¹ûÊÇ£¬ÎÒÃÇÒ²Åж¨ÕâÊÇÕýÈ·µã»÷ÁË£¬×ö³öÏàÓ¦ÒÆ¶¯
?? upBlockTouch(pBlock);
?? } else if (pBlock.getRow() == moveNum + 1) {// ±íʾÊÇÔڵײ¿ÍùÉÏÊýµÄµ¹ÊýµÚ¶þÐÐ
?? if (pBlock.getColorType() == ConstantUtil.COLOR_BLACK)
{
?? if (linesLength == moveNum + 2) { ?? // ÓÎϷʤÀû ?? gameSucc(pBlock); ?? } else {
?? ?? ?? ??
?? ConstantUtil.COLOR_WHITE) {
?? ?? ?? ?? ?? ?? ?? ??
?? } ??
?? }
// ÕûÌåblocksÏÂÒÆ moveDown(pBlock, 1); } } else if (pBlock.getColorType() == // ÎóµãÁ˰׿飬ÓÎϷʧ°Ü gameFail();
// ʧ°ÜʱpBlockµÄÒ»¸öÉÁºìЧ¹û LoopEntityModifier loop = failAction(); // ²¥·ÅЧ¹û
pBlock.registerEntityModifier(loop); } ??
?? }
¸´ÖÆ´úÂë ÉÏÃæµÄ´úÂëÒѾÓÐËù×¢ÊÍ£¬ÕâÀïÔÙ¼òµ¥½âÎöһϡ£
¢ÙÀíÂÛÉÏ¿ÉÒÔµã»÷µÄÒ»ÐÐΪµ¹ÊýµÚ¶þÐУ¬Èç¹ûµã»÷µ½¸ÃÐеĺڿ飬ÔòËùÓÐblockÏòÏÂÒÆ¶¯Ò»¸ñ£¬Èç¹ûµã»÷µ½¸ÃÐеİ׿飬ÔòÓÎϷʧ°Ü£¬µ¯³öʧ°Ü½çÃæ¡£
¢ÚΪÁËÌåÑéÉϵÄÓÅ»¯£¬Èç¹ûµã»÷µ½µ¹ÊýµÚ¶þÐкڿéËùÔÚÁÐÕý¶ÔÉϵÄÒ»¸öblock(²»¹ÜÊǺڿ黹Êǰ׿é)Ò²ÊÓΪÕýÈ·µã»÷Á˺ڿ顣ÒòΪÔÚ¿ìËÙµã»÷ºÚ¿éµÄͬʱÕûÌåµÄblockҲѸËÙÏòÏÂÒÆ¶¯£¬ºÜÈÝÒ×µã»÷µ½ÉÏÒ»¸ñ£¬´ËʱÎÒÃÇÈÏΪÕâÒ²ÊÇÕýÈ·µÄµã¡£
2¡¢ÅжÏÊDz»Êǵã»÷Á˸õã»÷µÄºÚ¿éµÄÉÏÒ»¸ñ£¬Èç¹ûÊÇ£¬ÎÒÃÇÒ²Åж¨ÕâÊÇÕýÈ·µã»÷ÁË£¬×ö³öÏàÓ¦ÒÆ¶¯
?? /**
?? * ÅжÏÊDz»Êǵã»÷Á˸õã»÷µÄºÚ¿éµÄÉÏÒ»¸ñ£¬Èç¹ûÊÇ£¬ÎÒÃÇÒ²Åж¨ÕâÊÇÕýÈ·µã»÷ÁË£¬×ö³öÏàÓ¦ÒÆ¶¯ ?? *
?? * @param pBlock
?? * Ëù±»µã»÷µÄ¿é ?? */
?? private void upBlockTouch(Block pBlock) { ?? int touchColumn = pBlock.getColumn(); ?? for (Block[] blocks : blockList) { ?? for (Block block : blocks) {
?? if (block.getRow() == moveNum + 1