JAVA入門第三季 簡易撲克牌遊戲原始碼 可以自定義玩家人數 有詳細注

bluepeach發表於2021-09-09

一共三季,看完了以後感覺自己對java的認識還是有增強的,主要還是是靠自己寫吧,老師講的東西是一方面,更重要的還得是自己融會貫通。這次的撲克牌遊戲,個人感覺寫的方法有很多,我只是在參考了別人的方法以後,自己加入了一些自己的想法,我把想法用註釋寫上去跟大家分享,請大家多指教
package PokerGame;

//建立Card類,裡面儲存花色,號碼,得分,拿到這張牌的玩家Id與姓名資訊
public class Card {
String color;
String num;
String playerid;
String playname;
int score;

public Card(String color, String num, int score, String playerid,
        String playname) {
    // TODO Auto-generated constructor stub
    this.color = color;
    this.num = num;
    this.score = score;
    this.playerid = playerid;
    this.playname = playname;
}

}

package PokerGame;

//建立Player類,裡面儲存玩家Id與姓名資訊
public class Player {

String id;
String name;

public Player(String id, String name) {
    // TODO Auto-generated constructor stub
    this.id = id;
    this.name = name;
}

}
package PokerGame;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.Scanner;
import java.util.regex.Pattern;

public class GameTest {
// players與playernum儲存玩家總數量。
static int players;
static int playernum;
// 例項化GameTest類物件test。
static GameTest test = new GameTest();
// 建立Map物件HashMap,命名為map,用於建立每張卡牌的Score與Card類物件的指向關係,
// 之後選出最大的Score,然後指向擁有最大Score的Card,完成撲克牌比大小。
Map map = new HashMap();
// 建立List物件ArrayList,命名為player,用於儲存玩家資訊
List player = new ArrayList();
// 建立List物件ArrayList,命名為cardlist,用於儲存初創的撲克牌資訊。
List cardlist = new ArrayList();
// 建立List物件ArrayList,命名為cardlistwash,用於儲存洗完之後的撲克牌資訊。
List cardlistwash = new ArrayList();
// 建立二維陣列數列,命名為poker,橫座標用來表示抽撲克牌的次數,縱座標用來表示玩家的順序,用於撲克牌比大小。
Card[][] poker = null;
Random random = new Random();
Scanner input = new Scanner(System.in);

public GameTest() {
    // TODO Auto-generated constructor stub
}

// 建立一副撲克牌的方法
public void printcards() {
    System.out.println("---------建立撲克牌---------");
    String[] color = { "黑桃", "紅桃", "梅花", "方塊" };
    String[] num = { "A", "2", "3", "4", "5", "6", "7", "8", "9", "10",
            "J", "Q", "K" };
    // 每個花色輪一遍,每個花色輪13次,按順序建立Card類物件newcard,
    // 因為現在還不知道哪個玩家拿到哪張牌,所以playerid和playname賦空值,
    // 建立完newcard以後,把newcard加入到cardlist佇列中。
    for (int i = 0; i 

}
效果:
圖片描述
圖片描述

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2558/viewspace-2799300/,如需轉載,請註明出處,否則將追究法律責任。

相關文章