[IOS連續寫遊戲]Game II SameCard 翻出兩張一樣的牌

IOS翻牌遊戲開發

這個翻牌遊戲本來應該一天搞定的…結果我去跑half-Marathon然後又陪女朋友跑來跑去,結果就延遲到今天早上搞定了…..

過程還遇到了個很讓自己無語的事情,我一開始在想Guesture事件放在Card的Class裏面還是放在Center的Class管理比較好,結果突然Tap事件失靈了,我發現放到哪裡去都沒辦法檢測到Tap的事件……

後來我把眼睛擦乾淨再看一次的時候,我發現我把UITapGuesture…..寫成UIGuesture……

太依賴開發工具了T_T|||我這才剛開始啊….

MemoryTestPic1 MemoryTestPic2

這次的小遊戲開發體驗

1、翻兩張牌,如果一樣則消失,否則蓋回去:
這個function如果直接寫,會變成玩家點擊第二張牌的時候立刻判斷,那玩家就看不見第二張牌,因為馬上判斷馬上調用function,就變成不給看第二張牌…..直接消失或者蓋住。

當然很快就想到延遲去調用判斷後要操作的結果,就是NSTimer,設定0.4秒後再去做動作。

2、上面的NSTimer會有個問題,如果玩家在0.4秒內馬上點第三、四…張牌,就變成都不會蓋回去或者消失了,可能NSTimer會被打斷,需要加一個判斷,讓玩家0.4秒後才可以再操作?
(這個想法很有趣,讓我想到法師施法過程被打斷之類的哈哈,其實我想到可以寫很多判斷的時候就莫名其妙的興奮啊)

3、洗牌算法
之前用PHP的時候,我知道數組有自帶的shuffle功能,隨機重新排列數組的序列,但Obj-C好像沒有,查了資料,我用的代碼如下:
效果是實現了,但我不知道NSComparator後面那段block語句是?????orz….回頭查查= =

代碼都放在我的GitHub上了
https://github.com/slamdon/learn-IOS/tree/master/Easy-Game

另外我把遊戲整合在DonFactory上,未來遊戲多了以後,還會做個DataCenter記錄不同遊戲的記錄。

然後~~現階段以能夠開發出來為主,再多寫幾個遊戲以後回頭想想用戶體驗的東西。


2015年7月15日更新:

有網友反映連接失效了,我看了下因為後來連續寫了幾個小遊戲,在將他們整合在一起之後就把單獨的給刪除了….

這裏重新寫了一個給大家參考下:

其中的Day1 flipCard

https://github.com/slamdon/StepByStep

 

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *