# Kotlin期末作業 ###### tags: `Kotlin` 請使用Kotlin寫出一個類似 [Nerdle mini](https://mini.nerdlegame.com/) 的遊戲。 ## 要求 1. 在程式執行時,隨機產生每次都不一樣的題目,題目必須符合以下要求([範例輸入](#範例輸入)) 1. 只包含一個運算符號(`+-*/`)與一個等於(`=`) 2. 在數學上必須等號成立 3. 所有數字必須是非負整數 4. 長度為六個字 5. 等號必須是在運算符號後面 2. 玩家有六條命,輸入六次皆錯誤需要公布答案並結束遊戲 3. 玩家如果輸入的答案不合乎題目格式,要提供錯誤訊息請玩家重新輸入(不扣生命值) 4. 玩家輸入答案後,使用底色告訴玩家哪些字是正確的、放錯位置的、不在題目內的 > 底色參考 >  > <div style="display: inline-block; width:12px; height:12px; background-color: #398874;"></div> #398874 > <div style="display: inline-block; width:12px; height:12px; background-color: #820458;"></div> #820458 > <div style="display: inline-block; width:12px; height:12px; background-color: #161803;"></div> #161803 > <div style="display: inline-block; width:12px; height:12px; background-color: #989484;"></div> #989484 6. 若玩家輸入與題目一致,恭喜玩家達成遊戲,並結束遊戲。 ## 範例輸入 ### 合法的輸入 * 0/11=0 * 30*0=0 * 3*4=12 ### 不合法的輸入 * 2**3=8:只能有一個運算符號,而且要是 `+-*/` 其中之一 * 11/0=??:0 放在分母是不允許的 * 11*2=15:等號不成立,回去跟國小數學老師道歉! * 5-6=-1:不可以有負數 * -3+6=3:也不可以,理由同上 * 5+3=08:不可有 leading zero * 12=3*4:等號必須是在運算符號後面 ## 排版參考畫面  ### 你可能會用到的元件 1. LinearLayout (Optional) 2. TextView 3. Button 4. AlertDialog ## 提示 ### AlertDialog 範例  ```kotlin val builder = AlertDialog.Builder(this) builder.setTitle("Alert Title") builder.setMessage("Message Body") builder.show() ``` ## 提交 > Windows可以使用[Bandicam](https://www.bandicam.com/tw/)來錄影,也可以使用支援Windows、MAC的OBS但比較複雜一些;無論如何千萬不要使用手機對螢幕錄影,拜託! * 拍攝YouTube解說你的程式碼並真的玩三次,請確定畫質可以看清楚,以及有清楚錄製你的聲音 * 過程中必須要確認「能判定輸入不合乎格式」、「可判斷玩家成功或失敗」 * 將主程式打包好提交到e3 ### 打包方法 
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up