80 創作iOS App 擲骰子遊戲— 十八啦!. | 骰子遊戲app

小時候家人每逢除夕夜都聚在一起玩撲克牌和骰子遊戲, 其中又以十八啦最為熱鬧刺激, 下注後撒骰子,三顆骰子中要有兩顆點數相同、第三顆骰子不相同的 ...學生心得iOSApp課程#80創作iOSApp擲骰子遊戲—十八啦!JeanYouFollowApr16·11minread小時候家人每逢除夕夜都聚在一起玩撲克牌和骰子遊戲,其中又以十八啦最為熱鬧刺激,下注後撒骰子,三顆骰子中要有兩顆點數相同、第三顆骰子不相同的點數即為分數,之後再與莊家比大小。

比莊家大,可以贏得賭注;比莊家小,就輸掉賭注。

若三顆骰子一模一樣都是六,加起來點數共18是全場通殺。

因此擲骰子時會習慣吆喝「洗芭樂!」(台語意思的「十八啦!」)來增加士氣。

這次本來打算莊家和玩家們分別不同的畫面,想要設計多人遊玩的模式,可以各別傳遞手機來下注並擲骰子,但看來畫面傳遞的部分還需要再學習…可能留待之後優化App了這次使用到的技巧有:1.漸層設計的背景利用CAGradientLayer製作漸層開發iOSApp時,我們時常希望畫面上出現美麗的漸層。

(或是偉大的美術設計師希望)製作漸層有很多方法,其中最簡單的莫過於利用CAGradientLayer。

medium.com利用CAGradientLayer製作漸層背景參考以下連結CAGradientLayer的介紹,我們可以為iOSApp畫面加上美麗的漸層背景。

medium.com2.頁面間傳遞資料(記得StoryboardID也要設定,可和ViewController同名)在SwiftUIApp加入viewcontroller&從SwiftUI畫面切換到Storyboard畫面SwiftUI有很多很棒很炫的功能,幫助我們更容易地開發iOSApp,不過因為它才剛出生,所以一些傳統iOSApp常用的UI元件還不支援,比方它缺少以下這些元件:medium.com3.同時控制三顆骰子取亂數的OutletCollection將畫面上多個元件變成array的outletcollection透過拉outlet連線,我們可產生一個個的變數存取畫面上的元件。

但是當畫面上元件很多時,產生的outlet變數也會成長到令人害怕的地步。

medium.com4.播放擲骰子音效、換人音效、遊戲結束音效利用AVAudioPlayer或AVPlayer播放App裡的mp3檔想播放App裡的音檔,我們可以選擇用AVAudioPlayer或AVPlayer播放。

(如果是網路上的音樂,則建議用AVPlayer)方法如下:medium.com5.顯示警告訊息的UIAllertController顯示警告訊息和選單的UIAlertController使用iOSApp時,我們時常看到兩種視窗。

medium.com操作細節:首先首頁輸入姓名及籌碼,利用頁面間的資訊傳遞匯入到第二頁://按下Play按鈕傳遞資料@IBActionfuncplayButton(_sender:UIButton){performSegue(withIdentifier:"showInfo",sender:UIButton.self)}@IBSegueActionfuncshowInfo(_coder:NSCoder)->playViewController?{letcontroller=playViewController(coder:coder)letgamerName=gamerNameText.text!lettokenNumer=Double((tokenNumberText.text!))??0controller?.name=gamerNamecontroller?.token=tokenNumerreturncontroller}到了主畫面,擲骰子的功能寫成一個function。

這裏採用先將骰子數目取亂數,再呈現成骰子的Image,是因後續要取出骰子點數,在判斷輸贏時使用。

試過先將Image名稱做Array取亂數,後續要取出數字較麻煩,因此採取現在的方式。

funcrollDice(){//三顆骰子綁成Outletcollection後利用number取亂數,再呈現成圖片for_indiceImages{number0=Int.random(in:1...6)diceImages[0].image=UIImage(named:"\(number0!)")number1=Int.random(in:1...6)diceImages[1].image=UIImage(named:


常見生活風格問答


延伸文章資訊