Re: [問題] 如何寫成一個猜數字的遊戲
※ 引述《JazzChen (PhoenixJazz)》之銘言:
: 小弟不才,在此次第一次發文
: 實在是因為碰上了一個大大大的問題
: 由於小弟是自學,學疏才淺,實在是受不了可能要一次跑67個if式因此想上來詢問各位
: 大大
: 相信各位大大都聰明才智都有聽過"猜數字"的遊戲
: 小弟不才最近由於興趣正在編撰一個猜數字的小遊戲程式
: 但可能是小弟對於電腦方面的低能或等等,實在只能用土法煉鋼的方法用if式一個一個
: 慢慢keyin,但是實在是keyin到發瘋了!
: 故想請問各位大大有沒有比較"偷懶"的方法可用,讓小弟脫離可怕的if地獄...
: 感激!!
剛剛想了一下 重點應該在判斷幾a幾b的邏輯吧
如果只是單純這個邏輯,使用list的函數就能解決了
private Pojo getAnswer(ArrayList<Integer> guessList ,
ArrayList<Integer> answerList){
int index = 0;
int a = 0;
int b = 0;
for(Integer eachGuess : guessList){
if(answerList.contains(eachGuess) == true){
//有存在判斷是a還是b
if(answerList.get(index).intValue()
== eachGuess.intValue()){
a++;
}else{
b++;
}
}
index ++;
}
return new Pojo(a, b);
}
將輸入跟答案做成list
對輸入的list做迴圈 使用contains去檢核是否在答案list出現
有的話在檢查位置是否相同
就可以得到幾a幾b了
不過為了怕貼太多很冗長,一開始輸入使用的Scanner等重複讓使用者輸入的迴圈的
省略不貼了
個人是覺得這樣只要做好list就能比了而不用費心去跑回圈拿字串比
也比較好懂
至於做成list 就只是String.chatAt() 一直轉型成數字放入而已
--
你看,這是她的照片,很美吧,這次結束後我就要回家鄉跟他結婚...
來接應的直升機就在前面了,這裡有我擋著,你們先走,回頭見...
兄弟們提起精神,幹完這票咱們就可以金盆洗手了...
爸爸,你走吧。他往車外看了看,說,我買幾個橘子去。你就在此地,不要走動...
什麼聲音?你們先在這等著,我去看看情況...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.34.10.7
※ 編輯: mintle 來自: 114.34.10.7 (10/19 17:49)
推
10/19 18:55, , 1F
10/19 18:55, 1F
推
10/19 19:01, , 2F
10/19 19:01, 2F
→
10/19 19:59, , 3F
10/19 19:59, 3F
※ 編輯: mintle 來自: 220.132.116.136 (10/19 20:00)
討論串 (同標題文章)