2048游戲邏輯(2)---上下左右移動(dòng)

監(jiān)聽(tīng)左右上下移動(dòng)代碼

這個(gè)版本的暫時(shí)沒(méi)有做手機(jī)端的,只做了pc端,后續(xù)會(huì)優(yōu)化

上下左右移動(dòng)

主要解釋向左移動(dòng):

首先就遇到一個(gè)能否左移動(dòng)的問(wèn)題,向左移動(dòng),就從第一行開(kāi)始循環(huán),循環(huán)到最后一行,在這個(gè)循環(huán)內(nèi)部,因?yàn)槭窍蜃笠苿?dòng),所以最左邊的那一列是不參與判斷的,所以列數(shù)從1開(kāi)始循環(huán),截止第3列。如果當(dāng)前這個(gè)格的數(shù)值如果是0就進(jìn)行下一步循環(huán),如果不是0,就進(jìn)行判斷,看這格的數(shù)值與他左邊的那個(gè)數(shù)字是否相等 或者 他左邊的數(shù)字是否為0(因?yàn)樵诔绦蛑腥绻麨椋熬痛磉@一格為空)滿足條件就跳出循環(huán)直接返回true. 如果循環(huán)完全結(jié)束沒(méi)有符合條件的就返回 false

是夠可以左移動(dòng)

向左移動(dòng)正式函數(shù):

再看moveLeft函數(shù),這一點(diǎn)有點(diǎn)繞,我想了很久明白了,根絕這個(gè)左移動(dòng)自然就不難寫出其他的移動(dòng)函數(shù),

左移動(dòng):

從第一行開(kāi)始循環(huán),循環(huán)內(nèi)部從

第二列開(kāi)始循環(huán),判斷這一格數(shù)字是否為0,如果為空則進(jìn)入下一列循環(huán),否則就從第一列到目前這列之間開(kāi)始循環(huán),由于行數(shù)是確定的是i行,這個(gè)循環(huán)里面我用k表示循環(huán)里的當(dāng)前列,如果當(dāng)前循環(huán)列這個(gè)格數(shù)字不為0,(這里外層有一個(gè)判斷條件即board[i][j] !== 0,這里一定要搞清楚不要混淆),同時(shí)還有一個(gè)條件就是i 行的 k 列和i列之間沒(méi)有障礙,這里通過(guò)一個(gè)函數(shù)來(lái)判斷,(k<j),只需循環(huán)這兩列之間的格格,只要這個(gè)循環(huán)的當(dāng)前值不登錄0說(shuō)明這兩列之間有障礙,返回false,否則返回 true,返回true時(shí)候就把board[i][k]=board[i][j]; 同時(shí)把board[i][j] =0;

如果當(dāng)前循環(huán)列這個(gè)數(shù)字與外層循環(huán)的那個(gè)格格相同的時(shí)候,并且這兩列之間沒(méi)有障礙物,數(shù)值就相加,即加倍

向左移動(dòng)函數(shù)

這里有一個(gè)函數(shù)用來(lái)判斷某行的某一列到另一列之間是否有空間(左移動(dòng)自然是水平方向)

同一行兩列之間有沒(méi)有縫隙

從某一個(gè)位置到另一個(gè)位置做一個(gè)動(dòng)畫


移動(dòng)做一個(gè)動(dòng)畫效果

其余的上,下,右移動(dòng)效果自然出現(xiàn)了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問(wèn)題, 分享了一些自己做題目的經(jīng)驗(yàn)。 張土汪:刷leetcod...
    土汪閱讀 12,907評(píng)論 0 33
  • 計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)題庫(kù)(南開(kāi)版) 1.m個(gè)人的成績(jī)存放在score數(shù)組中,請(qǐng)編寫函數(shù)fun,它的功能是:將低于平...
    MrSunbeam閱讀 6,607評(píng)論 1 42
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 34,652評(píng)論 18 399
  • 先聲明哈:我做的這個(gè)也是跟著被人學(xué)習(xí)的,寫文章是為了復(fù)習(xí)思路,還有鞏固一下??偠灾兀褪菫榱硕嗬斫馑悸?,多折騰...
    醬油_閱讀 1,934評(píng)論 10 13
  • 感恩父母,感謝他們給予我生命;感恩父母,感謝他們給予我人間最濃的親情與無(wú)盡的愛(ài);感恩救我的人,感謝他給予我第...
    孫池閱讀 266評(píng)論 0 0

友情鏈接更多精彩內(nèi)容