# 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
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.