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

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

來交作業(yè)啦

package PlayCards;


public class Colour {

String colour;

int coloreNum;

public Colour(int colourNum) {

this.coloreNum = colourNum;

marryNum(colourNum);//賦值

}

public void marryNum(int colourNum) {//通過顏色匹配大小

switch(colourNum) {

case 1: colour="方塊";break;

case 2: colour="梅花";break;

case 3: colour="紅桃";break;

case 4: colour="黑桃";break;

}

}

public boolean equals(Colour colour) {//重寫equals方法 比較兩種牌的花色大小

if(this.coloreNum>colour.coloreNum) {

return true;

}else {

return false;

}

}

}




package PlayCards;


import java.util.ArrayList;

import java.util.Collections;

import java.util.List;

import java.util.Scanner;


public class Card {

Colour cardcolour;//花色

CardNum cardnumber;//點(diǎn)數(shù)

List<Card> Cards;//牌的集合

public Card() {

Cards = new ArrayList<Card>();//這個(gè)構(gòu)造器是在main方法中用的

}

public? Card(int cardcolour,int cardnumber) {//構(gòu)造器,是給putCard方法用的

this.cardcolour = new Colour(cardcolour);

this.cardnumber = new CardNum(cardnumber);

Cards = new ArrayList<Card>();

}

public void putCard() {//將牌放在集合中去

for(int i=1;i<14;i++) {

for(int j=1;j<5;j++) {

Card c = new Card(j,i);

Cards.add(c);

}

}

}

public? void showCard(List<Card> Cards) {//展示牌

for(Card c:Cards) {

System.out.print(c.cardcolour.colour+c.cardnumber.numChange+",");

}


}

}



package PlayCards;


public class CardNum {

int? cardnum;

String numChange;

public CardNum(int cardnum) {

this.cardnum = cardnum;

merryNum(cardnum);

}

public void merryNum(int cardnum) {//轉(zhuǎn)換點(diǎn)數(shù)

if(cardnum>=2&&cardnum<11) {

this.numChange = cardnum+"";

}else{

String s = cardnum+"";

switch(s) {

case "11": this.numChange = "J";break;

case "12": this.numChange = "Q";break;

case "13": this.numChange = "K";break;

case "1":? this.numChange = "A";break;

}

}

}

public int equals(CardNum cn) {//重寫equals方法,判斷點(diǎn)數(shù)大小

if(cn.cardnum>2&&this.cardnum>2) {

if(this.cardnum>cn.cardnum) {

return 1;

}else if(this.cardnum==cn.cardnum) {

return 0;

}else {

return -1;

}

}else if(this.cardnum>cn.cardnum) {//如果cn 比this 大返回false;

return 1;

}else if(this.cardnum==cn.cardnum){

return 0;

}else {

return -1;

}

}

}




package PlayCards;


import java.util.ArrayList;

import java.util.List;


public class Player {

String ID;

String name;

List<Card> playercard;

public Player(String ID,String name) {//構(gòu)造器

this.ID=ID;

this.name=name;

playercard = new ArrayList<Card>();

}

public void handCard(Card c) {//手牌

this.playercard.add(c);

}

public void showPlayerCards(List<Card>playercard) {//展示手牌

for(Card c:playercard) {

System.out.println(c.cardcolour.colour+c.cardnumber.numChange);

}

}

}



package PlayCards;


import java.util.Collections;

import java.util.List;


public class Game {

Player p1;

Player p2;

Card[] cardsp1;

Card[] cardsp2;

public Game(Player p1,Player p2) {

this.p1=p1;

this.p2=p2;

}

public void putPlayerCards(List<Card> Cards) {//發(fā)牌

int i=0;

while(i<4) {

if(i%2!=0) {

Card c = Cards.get(i);

p1.handCard(c);

i++;

}else {

Card c = Cards.get(i);

p2.handCard(c);

i++;

}

}

}

public Card PlayermaxCard(Player p) {//比較手牌中的大小

Card c0 = p.playercard.get(0);

Card c1 = p.playercard.get(1);

CardNum cardnum1 =c0.cardnumber;

CardNum cardnum2 = c1.cardnumber;

Colour cardcolour1 =c0.cardcolour;

Colour cardcolour2 =c1.cardcolour;

if(cardnum1.equals(cardnum2)==1) {//前面重寫了CardNum類的equals方法,

return? c0;//比較點(diǎn)數(shù)的大小

}else if(cardnum1.equals(cardnum2)==0){//如果點(diǎn)數(shù)相同

if(cardcolour1.equals(cardcolour2)) {//比較顏色

return c0;

}else {

return c1;

}

}else {

return c1;

}

}

public Player winner() {//比較連個(gè)玩家最大的手牌

Card cardp1=PlayermaxCard(p1);

Card cardp2=PlayermaxCard(p2);

CardNum cardnum1 =cardp1 .cardnumber;

CardNum cardnum2 =cardp2.cardnumber;

Colour cardcolour1 =cardp1.cardcolour;

Colour cardcolour2 =cardp2.cardcolour;//這里只是轉(zhuǎn)換一下屬性

if(cardnum1.equals(cardnum2)==1) {//比較點(diǎn)數(shù)

return p1;

}else if(cardnum1.equals(cardnum2)==0) {//點(diǎn)數(shù)相同比較顏色

if(cardcolour1.equals(cardcolour2)) {//在colour類中重寫了equals方法

return p1;

}else {

return p2;

}

}else {

return p2;

}

}

//



package PlayCards;


import java.util.Collections;

import java.util.Scanner;


public class test {

static Scanner sc = new Scanner(System.in);//將 sc設(shè)為靜態(tài)變量可以全局調(diào)用

public static void main(String[] args) {

test t =new test();

System.out.println("歡迎進(jìn)入游戲");

System.out.println("======================");

System.out.println("展示牌:");

Card c =new Card();

c.putCard();//將牌裝進(jìn)集合里

c.showCard(c.Cards);//展示未打亂的牌

Collections.shuffle(c.Cards);//重點(diǎn)這里。Collections.shuffle方法可以將List集合打亂

? //c.showCard(c.Cards);//展示打亂后的牌

System.out.println();//換行

Player p1=t.setPlayer();

Player p2=t.setPlayer();//設(shè)置玩家信息

System.out.println("玩家信息:"+p1.ID+p1.name);

System.out.println("玩家信息:"+p2.ID+p2.name);

System.out.println("開始發(fā)牌");

System.out.println("========================");

Game g = new Game(p1,p2);//實(shí)例化Game類對象,將兩名玩家傳進(jìn)去

g.putPlayerCards(c.Cards);//發(fā)牌

Player winner = g.winner();//調(diào)用Game類中的比較方法

System.out.println("贏家是:");

System.out.println(winner.ID+winner.name);

System.out.println("展示手牌");

System.out.println(p1.ID+p1.name);

p1.showPlayerCards(p1.playercard);//展示手牌

System.out.println(p2.ID+p2.name);

p1.showPlayerCards(p2.playercard);//展示手牌

}

public Player setPlayer() {//設(shè)置玩家信息

System.out.println("請輸入玩家信息");

String ID=sc.next();

String name=sc.next();

Player p=new Player(ID,name) ;

return p;

}

}


正在回答

1 回答

沒有用什么Set集合,用的是Collectians接口的shuffle方法。把List集合打亂。

我覺得最難的就是比大小。開始準(zhǔn)備用重寫comopar的方法。但發(fā)現(xiàn)代碼量也差不多。索性就用重寫Cardnuml類和Colouer的equals 方法法。先比數(shù)字后,如果數(shù)字相同就比顏色。

代碼不怎么規(guī)范,各位有什么問題歡迎提出來。


咦,本以為代碼不多的,結(jié)果那么多

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

舉報(bào)

0/150
提交
取消
Java入門第三季
  • 參與學(xué)習(xí)       409767    人
  • 解答問題       4510    個(gè)

Java中你必須懂得常用技能,不容錯(cuò)過的精彩,快來加入吧

進(jìn)入課程

來交作業(yè)啦

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

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

幫助反饋 APP下載

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

公眾號(hào)

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