使用jquery實現2048小游戲(2)

創建了靜態背景,又生成了隨機塊之后,我們開始創建塊移動的方法:
這是一個簡單算法的實現,分為四種情況,上,下,左,右,這里我們以一種情況為例,進行代碼的詳細設計:
考慮向上的情況:

整體思想是:

1.從數字格的第二行開始從左到右遍歷塊,遍歷到塊不為空,并獲取到當前塊的下一個位置。
2.這時有三種情況:①如果下一個位置一直為空,就讓塊的坐標上移,直到坐標到頂,移到頂,跳出while循環,此時執行第一種情況;
②如果遇到下一個位置不為空,就跳出while循環,兩個塊的坐標值不相同,塊就不再移動。
③如果遇到下一個位置不為空,且兩個塊的坐標值相同,同樣跳出while循環,下一個塊的塊值翻倍,當前塊的位置置空。
3.總結一下,總共包括了兩個循環,第一次遍歷空余的位置,第二次是只有找到有塊的位置后找它的下一個位置,并進行相應的設置。

需要注意的是:

之前定義的存儲空塊的state[]數組此時大有用處,可以通過這個數組手動的設置塊或者清空塊。

代碼階段:

思路理清了,我們開始來寫代碼:

//移動函數
var move=function(m){

  switch(m){
  case "上":
       
      
      break;
  case "下":
      break;
  case "左":
      break;
  case "右":
      break;
  
  }
  
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容