日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

2048游戏 JavaScript实现

發(fā)布時(shí)間:2023/12/14 javascript 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2048游戏 JavaScript实现 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

字節(jié)跳動(dòng)筆試題



參考Google2015校園招聘在線(xiàn)筆試題2–2048游戲
k記錄要被放置的位置索引
1.k位置元素是0,將e[i]移到e[k]
2.k位置非零:
(1)e[i]==e[k]相同,碰撞,e[k]×=2,k移到下一個(gè)位置(++k或–k)
(2)e[i]!=e[k]不同,k移到下一個(gè)位置(++k或–k),將e[i]移到e[k]

let n = 1; // let arr = [[0, 0, 0, 2], [0, 0, 0, 2], [0, 0, 4, 8], [0, 0, 4, 8]]; let arr = [[0, 0, 0, 0], [0, 0, 2, 2], [0, 2, 8, 8], [2, 4, 2, 16]]; if (n == 1) {//上for (let j = 0; j < 4; ++j) {let k = 0;for (let i = 1; i < 4 ; ++i) {if (0 == arr[i][j]) continue;if (0 == arr[k][j]) {arr[k][j] = arr[i][j];arr[i][j] = 0;} else if (arr[i][j] == arr[k][j]) {// arr[k][j] = arr[i][j]*2;arr[k][j] = arr[i][j]<<1;arr[i][j] = 0;++k;} else {++k;if (k != i) {arr[k][j] = arr[i][j];arr[i][j] = 0;}}}} }else if (n == 2) {//下for (let j = 0; j < 4; ++j) {let k = 4 - 1;for (let i = 4 - 2; i >= 0; --i) {if (0 == arr[i][j])continue;if (0 == arr[k][j]) {arr[k][j] = arr[i][j];arr[i][j] = 0;} else if (arr[i][j] == arr[k][j]) {// arr[k][j] = arr[i][j] * 2;arr[k][j] = arr[i][j]<<1;arr[i][j] = 0;--k;} else {--k;if (k != i) {arr[k][j] = arr[i][j];arr[i][j] = 0;}}}} }else if (n == 3) {//左for (let i = 0; i < 4; ++i) {let k = 0;for (let j = 1; j < 4; ++j) {if(0==arr[i][j])continue;if(0==arr[i][k]){arr[i][k]=arr[i][j];arr[i][j]=0;}else if(arr[i][j]==arr[i][k]){arr[i][k]=arr[i][j]<<1;arr[i][j]=0;++k;}else{++k;if(k!=j){arr[i][k]=arr[i][j];arr[i][j]=0;}}}} }else{//右for (let i = 0; i < 4-1; ++i) {let k = 4-1;for (let j = 4-2; j >=0; --j) {if(0==arr[i][j])continue;if(0==arr[i][k]){arr[i][k]=arr[i][j];arr[i][j]=0;}else if(arr[i][j]==arr[i][k]){arr[i][k]=arr[i][j]<<1;arr[i][j]=0;--k;}else{--k;if(k!=j){arr[i][k]=arr[i][j];arr[i][j]=0;}}}} }; console.log(arr);

復(fù)雜度O(n^2)

總結(jié)

以上是生活随笔為你收集整理的2048游戏 JavaScript实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。