日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

java了解异常_ID检测_Java入门第三季7-1简易扑克牌游戏(自定义玩家个数,玩家个数和ID异常检测)...

發(fā)布時(shí)間:2024/9/27 java 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java了解异常_ID检测_Java入门第三季7-1简易扑克牌游戏(自定义玩家个数,玩家个数和ID异常检测)... 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

玩家類:

package playingCardsGame;

import java.util.ArrayList;

import java.util.List;

/*

* 玩家類

*/

public class Players {

int ID;

String name;

List handCards;

Players(int ID, String name){

this.ID = ID;

this.name = name;

this.handCards = new ArrayList();

}

}

手牌類:

package playingCardsGame;

/*

* 手牌類

*/

public class HandCards {

String card;

HandCards(String card) {

this.card = card;

}

}

游戲類:

package playingCardsGame;

import java.util.ArrayList;

import java.util.InputMismatchException;

import java.util.List;

import java.util.Random;

import java.util.Scanner;

/*

* 游戲類

*/

public class CardsGame {

public List cardsList;

public List shuffleList;

public List player;

public Players ps;

private Scanner console;

Random random;

public CardsGame(){

cardsList = new ArrayList();

shuffleList = new ArrayList();

player = new ArrayList();

ps = new Players(0, null);

console = new Scanner(System.in);

random = new Random();

}

String[] color = {"方片","梅花","紅桃","黑桃"};

String[] ch = {"3","4","5","6","7","8","9","10","J","Q","K","A","2"};

//創(chuàng)建撲克牌并洗牌

public void Cards(){

System.out.println("--------------創(chuàng)建撲克牌...--------------");

for(int i = 0; i < color.length; i++){

for(int j = 0; j < ch.length; j++){

cardsList.add(color[i] + ch[j]);

}

}

System.out.println("------------撲克牌創(chuàng)建成功!-------------");

System.out.print("為:[");

for(int k = 0; k < cardsList.size(); k++){

if(k < cardsList.size()-1){

System.out.print(cardsList.get(k)+",");

}else

System.out.println(cardsList.get(k)+"]");

}

System.out.println("--------------開始洗牌...--------------");

for(int m = 0; m < cardsList.size(); m++){

int number;

do{

number = random.nextInt(cardsList.size());

}while(shuffleList.contains(cardsList.get(number).toString()));

shuffleList.add(cardsList.get(number).toString());

}

System.out.println("--------------洗牌結(jié)束!--------------");

}

//創(chuàng)建玩家并進(jìn)行游戲

public void Play(){

System.out.println("--------------創(chuàng)建玩家...--------------");

//自定義玩家個(gè)數(shù)并進(jìn)行異常檢測(cè)

int numberOfPlayers;

while(true){

System.out.println("請(qǐng)輸入玩家個(gè)數(shù)(最少2名玩家,最多26名玩家):");

Scanner console = new Scanner(System.in);

try{

numberOfPlayers = console.nextInt();

if(numberOfPlayers > 1 && numberOfPlayers < 27){

break;

}else{

throw new Exception();

}

}catch(InputMismatchException e){

System.out.println("請(qǐng)輸入整數(shù)類型的玩家個(gè)數(shù)!");

}catch(Exception e){

System.out.println("玩家個(gè)數(shù)不在規(guī)定范圍之內(nèi)!");

}

}

//獲取每個(gè)玩家的ID和姓名并對(duì)ID進(jìn)行異常檢測(cè)

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

System.out.println("請(qǐng)輸入第"+ i + "位玩家的ID和姓名:");

int ID;

while(true){

System.out.println("輸入ID:");

Scanner console = new Scanner(System.in);

try{

ID = console.nextInt();

break;

}catch(InputMismatchException e){

System.out.println("請(qǐng)輸入整數(shù)類型的ID!");

}

}

System.out.println("輸入姓名:");

String name = console.next();

player.add(new Players(ID, name));

}

for (Players player : player) {

System.out.println("-----歡迎玩家:" + player.name);

}

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

//獲取所發(fā)牌的手牌序列

for(int i = 0; i < 2; i ++){

for(int j = 0; j < numberOfPlayers; j ++){

System.out.println("-----玩家:" + player.get(j).name + "-拿牌");

if(i == 0)

ps.handCards.add(new HandCards(shuffleList.get(j).toString()));

else

ps.handCards.add(new HandCards(shuffleList.get(j + numberOfPlayers).toString()));

}

}

System.out.println("--------------發(fā)牌結(jié)束!--------------");

System.out.println("--------------開始游戲...--------------");

//獲取每個(gè)玩家的最大手牌序列

List maxCards = new ArrayList();

int m = 0, n = 0, p = 0, q = 0;

String max;

for(int i = 0;i < numberOfPlayers; i ++){

String card1 = ps.handCards.get(i).card.toString();

String card2 = ps.handCards.get(i + numberOfPlayers).card.toString();

//比較牌面大小

for(int j = 0; j < ch.length; j ++){

if(card1.substring(2).equals(ch[j]))

m = j;

if(card2.substring(2).equals(ch[j]))

n = j;

}

if(m >= n){

if(m == n){//如果牌面大小相等,再比較花色并最終得到最大值

for(int j = 0; j < color.length; j ++){

if(card1.substring(0,2).equals(color[j]))

p = j;

if(card2.substring(0,2).equals(color[j]))

q = j;

}

if(p > q){

max = card1.toString();

}else{

max = card2.toString();

}

}else{

max = card1.toString();

}

}else{

max = card2.toString();

}

System.out.println("玩家:" + player.get(i).name + "最大的手牌為:" + max);

maxCards.add(max);

}

//比較最大手牌序列,先比較大小再比較花色,最后得到最大牌對(duì)應(yīng)的玩家

for(int i = 0, j = 1;j < numberOfPlayers; j ++){

String card3 = maxCards.get(i).toString();

String card4 = maxCards.get(j).toString();

for(int k = 0; k < ch.length; k ++){

if(card3.substring(2).equals(ch[k]))

m = k ;

if(card4.substring(2).equals(ch[k]))

n = k;

}

if(m <= n){

if(m == n){

for(int r = 0; r < color.length; r ++){

if(card3.substring(0,2).equals(color[r]))

p = r;

if(card4.substring(0,2).equals(color[r]))

q = r;

}

if(p < q)

i = j;

}else

i = j;

}

m = i;

}

//輸出游戲結(jié)果

System.out.println("--------------玩家:" +player.get(m).name + "獲勝!--------------");

System.out.println("玩家各自的手牌為:");

for (int i = 0; i < numberOfPlayers; i ++)

System.out.println(player.get(i).name + ":[" + ps.handCards.get(i).card.toString()

+"," + ps.handCards.get(i + numberOfPlayers).card.toString() + "]");

}

public static void main(String[] args) {

CardsGame cg = new CardsGame();

cg.Cards();

cg.Play();

}

}

總結(jié)

以上是生活随笔為你收集整理的java了解异常_ID检测_Java入门第三季7-1简易扑克牌游戏(自定义玩家个数,玩家个数和ID异常检测)...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。