第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

簡易的撲克牌

java新手,花了半天時間完成的! 簡易的撲克牌比較大?。?http://idcbgp.cn/opus/resource?opus_id=3480

正在回答

2 回答

才知道有我的作品這個東西

0 回復(fù) 有任何疑惑可以回復(fù)我~
Card.java
package?com.jiang.cards;
?
//要比較卡牌的大小,所以要添加比較方法
public?class?Card?implements?Comparable<Card>?{
?
????public?String?suit;
????//花色
????public?String?number;
????//點數(shù)
????Card(String?suit,?String?number){
????????this.suit=suit;
????????this.number=number;
????}
?????
????//展示卡牌信息用
????public?String?toString(){
????????return?suit+number;
????}
?????
????//實現(xiàn)比較方法
????public?int?compareTo(Card?c){
????????if(this.getNumberNum()==c.getNumberNum())
????????????return?this.getSuitNum()-c.getSuitNum();
????????else?return?this.getNumberNum()-c.getNumberNum();
????}
?????
????//獲取點數(shù)排序
????public?int?getNumberNum(){
????????String[]?numbers={"2","3","4","5","6","7","8","9","10",?"J","Q","K","A"};
????????for(int?i=0;i<numbers.length;i++){
????????????if(numbers[i].equals(number))
????????????????return?i;
????????}
????????return?-1;
????}
?
????//獲取花色排序
????public?int?getSuitNum(){
????????String[]?suits={"黑桃","紅桃","梅花","方片"};
????????for(int?i=0;i<suits.length;i++){
????????????if(suits[i].equals(suit))
????????????????return?i;
????????}
????????return?-1;
????}
}
?
Player.java
package?com.jiang.cards;
?
import?java.util.ArrayList;
import?java.util.List;
?
//用戶類,為了防止ID重復(fù),重寫了equals,這樣可以調(diào)用contains判斷
public?class?Player?{
?????
????public?String?id;
????public?String?name;
????public?List<Card>?cards;
????Player(String?id,?String?name){
????????this.id=id;?this.name=name;
????????cards=new?ArrayList<Card>();
????}
????public?void?setCards(Card?c){
????????cards.add(c);
????}
????//重寫toString只是為了寫程序的時候測試用著方便
????public?String?toString(){
????????return?"Name:"+name;
????}
????public?boolean?equals(Object?o){
????????if(this==o)
????????????return?true;
????????if(o==null)
????????????return?false;
????????if(!(o?instanceof?Player))
????????????return?false;
????????Player?p=(Player)o;
????????return?id.equals(p.id);
????}
}
?
Game.java
package?com.jiang.cards;
?
import?java.util.ArrayList;
import?java.util.Collections;
import?java.util.InputMismatchException;
import?java.util.List;
import?java.util.Random;
import?java.util.Scanner;
?
public?class?Game?{
?????
????private?List<Card>?cards;
????private?List<Player>?players;
????Game(){
????????cards=new?ArrayList<Card>();
????????players=new?ArrayList<Player>();
????}
????//初始化卡牌?
????public?void?setCards(){
????????System.out.println("-----------創(chuàng)建撲克牌--------------");
????????String[]?suits={"黑桃","紅桃","梅花","方片"};//花色?
????????String[]?numbers={"2","3","4","5","6","7","8","9","10",?"J","Q","K","A"};//點數(shù)?
????????for(int?i=0;i<suits.length;i++){
????????????for(int?j=0;j<numbers.length;j++){
????????????????cards.add(new?Card(suits[i],numbers[j]));
????????????}
????????}
????????System.out.println("-----------撲克牌創(chuàng)建成功!--------------");
????????System.out.println(cards);
????}
????//洗牌,第一個對象插入隨機位置
????public?void?shuffle(){
????????System.out.println("-----------開始洗牌!--------------");
????????Random?random=new?Random();
????????for(int?i=0;i<cards.size();i++){
????????????//洗牌次數(shù)我隨便設(shè)的,沒有科學(xué)依據(jù)?
????????????Card?c=cards.get(0);
????????????//獲取第一個元素
????????????cards.add(random.nextInt(cards.size()),c);
????????????//將第一個元素再次添加在任意位置?
????????????cards.remove(0);
????????????//移除第一個元素
????????}
????????System.out.println("-----------洗牌結(jié)束!--------------");
????????//System.out.println(cards);?}
????}
????//初始化玩家2人
????public?void?setPlayers(){
????????Scanner?in=new?Scanner(System.in);
????????int?i=1;
????????do{
????????????System.out.println("請輸入第"+i+"位玩家的ID和姓名:");
????????????while(true){
????????????????try{
????????????????????System.out.println("請輸入ID:");
????????????????????int?id=in.nextInt();
????????????????????if(players.contains(new?Player(id+"",null)))
????????????????????????throw?new?Exception();
????????????????????//ID已存在,拋出異常?System.out.println("請輸入玩家姓名:");
????????????????????System.out.println("請輸入姓名:");
????????????????????String?name=in.next();
????????????????????players.add(new?Player(id+"",name));
????????????????????break;
????????????????????//新建信息成功,跳出循環(huán)
????????????????}catch(InputMismatchException?e){
????????????????????in=new?Scanner(System.in);
????????????????????//這個必須有,不然就是死循環(huán)了
????????????????????System.out.println("請輸入整數(shù)類型的ID!");
????????????????}catch(Exception?e){
????????????????????System.out.println("該ID已存在,請重新輸入!");
????????????????}
????????????}
????????????????i++;
????????}while(i<3);
????????for(int?j=0;j<players.size();j++){
????????????System.out.println("---歡迎玩家:"+players.get(j).name);
????????}
????}
?????????
????//發(fā)牌
????public?void?dealCards(){
????????System.out.println("-----------開始發(fā)牌!--------------");
????????for(int?i=0;i<2;i++){//每人發(fā)牌數(shù)i
????????????for(int?j=0;j<players.size();j++){//玩家數(shù)j
????????????????System.out.println("---玩家"+players.get(j).name+"-拿牌");
????????????????players.get(j).setCards(cards.get(0));?cards.remove(0);
????????????}?
????????}
????????System.out.println("-----------發(fā)牌結(jié)束!--------------");
????}
?????
????//比較卡牌大小
????public?void?playCards(){
????????System.out.println("-----------游戲開始!--------------");
????????for(int?i=0;i<players.size();i++){
????????????Collections.sort(players.get(i).cards);
????????????System.out.println("玩家:"+players.get(i).name+"最大的手牌為"+players.get(i).cards.get(1));
????????????int?judge=players.get(0).cards.get(1).compareTo(players.get(1).cards.get(1));
????????????String?name=judge>0???players.get(0).name:players.get(1).name;
????????????//條件語句,相當于if...else
????????????System.out.println("-----------玩家:"+name+"獲勝!--------------");
????????}
????}
?
????//展示手牌?
????public?void?showCards(){
????????System.out.println("-----------玩家手牌展示--------------");
????????System.out.println(players.get(0)+""+players.get(0).cards);
????????System.out.println(players.get(1)+""+players.get(1).cards);
????}
?
}
?
PlayCard.java
package?com.jiang.cards;
?
public?class?PlayCard?{
?????
????public?static?void?main(String[]?args)?{
????????Game?gm=new?Game();
????????gm.setCards();//獲取卡牌
????????gm.shuffle();//洗牌
????????gm.setPlayers();//獲取用戶
????????gm.dealCards();//發(fā)牌
????????gm.playCards();//開始游戲
????????gm.showCards();//展示卡牌
?
????}
?
}


3 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

簡易的撲克牌

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號