尚未完成
猫类
package 小猫钓鱼;
import java.util.Random;
public class Cat {
private String name;
private int[] card = new int[100];
private int cardnumber = 0;
public Cat(String name, int cardnumber) {
this.name = name;
this.cardnumber = cardnumber;
Random rand = new Random();
for (int i = 0; i < cardnumber; i++) {
this.card[i] = rand.nextInt(9);
}
}
// 打印所有牌
public void show() {
System.out.println(this.name + "的牌是:");
for (int i = 0; i < this.cardnumber; i++) {
System.out.println(this.card[i] + " ");
}
}
// 依次打出手中的牌
public int outcard() {
int temporary = card[0];
for (int i = 0; i < (this.cardnumber - 1); i++) {
card[i] = card[i + 1];
}
this.cardnumber -= 1;
System.out.println(this.name + "打出" + temporary);
return temporary;
}
// 接收桌面上的牌
public void getcard(int[] desktop) {
System.out.println(this.name + "获得桌面上所有牌");
int i = desktop.length;
while ((i - 1) >= 0) {
this.card[cardnumber] = desktop[i - 1];
i--;
cardnumber++;
}
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
// 目前手牌数
public int getCardnumber() {
return cardnumber;
}
public void setCardnumber(int cardnumber) {
this.cardnumber = cardnumber;
}
// 单元测试
// public static void main(String[] args) {
// Cat cat1 = new Cat("咖啡猫", 5);
//
// cat1.show();
// System.out.println(cat1.outcard());
// cat1.show();
// int[] a = new int[5];
// for (int i = 0; i < 5; i++)
// a[i] = i + 1;
// cat1.getcard(a);
// cat1.show();
// System.out.println(cat1.getCardnumber());
// for (int i = 0; i < 5; i++)
// System.out.println(a[i]);
//
// }
}
桌面类
package 小猫钓鱼;
import java.util.ArrayList;
public class Table {
ArrayList<Integer> tablecard=new ArrayList<Integer>();
// 获得猫打出的牌
public void getcard(int card) {
tablecard.add(Integer.valueOf(card));
}
// 返回所有牌
public int[] outcard() {
tablecard.trimToSize();
int i=tablecard.size();
int[] a=new int[i];
for(;i>0;i--) {
Integer tem=tablecard.get(i-1);
a[i-1]= tem.intValue();
}
return a;
}
//
public void clean() {
tablecard.clear();
}
}
主程序类
package 小猫钓鱼;
public class Game {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Cat cat1 = new Cat("咖啡猫", 5);
Cat cat2 = new Cat("汤姆", 5);
Table table = new Table();
int b = 10;
int time = 0;
cat1.show();
cat2.show();
while (cat1.getCardnumber() != 0 || cat2.getCardnumber() != 0) {
int a = cat1.outcard();
table.getcard(a);
if (a == b) {
cat1.getcard(table.outcard());
table.clean();
cat1.show();
cat2.show();
}
b = cat2.outcard();
table.getcard(b);
if (a == b) {
cat2.getcard(table.outcard());
table.clean();
cat1.show();
cat2.show();
}
time++;
}
if (cat1.getCardnumber() == 0)
System.out.println(cat2.getName() + "获得最终胜利,共进行了" + time + "轮比赛");
else
System.out.println(cat1.getName() + "获得最终胜利,共进行了" + time + "轮比赛");
}
}
待更新