文件1————javabean
package com.game.card;
public class card {
private String[] card = new String[5000];
private int front;
private int rear;
public boolean end() {if (front == rear)return false;elsereturn true;}public void init() {rear = front = 0;}public void fuzhi(String[] a) {for (int i = 0; i < a.length; i++) {card[rear++] = a[i];}}public String getCard() {return card[front];}public String getCard(int n) {return card[n];}public int getFront() {return front;}public int getRear() {return rear;}public void display() {for (int i = front; i < rear; i++) {System.out.print(card[i] + " ");if (i != 0 && i % 13 == 0)System.out.println("");}System.out.println("");}public void setCard(String card) {this.card[rear++] = card;}public void setFront(int front) {this.front = front;}public void setRear(int rear) {this.rear = rear;}
}
文件2————比较类
package com.game.card;
public class compare {
public void pop(card a, card b) {
int front = a.getFront();
int i;
for (i = b.getFront(); i < b.getRear(); i++) {
if (compa(b.getCard(i), a.getCard()) == 1) {
break;
}
}
if (i < b.getRear()) {
push(i, a, b);
} else {
b.setCard(a.getCard());
a.setFront(++front);
}
}
public void push(int n, card a, card b) {a.setCard(a.getCard());int num = a.getFront();a.setFront(++num);for (int i = n; i < b.getRear(); i++) {a.setCard(b.getCard(i));}b.setRear(n);}public int compa(String a, String b) {String str1[] = a.split("");String str2[] = b.split("");if (str1[1].equals(str2[1]))return 1;elsereturn 0;}
}
文件3————洗牌发牌类
package com.game.card;
public class fushcard {
public void fush(String[] card) {
int len = card.length;
for (int i = len - 1; i >= 0; i–) {
int k = (int) (Math.random() * (i + 1));
swap(k, i, card);
}
}
public void pushcard(String[] a, String[] b, String[] card) {int len = card.length;int j = 0;for (int i = 0; i < len; i += 2) {a[j] = card[i];b[j] = card[i + 1];j++;}}public void sort(String card[]) {int len = card.length;for (int i = 0; i < len; i++) {for (int j = i + 1; j < len; j++) {if (card[i].compareTo(card[j]) < 0)swap(i, j, card);}}}public void diasplay(int k, int n, String[] card) {for (; k < n; k++) {System.out.print(card[k] + " ");}}private void swap(int i, int k, String[] card) {String temp = card[k];card[k] = card[i];card[i] = temp;}
}
文件4————主文件(可运行文件)
package com.game.card;
public class play {
public static void main(String[] args) throws InterruptedException {String card[] = new String[52];String computer[] = new String[26];String player[] = new String[26];// 初始化数组为牌char str[] = { 'J', 'Q', 'K' };card[0] = "♡A";card[10] = "♤A";card[20] = "♣A";card[30] = "♢A";for (int i = 1; i < 10; i++) {card[i] = "♡" + (i + 1);card[i + 10] = "♤" + (i + 1);card[i + 20] = "♣" + (i + 1);card[i + 30] = "♢" + (i + 1);}for (int i = 40; i < 43; i++) {card[i] = "♡" + str[i - 40];card[i + 3] = "♤" + str[i - 40];card[i + 6] = "♣" + str[i - 40];card[i + 9] = "♢" + str[i - 40];}System.out.println("未洗牌时:");for (int i = 0; i < card.length; i++) {if (i != 0 && i % 13 == 0)System.out.println("");System.out.print(card[i] + " ");}// 洗牌fushcard fush = new fushcard();fush.fush(card);System.out.println("\n洗牌后:");for (int i = 0; i < card.length; i++) {if (i != 0 && i % 13 == 0)System.out.println("");System.out.print(card[i] + " ");}// 发牌fush.pushcard(player, computer, card);card compu = new card();card players = new card();compu.init();compu.fuzhi(computer);System.out.println("\n电脑手牌:");compu.display();players.init();players.fuzhi(player);System.out.println("\n玩家手牌:");players.display();card foor = new card();foor.init();// 开始游戏compare com = new compare();int i = 0;while (compu.end() && players.end()) {System.out.println("第" + (++i) + "回合");com.pop(compu, foor);com.pop(players, foor);System.out.println("\n电脑手牌:");compu.display();System.out.println("\n玩家手牌:");players.display();System.out.println("\n底牌:");foor.display();Thread.sleep(1000);}if (compu.end()) {System.out.println("游戏结束,电脑获胜");} else {System.out.println("游戏结束,玩家获胜");}}
}
如果觉得《安徽科技学院 信网学院网络文化节 刁广》对你有帮助,请点赞、收藏,并留下你的观点哦!