拼圖小游戲

寫在開頭:

本人初入iOS,想借此系列的文章記錄自己的學(xué)習(xí)過程,同時(shí)也和大家分享一些學(xué)習(xí)心得,作為一個(gè)剛學(xué)編程的新人,想自己寫一個(gè)小app或者小游戲可能是一件比較困難的事情,于是乎我就嘗試用自己所學(xué)的有限的知識(shí)能不能做幾個(gè)小應(yīng)用,哪怕非常簡(jiǎn)單的也不要緊,整個(gè)嘗試的過程非常有趣,如果你和我同為新人,那么一起來(lái)學(xué)習(xí)討論吧!


沒圖你說(shuō)個(gè)球球啊,好。。先上動(dòng)圖展示:

素材是我自己用PS切的九個(gè)圖片,這個(gè)小游戲?qū)懫饋?lái)比較簡(jiǎn)單,我說(shuō)說(shuō)自己的方法吧:



1.應(yīng)用到的控件:

上面的全圖就是一個(gè)簡(jiǎn)單的imageView,而下面的圖片因?yàn)樾枰c(diǎn)擊,我就設(shè)成了按鈕,由于有一個(gè)需要空著,所以一開始我設(shè)置了八個(gè)按鈕,按鈕的移動(dòng)就是frame的變化,后來(lái)寫的時(shí)候發(fā)現(xiàn)這樣寫麻煩一些,靈機(jī)一動(dòng),用一個(gè)空白的按鈕代替了第九個(gè)格子,然后瞬間發(fā)現(xiàn)寫起來(lái)簡(jiǎn)單了不少



2. 按鈕移動(dòng)的條件判斷

也是這個(gè)小游戲的核心,我的判斷標(biāo)準(zhǔn)是如果那個(gè)空白的按鈕和有圖片的按鈕是挨著的,那么點(diǎn)擊有圖片的按鈕后將兩個(gè)按鈕的frame互換,注意必須挨著才行,不然你點(diǎn)擊第一個(gè)按鈕,它也會(huì)和第九個(gè)的空白按鈕互換位置,這樣就不符合游戲的要求了

好,那么如果判斷兩個(gè)格子是挨著的呢,有四種情況:分別是白色的按鈕在你點(diǎn)擊的按鈕的上邊,下邊,左邊或者右邊。

以上邊為例,比如 imageButton 是有圖片的按鈕,blankButton 是空白的按鈕,達(dá)成條件為

imageButton的最大Y值 等于 blankButton的最小Y值 ? 并且 他們的最小 X值都相等

達(dá)成上述條件,交換兩按鈕的frame,就是這么簡(jiǎn)單。。



3. 勝利條件

每個(gè)按鈕的frame達(dá)成勝利時(shí)的frame,然后勝利后順便給那個(gè)空白的按鈕配個(gè)圖片就好,加點(diǎn)延遲效果更棒哦

所以我這個(gè)程序?qū)懙牟⒉缓?,我是拿到了這全部8個(gè)按鈕,并且給它們寫條件,按鈕的初始順序也是已經(jīng)在storyboard里提前安排好了的,并非隨機(jī)生成的,以及最后的勝利判斷,判斷條件寫起來(lái)很麻煩,所以這些是我在以后需要去完善改進(jìn)的地方,如果你們有什么好的方法希望給我留言,謝謝大家。

代碼這里下載?https://github.com/SaberVicky/pintu


最后編輯于
?著作權(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)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 學(xué)習(xí)制作拼圖小游戲總結(jié) ?hyman的拼圖小游戲傳送 類的簡(jiǎn)介 ImagePiece類 沒太多代碼很簡(jiǎn)單,包含兩個(gè)...
    空白少俠閱讀 1,291評(píng)論 0 2
  • 閑暇時(shí)光,有人會(huì)用拼圖、掃雷等等小游戲來(lái)打發(fā)時(shí)間,今天我就做了一下拼圖小游戲,下面分享一下寫js的過程和一點(diǎn)心得。...
    wish1994閱讀 2,886評(píng)論 0 2
  • 目錄 成果展示 開發(fā)過程中考慮的問題 項(xiàng)目源碼及使用方法 成果展示 開發(fā)過程中考慮的問題 布局展示方面 如何創(chuàng)建屏...
    勤勞的小葉閱讀 1,694評(píng)論 0 1
  • 一、官網(wǎng)下載Elasticsearch,解壓到指定路徑paht,啟動(dòng)單個(gè)/多個(gè)elasticsearch節(jié)點(diǎn),配置...
    言字訣閱讀 874評(píng)論 0 0
  • 我把自己化作一只蚌,緊緊的閉著自己的殼 我心里有很多話,但我不說(shuō),就是不說(shuō),打死也不說(shuō)! 我把所有的話語(yǔ)都用力的鎖...
    藍(lán)澤陸離閱讀 445評(píng)論 0 4

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