java程式:簡易撲克牌遊戲
package lun.cardgame;
//單張撲克牌模板
public class Card implements Comparable{
String cardColor;
String cardPoints;
String color="'方塊''梅花''黑桃''紅桃'";
String points="345678910JQKA2";
public Card(String cardColor,String cardPoints){
this.cardColor=cardColor;
this.cardPoints=cardPoints;
}
public Card(){
}
@Override
public int compareTo(Card o) {
// TODO Auto-generated method stub
if(points.indexOf(this.cardPoints)==points.indexOf(o.cardPoints)){
if(color.indexOf(this.cardColor)==color.indexOf(o.cardColor))
return 0;
else
return color.indexOf(this.cardColor)-color.indexOf(o.cardColor);
}
else
return points.indexOf(this.cardPoints)-points.indexOf(o.cardPoints);
}//比較Card型別大小
}
package lun.cardgame;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
//存放撲克牌
public class Cards {
public List cards;
String[] colorAll={"黑桃","紅桃","梅花","方塊"};
String[] pointsAll={"3","4","5","6","7","8","9","10","J","Q","K","A","2"};
public Cards(){
this.cards=new ArrayList();
}
//建立撲克牌
public void build(){
System.out.println("開始建立撲克牌");
for(String s1:colorAll){
for(String s2:pointsAll ){
Card c=new Card();
c.cardColor=s1;c.cardPoints=s2;
cards.add(c);
}
}
System.out.println("********");
System.out.println("********");
System.out.println("建立完畢");
}
//輸出建立好的撲克牌
public void display(){
System.out.println("列印輸出建立好的撲克牌");
for(Card c:cards){
System.out.print("["+c.cardColor+c.cardPoints+"]"+" ");
}
}
//洗牌
public void shuffle(){
System.out.println();
System.out.println("開始洗牌!");
Collections.shuffle(cards);
System.out.println("*******");
System.out.println("洗牌結束!");
}
}
package lun.cardgame;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
//玩家模板構建
public class Player {
int playerId;
String playerName;
List handCard;
Scanner input=new Scanner(System.in);
public Player(int playerId,String playerName){
this.playerId=playerId;
this.playerName=playerName;
this.handCard=new ArrayList();
}
public Player(){
this.handCard=new ArrayList();
}
//輸入玩家id和姓名
public void inputPlayer(){
while(true){
try{
System.out.println("輸入玩家id");
int id=input.nextInt();
System.out.println("輸入玩家姓名");
String name=input.next();
playerId=id;
playerName=name;
break;
}catch(Exception e){
String s=input.nextLine();//清楚快取區非int型資料
System.out.println("請輸入整型資料!");
}
}
}
//發一張到玩家手上
public void addCard(Card e){
handCard.add(e);
}
//展示玩家手上的牌
public void showHandCard(){
System.out.println(playerName+"手中的牌:");
for(Card c:handCard){
System.out.print("["+c.cardColor+c.cardPoints+"]"+" ");
}
}
//將玩家手上的牌從小到大排序,方便比較大小
public void handCardSort(){
Collections.sort(handCard);
}
}
package lun.cardgame;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import org.omg.CORBA.SystemException;
public class Startplay {
public static void main(String[] args){
Cards c=new Cards();
c.build();//建立撲克牌
c.display();//列印輸出整幅撲克牌
c.shuffle();//洗牌
Player p1=new Player();
Player p2=new Player();
p1.inputPlayer();//輸入一號玩家ID和姓名
p2.inputPlayer();//輸入二號玩家ID和姓名
System.out.println("開始發牌");//開始發牌
for(int i=0;i cardCompare=new ArrayList();
cardCompare.add(p1max);
cardCompare.add(p2max);
Collections.sort(cardCompare);//比較大小,調整順序,從小到大
if(cardCompare.get(1).equals(p1max))
System.out.println("一號玩家:"+p1.playerName+"勝出");
else
System.out.println("二號玩家:"+p2.playerName+"勝出");
}
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3244/viewspace-2799212/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java第三季—簡易撲克牌遊戲Java遊戲
- 簡易撲克牌遊戲JAVA原始碼_新手上路遊戲Java原始碼
- 簡易撲克牌遊戲簡單實現,歡迎指正遊戲
- Java入門第三季撲克牌小遊戲Java遊戲
- Java 簡單實現撲克牌抽象類Java抽象
- java入門最後一章 簡易撲克牌比較大小Java
- 簡易撲克遊戲---各位爸爸求指點指點遊戲
- Java入門第三季7-1簡易撲克牌作業Java
- 使用Java語言寫的一個簡單的撲克牌發牌程式碼Java
- JAVA入門第三季 簡易撲克牌遊戲原始碼 可以自定義玩家人數 有詳細注Java遊戲原始碼
- python實現撲克遊戲 - 抽鬼牌 和 21點Python遊戲
- python例項:解決經典撲克牌遊戲 -- 四張牌湊24點 (二)Python遊戲
- python例項:解決經典撲克牌遊戲 -- 四張牌湊24點 (一)Python遊戲
- Python程式設計基礎練習——撲克牌發牌問題Python程式設計
- 撲克牌速算24 -窮舉(JavaScript)JavaScript
- JZ-045-撲克牌順子
- 劍指Offer 撲克牌順子
- SwiftUI:看我展示52張撲克牌,“很快啊!”SwiftUI
- JAVA入門第三季——最後練習題撲克牌Java
- 每日一練(33):撲克牌中的順子
- bzoj1816: [Cqoi2010]撲克牌(二分)
- 【YOLOv5】實現撲克牌的點數識別YOLO
- [每日一題] 第十二題:撲克牌中的順子每日一題
- Java第三季撲克牌作業 參考了幕友的排序方法 非常感謝Java排序
- 簡易版“推箱子”遊戲遊戲
- c++簡易小遊戲C++遊戲
- Java實現簡易聯網坦克對戰小遊戲Java遊戲
- 騰訊[程式設計題] 紙牌遊戲程式設計遊戲
- A - 卡牌遊戲 III遊戲
- 關於撲克牌的一些討論——《Fluent Python 2》讀書筆記Python筆記
- 瘋狂拆拆樂:玩法簡單易於上手的卡牌小遊戲如何做到策略多樣?遊戲
- C#之簡易猜數字遊戲C#遊戲
- 簡易遊戲通訊協議框架1.0遊戲協議框架
- 45歲碼農用不到2年時間擼出100款撲克遊戲遊戲
- 我的簡易2048小遊戲記錄整理遊戲
- MATLAB 簡易版 你畫我猜小遊戲Matlab遊戲
- 【Ynoi 2017】由乃打撲克
- 卡牌鏈遊NFT遊戲系統開發/原始碼/卡牌鏈遊/NFT遊戲原始碼