java网页版斗地主_JAVA控制台版斗地主
一、核心思路:
1.首先分析流程:
A>B>C>A>B>C>A>B>C
等于 ?while(true){
A>B>C
}
然后完善細節
發牌();
while(true){
A出牌();
if(A出完了){
break;
}
B出牌();
if(B出完了){
break;
}
C出牌();
if(C出完了){
break;
}
}
2.外層架構好了,進入發牌這層 ??//我是喜歡按層來架構,層與層直接盡量低耦合,進入了一層就只要思考當前這一層,不用考慮上一層或下一層。這里強烈安利Xmind,基礎功能免費
首先,聲明一個字符串數組,里面包含54張牌,通過隨機0·53的數,得到ABC的牌,當然要判斷是否是重復的隨機數。
還有,得留3張底牌!
3.退出發牌這層,進入到打牌這層
》1. 出牌分為三種:
第一種我打的牌沒人要,從小開始打, //我稱為人機優先出牌方法
第二種前面的要不起,傳入前面的前面的出牌和自己的牌,通過比較puke字符串的下標大小,來返回出什么牌,要不起就返回“不要” ?//我稱為人機后續出牌方法
第三種接著前面打,方法和前面一樣,不過傳入的是前面的出牌而不是前面的前面//我稱為人機后續出牌方法
》2. 出完牌需要把牌從手里的牌去掉:很明顯是一個傳參方法,傳入出的牌,和出牌人手里所有的牌,用遍歷找到,并且變為空(刪除)
》3. 去掉之后進行牌排序以便下次出牌:傳入手里的牌,遍歷出在puke字符串里的下標,下標越大牌就越大,然后用Array.sort()方法排序,再通過下標找到對應的牌
4.接下來就是把自己的出牌寫一下
用scanner接受輸入值,再通過一個方法判斷自己出的牌是否合法,是:刪牌,排序 否:提示,并且重新輸入
總結
以上是生活随笔為你收集整理的java网页版斗地主_JAVA控制台版斗地主的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android ImageView图片自
- 下一篇: linux内核模块编写,Linux内核模