亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

快速實現不一樣的移動拼圖

阿旭_ 移動開發工程師
難度初級
時長 1小時17分
學習人數
綜合評分9.63
35人評價 查看評價
9.7 內容實用
9.7 簡潔易懂
9.5 邏輯清晰
if (x == null_x && Math.abs(y - null_y) == 1) {
return true;
} else if (y == null_y && Math.abs(x - null_x) == 1) {
return true;
}

用絕對值的方法感覺更方便
非常好的學習資料,已經get it,希望以后多出這樣的實例,感謝ing

講師回答 / 阿旭_
把代碼貼上來吧,我寫這個代碼故意把代碼都寫在了一個MainActivity里,所以你粘過來我看一眼就知道了。猜測是少一行交換點擊位置與空方塊的代碼

已采納回答 / 阿旭_
只要結果對就行,怎么實現的根據自己的想法來就OK。
你們誰有源碼誒
這里的break只跳過第二層for 應該在外面也判斷一次,提高程序運行效率
如果把一下兩行調轉一下,豈不妙哉
/**
* 設置最后一個方塊為空的數據
*/
setNullImageView(iv_game_arr[2][4]);
/**
* 隨機打亂順序
*/
randomMove();
/**
* 手勢的判斷
*
* @param sx
* @param sy
* @param ex
* @param ey
* @return 上下左右 1 2 3 4
*/
public int getDirByGes(float sx, float sy, float ex, float ey) {
// 左右:橫向距離大于豎直距離
// 左 :終點x小于起點x
// 安卓y正軸方向為豎直向下
// 上:終點y小于起點y
return Math.abs(sx-ex)<Math.abs(sy-ey)?(sy>ey?1:2):(sx>ex?3:4);
}

講師回答 / 阿旭_
如果要是按自己的邏輯實現起來總是錯的,不知道正確的方法。那么可以把activity這個類的代碼都發過來,我結果上下文看看是不是其它地方寫錯了

已采納回答 / 阿旭_
我這邊按照我的邏輯應該是沒講錯,因為最終結果是對的啊。建議以實際運行效果為準。方法不唯一,只要清算自己寫的x, y分別代表什么用自己的邏輯實現就好,
我想知道那個是什么軟件?
課程須知
學完課程內講解的代碼后,可嘗試修改邏輯實現“2048”小游戲
老師告訴你能學到什么?
1、注釋先行:良好的代碼編寫風格 2、代碼分層:了解MVC之間的關系。 (1)M數據:初始化在數據V之前。 (2)V視圖:注意盡可能每個視圖寫在一塊,綁定好相應的Model (3)C控制:先寫控制層需要的內容注釋,再寫相應的實現方法。 慕課網Android討論群② 170368200

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!

本次提問將花費2個積分

你的積分不足,無法發表

為什么扣積分?

本次提問將花費2個積分

繼續發表請點擊 "確定"

為什么扣積分?

舉報

0/150
提交
取消