首页 > IT职业 > IT图书 > JAVA基础3 练习-比大小牌类游戏~~
和视频功能有点区别,我改为了2个玩家,每个玩家抽取N张牌, 然后每次取一张牌比大小,比N次,输出信息。
添加牌:A 黑桃
添加牌:2 黑桃
添加牌:3 黑桃
添加牌:4 黑桃
。。。
... 太多了就不显示了
。。。
添加牌:j 方块
添加牌:q 方块
添加牌:k 方块
输入1号名字
jack
输入2号名字
lucy
jack get card :10 红心 cards:51
lucy get card :2 黑桃 cards:50
jack get card :6 黑桃 cards:49
lucy get card :q 方块 cards:48
jack get card :k 红心 cards:47
lucy get card :q 梅花 cards:46
jack get card :8 方块 cards:45
lucy get card :8 梅花 cards:44
jack get card :q 黑桃 cards:43
lucy get card :7 黑桃 cards:42
jack胜 jack:8 方块|| lucy:8 梅花
jack胜 jack:10 红心|| lucy:2 黑桃
lucy胜 jack:6 黑桃|| lucy:q 方块
jack胜 jack:k 红心|| lucy:q 梅花
jack胜 jack:8 方块|| lucy:8 梅花
-------------------RESULT---------------------
jackwin4times
lucywin1times
1建立牌的对象
package com.pock;
//牌 类 存储牌信息
public class pock implements Comparable{
public String num;//牌大小 字符串
public String color;//牌花色
public int nnum;//牌大小 整形
public int ncolor;//牌花色
static public String[] color_list={"黑桃","梅花","红心","方块"}; //牌花色查询表
static public String[] num_list={"A","2","3","4","5","6","7","8","9","10","j","q","k"};//牌大小查询表
public pock(int newnum,int newcolor){//牌初始化
this.num =num_list[newnum];
this.color =color_list[newcolor];
this.nnum=newnum;
this.ncolor=newcolor;
}
public pock(){
}
public int compareTo(pock c){//牌大小比较
if(this.nnum==c.nnum){
return this.ncolor-c.ncolor;
}
return this.nnum-c.nnum;
}
}
2 建立牌池对象
package com.pock;
import java.util.*;
//桌面牌集合
public class pock_set {
public List cardlist;//桌面牌池 初始13*4张
pock_set(){
cardlist=new ArrayList();
}
} 3 建立玩家对象
package com.pock;
import java.util.*;
//玩家类- 保存玩家信息,增加了赢得次数
public class player {
public String name; //名字
public pock_set player_cards;//玩家牌池
public int win_num;//胜利次数
player(String newname){
this.name=newname;
player_cards=new pock_set();
win_num=0;
}
player( ){
player_cards=new pock_set();
win_num=0;
}
}
游戏程序:
package com.pock;
import java.util.Random;
import java.util.Scanner;
//game
public class Init {
public static void main(String[] args) {
// TODO Auto-generated method stub
pock_set allcards=new pock_set();//建立桌面牌池
player p1=new player();//建立玩家
player p2=new player();
//填充桌面牌池 共52张牌
for(int i=0;i0)
{
System.out.print(p1.name+"胜");
p1.win_num++;
}
else
{
System.out.print(p2.name+"胜");
p2.win_num++;
}
System.out.print("t"+p1.name+":"+p1.player_cards.cardlist.get(x).num+"t"+p1.player_cards.cardlist.get(x).color+"||");
System.out.println("t"+p2.name+":"+p2.player_cards.cardlist.get(x).num+"t"+p2.player_cards.cardlist.get(x).color);
}//输出最后结果,可以加个判断谁赢得多,懒得写了~~
System.out.println("-------------------RESULT---------------------");
System.out.println(p1.name+"win"+p1.win_num+"times");
System.out.println(p2.name+"win"+p2.win_num+"times");
}
}
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4362/viewspace-2798661/ ,如需转载,请注明出处,否则将追究法律责任。