# Kotlin期中作業 請使用Kotlin寫出一個類似 [Nerdle mini](https://mini.nerdlegame.com/) 的遊戲。 # 緊急公告 這是4/16更新的,之前交過的同學可以無視;請幫助教我把你的謎底在第一行印出來,因為有些同學的題目生成有問題,讓題目根本是猜不出來的狀況,讓我的腦細胞死了一些XD 所以請同學先把答案公布一下,不然有時候幫你們Debug會花蠻多時間的。 P.S:現在交的人少,所以我會在時間允許的情況下告訴你發生什麼所以沒過,讓你可以補交,月底人一多就沒有補交的機會囉。 # 說明 ## 範例    ## 要求 你需要: 1. 在程式執行時,隨機產生每次都不一樣的題目,題目必須符合以下要求 1. 只包含一個運算符號(`+-*/`)與一個等於(`=`) - `2**3=8`,錯誤;我們不考慮有兩個或以上運算符號的情況 3. 在數學上必須是成立的 - `7/0=??`,0放在分母是無意義的,在數學上不成立 - `0/7=0`,0放在分子是可以的 - `7*2=15`,回去跟國小數學老師道歉! 4. 所有數字必須是非負整數 - `5-6=-1`是不行的 - `-3+6=3`也不可以 - `30*0=0`是可以的 - 不可有 leading zero,例如 `5+3=08` 是不可以的 5. 長度為六個字 6. 等於必須是在運算符號後面 - `12=3*4`是不行的 - `3*4=12`是可以的 2. 玩家有六條命,輸入六次皆錯誤需要公布答案並結束遊戲 3. 玩家可以輸入 `Q` 來手動結束遊戲 4. 玩家如果輸入的答案不合乎題目格式,要提供錯誤訊息請玩家重新輸入(不扣生命值) 5. 玩家輸入答案後,使用底色告訴玩家哪些字是正確的、放錯位置的、不在題目內的 6. 若玩家輸入與題目一致,恭喜玩家達成遊戲 ## 如何著色 我們會用到三種顏色: - 綠色:位置和數字、符號都是正確的 - 黃色:位置錯誤和數字、符號和題目相符 - 黑色:數字不存在題目之中 ```kotlin val ANSI_BLACK_BACKGROUND = "\u001B[40m" val ANSI_GREEN_BACKGROUND = "\u001B[42m" val ANSI_YELLOW_BACKGROUND = "\u001B[43m" val ANSI_RESET = "\u001B[0m" println("${ANSI_BLACK_BACKGROUND}我會變成黑底白字${ANSI_RESET}我是正常沒有顏色的字") println("${ANSI_GREEN_BACKGROUND}我會變成綠底白字${ANSI_RESET}我是正常沒有顏色的字") println("${ANSI_YELLOW_BACKGROUND}我會變成黃底白字${ANSI_RESET}我是正常沒有顏色的字") ``` ## 簡化題目 1. 不需要有重新開始遊戲的機制 2. 遊戲說明清楚即可,不需要和我的範例一樣 # 提交 > Windows可以使用[Bandicam](https://www.bandicam.com/tw/)來錄影,也可以使用支援Windows、MAC的[OBS](https://obsproject.com/)但比較複雜一些;無論如何千萬不要使用手機對螢幕錄影,拜託![name=黃彥儒] - 拍攝YouTube**解說**你的程式碼並真的玩三次,請確定畫質可以看清楚,以及有清楚錄製你的聲音 - 過程中必須要確認「能判定輸入不合乎格式」、「可提前結束」、「可判斷玩家成功或失敗」 - 將主程式打包好提交到e3 ## 打包方法 請將整個專案壓縮成一個zip檔案 
×
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
.