最近平凡的我不知為何突然想要在生活中找點樂趣,作一點與往常不一樣的事。
甚至為自己目前平淡無奇的人生尋找出第二興趣。因為我自己本身是個Java 程式設計師,
小時候又愛玩遊戲機的關係,所以從小也懷有著與多數人一樣的夢想,那就是寫個小
遊戲來滿足自己微薄的成就感^^。
最近因為Android 手機與平板電腦的盛行,開發的語言又是與我本身所學的Java一致
,所以就決定好好來研究Android手機的程式,寫個小遊戲來磨練磨練自己,也順便
填補一下生活上的空虛感,雖然寫得不好,但是高興的是「我終於踏出了第一步啦」!!。
下圖是 九宮格方塊遊戲在模擬器320X480 解析度的畫面,Android SDK 2.3.3開發
可以左右滑動選圖,遊戲過程中也有一些音效,程式會依據手機螢幕的解析度進行變化,
已經有請幾位好友實機測試運行過^^。
如下圖,可以選擇使用預設的圖片或是我的圖片,目前我的圖片預設目錄是/sdcard/dcim/Camera目錄,這是平版電腦透過照相功能後所存放的預設目錄
當點擊開始拼圖時可以選擇難度,目前只有3X3 , 4X4 , 5X5可以選擇!!
選完拼圖的片數後,進入下圖畫面,只要點擊開始系統就會隨機湊圖,開始前請先記好目前的圖樣唷!!
下圖是隨機湊圖後的結果,只要手指觸碰圖片,如果旁邊有空位的話,
就會自動就會往旁邊移動了,這時還是可以點擊〔放棄〕重玩
如果拼湊完整後會出現花費的時間與步數進行統計。
我還特別做了一個ICON唷^^
整個程式寫下來讓我瞭解到一些View切換、元件的使用、彈框顯示、觸控控制等運用,
除此外,也讓我深深的體會到Andorid還有好多遙不可及的功能等著我去挖掘!!
如果有興趣的話可以點擊以下連結,從我的DropBox下載 apk安裝檔來玩看看唷^^
https://www.dropbox.com/s/sfmipkzywtsrbuc/pocketpz.apk

貓肥熊老爸你好 我最近也在練習ANDROID的程式 可以跟你請教一下圖片觸控的功能嗎? 我想做類似打地鼠的遊戲 所以要點擊螢幕出現的圖片 要抓那值 但不知道該如何寫 可以傳授一下技巧嗎 哈哈!!感恩!!
您客氣了^^,有關滑鼠觸控的部份如果要遊戲設計的話,我是有寫一個class 繼承SurfaceView ,透過SurfaceView是直接使用Canvas圖層掃描速度也比formView快 比較適合設計遊戲,此class有提供 onTouchEvent method可以Overwrite 唷, 會傳入MotionEvent接著透過MotionEvent取得X,Y軸即可,片段程式碼如下: 接著判斷是否點擊在目前圖片所在的座標範圍內就好 public class PicSurfaceView extends SurfaceView implements SurfaceHolder.Callback { //中間省略.... public boolean onTouchEvent(final MotionEvent ev) { switch (ev.getAction()) { case MotionEvent.ACTION_DOWN: { //代表按下滑鼠 isHoldingButtonX_ = ev.getX(); //取得目前滑鼠點擊到的X座標 isHoldingButtonY_ = ev.getY(); //取得目前滑鼠點擊到的Y座標 //....中間省略 Canvas canvas = surfaceHolder.lockCanvas(null); refreshDraw(canvas); surfaceHolder.unlockCanvasAndPost(canvas); break; } case MotionEvent.ACTION_MOVE: { } } return true; } //中間省略.... }
感謝 抱歉這麼晚才回復 之前在修改別的東西 差點都忘了= = 這方法好方便 直接抓畫面的座標 但請問一下 那你畫面圖案就是直接等分區隔出來 再算每一塊的座標 看onTouchEvent抓取到的座標是落在哪個範圍? 就是說你碰處畫面的判斷是以座標 而不是被分割之後的圖片瞜?
抱歉,最近有點忙,晚回覆了 答案是是的,判斷坐標就可以了,例如 Y:=640 X:=480切成 9片 也就是XY各切成三片 這樣就不難算出每片的長與寬Y=213 X=160 所以當點擊時傳回的Y,X 落於 Y=0~212 且 X =0~159之間就代表點到第一塊,後面以此類推即可
*****
*****
*****
*****
*****
*****
*****
*****
*****
*****
*****
貓肥熊您好 我看到貓肥熊寫出拼圖遊戲很有趣,我想自己練習寫看看,請問貓肥熊可以寄給我程式碼,謝謝 shiki623@hotmail.com
程式已寄出
貓肥熊您好 我已經收到貓肥熊寄來程式,謝謝貓肥熊
貓肥熊您好~因為最近學習寫Android拼圖遊戲,但一直有瓶頸,請問貓肥熊可否寄給我程式碼參考嗎?感謝~^^ 信箱: wonlrem@gmail.com
程式碼已寄出...
已收到~非常感謝~~
貓肥熊你好我最近在做android遊戲的練習 可以請你寄程式碼給我參考嗎?????? 謝謝你!!!!!!!!! 信箱:ashole2882@hotmail.com
程式已寄出....^^
真的很謝謝你
不客氣^^ 加油唷!!
*****
*****
貓肥熊您好 我想請問拼圖小遊戲,有預設圖片和我的圖片嗎?為什麼我的圖片不能選,所以想問一下我的圖片要如何才可以選。 我想在請問一下,我想要試著寫資料庫,但是3*3,4*4,5*5的id名稱是哪一個。 R.java public static final class id { public static final int btnAni=0x7f070002; public static final int btnClose=0x7f070003; public static final int picgamegallary=0x7f070005; public static final int spinnerLoad=0x7f070004; public ststic final int tableLayout1=0x7f070000; public static final int tableRow1=0x7f070001;
貓肥熊您好 我想請問一下,完成拼圖後,會顯示總共走幾步和花費都少時間,改成SQLite模式,但改不出來,所以想問貓肥熊如何寫出來,完成後可以輸入名稱,看完成走幾步和時間。 還有我的圖片如何選擇,我的圖片預設目錄是/sdcard/dcim/Camear目錄,可是不知道在哪裡。 謝謝
貓肥熊你好,我是最近才開始學的Android的程式開發,現在想做個拼圖小遊戲,請問可以寄給我程式碼來參考?謝謝 bingo4710@gmail.com
貓肥熊您好 做為剛開始進入Android領域的新手,近期想進行第一個遊戲專題撰寫,希望能有一個完整的程式專案可以參考,請問可以寄程式碼做為學習之用?謝謝 信箱:kb24oreo@gmail.com
貓肥熊你好 我想做一個拼圖小遊戲,但我是新手,請問可以借一下程式以做參考??? 謝謝喔:) 信箱:lovepo614004@gmail.com
程式已寄出...
貓大你好: 這個程式好有趣喔~可以跟你借一下程式碼來參考嗎? 謝謝你^^
可以啊!! 請問你的MAIL是?
大大您好: 我是個初學者想參考一下你的程式碼~ 不知道能不能寄給我參考呢XD 謝謝~ email:fredy0219@gmail.com
已經寄了唷︿︿
*****
*****
不好意思我是個剛剛接觸app的學生 想跟拿你的程式碼做參考 不知道可以嗎 信箱 liouyu1115@gmail.com 謝謝
程式已寄出...^_^
你好,我最近在練習寫android的學生,不知道可不可以跟您要一下程式碼呢^^ 信箱 pu0922810429@gmail.com 謝謝:)
已寄出!!
*****
*****
您好我是資管系的學生 我也想參考您的程式碼 不知方便嗎? alison110221@gmail.com
*****
我也是資管系學生!想研究一下!可以參考程式碼嗎!qboysky@gmail.com
你好~ 我是虎科大的研究生 最近也剛在學android,覺得你的程式好有趣。 想自己練習看看 想參考你的程式碼,寫寫看。 信箱:aec65432100@gmail.com
您好:最近也在寫有關拼圖的小程式,但就是有些小地方一直卡關,不知道方便跟您要程式碼參考嗎?謝謝! 信箱:michelle751214@hotmail.com
已寄出
淚流滿面的收到!謝謝!
您好我是最近開始接觸android的新手 想試著練習實作一些小遊戲 方便跟您拿程式碼做為參考嗎? 信箱:yft82443215@gmail.com 謝謝!!
您好~小弟我最近也在學android, 希望能做點小程式當作品集, 方便提供程式碼讓我學習嗎? 謝謝你!!
貓肥熊您好 我看到貓肥熊寫出拼圖遊戲很有趣,我想自己練習寫看看,請問貓肥熊可以寄給我程式碼,謝謝 ivanpluto1126@gmail.com
您好 我是ㄧ個初學者,看到你這個遊戲覺得很有趣,可以給我程式碼嗎?謝謝 meihuilee5@gmail.com
您好~最近有在寫有關拼圖的小程式,但就是有些地方一直不太懂,不知道方便跟您要程式碼參考嗎?感謝🙏 信箱:svsally1112@gmail.com
你好~我是一個初學者,最近想要做出一些小作品,可以參考一下你的程式碼嗎?謝謝 信箱:skate430027@gmail.com