php简单扑克游戏,完整版简易扑克牌游戏代码开发
卡牌类
package pukepai;
public class Cards implements Comparable{
private String huase;
private String shuzi;
//定义扑克的所有属性
public static String[] HUASE = new String[]{"黑桃", "红桃", "梅花","方块"};
public static String[] DAXIAO = new String[]{"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
//Cards 构造函数 对属性进行赋值
public Cards(String huase, String shuzi) {
super();
this.huase = huase;
this.shuzi = shuzi;
}
public Cards() {
// TODO 自动生成的构造函数存根
}
public String getHuase() {
return huase;
}
public void setHuase(String huase) {
this.huase = huase;
}
public String getShuzi() {
return shuzi;
}
public void setShuzi(String shuzi) {
this.shuzi = shuzi;
}
@Override
public String toString() {
return this.huase+this.shuzi;
}
public int compareTo(Cards o) {
// TODO 自动生成的方法存根
if(getIntDaxiao(this)==getIntDaxiao(o)){
if(getintHuase(this)
return 1;
}else if(getIntDaxiao(this)
return -1;
}else
{
return 0;
}
return 0;
}
//获得花色的数组索引号
int getintHuase(Cards card){
for(int i = 0;i<4;i++){
if(card.getHuase().equals(HUASE[i])){
return i;
}
}
return -1;
}
//获得卡牌大小的数组索引号
int getIntDaxiao(Cards card){
for(int i = 0;i <13; i++){
if(card.getShuzi().equals(DAXIAO[i])){
return i;
}
}
return -1;
}
//比较较大的卡牌
Cards bigCard(Cards ca){
if(this.getIntDaxiao(this)==ca.getIntDaxiao(ca)){
if(this.getintHuase(this)==ca.getintHuase(ca)){
return ca;
}
}else if(this.getIntDaxiao(this)
return ca;
}else{
return this;
}
return ca;
}
}
用户类
package pukepai;
import java.util.ArrayList;
import java.util.List;
public class Users implements Comparable{
private int ID;
private String name;
// 每个用户手中的手牌
public List cards = new ArrayList();
public Users(int iD, String name) {
this.ID = iD;
this.name = name;
}
public Users() {
super();
}
public int getID() {
return ID;
}
public void setID(int iD) {
this.ID = iD;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
//重写比较方法
public int compareTo(Users o) {
// TODO 自动生成的方法存根
int compare = this.cards.get(1).compareTo(o.cards.get(1));
return compare;
}
}
主类
package pukepai;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.InputMismatchException;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
public class Main {
static int k=0;
public static void main(String[] args) {
// TODO 自动生成的方法存根
//创建一个card 的引用
Cards card = new Cards();
//创造一副新扑克牌
Cards[] cards = new Cards[52];
//用于保存洗乱后的扑克牌
Cards[] newCards = new Cards[52];
//对扑克牌进行初始化
for(int i = 0; i<52; i++){
cards[i] = new Cards(card.HUASE[i/13],card.DAXIAO[i%13]);
}
System.out.println("----------创建扑克牌----------");
System.out.println("---------初始化扑克牌---------");
for(int i =0;i<52;i++){
System.out.print(cards[i].toString()+" ");
}
//生成一组1-52的乱序数
List cardlist = new ArrayList();
List user = new ArrayList();
Users user1 = new Users();
Users user2 = new Users();
user.add(user1);
user.add(user2);
for(int i = 0; i < 52; i++){
cardlist.add(i);
}
//开始洗牌
Collections.shuffle(cardlist);
//洗牌结束
System.out.println("\n--------------洗牌结束------------");
for(int i = 0; i<52; i++){
newCards[i]=cards[cardlist.get(i)];
}
// for(int i = 0; i<52; i++){
// System.out.print(newCards[i].toString()+" ");
// }
Scanner input = new Scanner(System.in);
System.out.println("\n--------------创建玩家------------");
try{
System.out.println("请输入第一个玩家的Id和姓名:");
System.out.println("输入ID:");
user1.setID(input.nextInt());
System.out.println("输入姓名:");
user1.setName(input.next());
System.out.println("请输入第二个玩家的Id和姓名:");
System.out.println("输入ID:");
user2.setID(input.nextInt());
while(user2.getID()==user1.getID()){
System.out.println("输入错误!请重新输入:");
user2.setID(input.nextInt());
}
System.out.println("输入姓名:");
user2.setName(input.next());
}catch(InputMismatchException e){
System.out.println("输入类型不匹配!");
}
System.out.println("------欢迎玩家:"+user1.getName());
System.out.println("------欢迎玩家:"+user2.getName());
System.out.println("---------开始发牌---------");
for(int i = 0; i < 4; i++){
if(i%2==0){
System.out.println("--------玩家:"+user1.getName()+"拿牌");
user1.cards.add(newCards[k++]);
}else{
System.out.println("--------玩家:"+user2.getName()+"拿牌");
user2.cards.add(newCards[k++]);
}
}
System.out.println("-----------------发牌结束------------------");
System.out.println("-----------------开始游戏------------------");
//对手牌进行排序
Collections.sort(user1.cards);
Collections.sort(user2.cards);
Collections.sort(user);
System.out.println("---------恭喜玩家:"+user.get(1).getName()+"获胜");
System.out.println("---------玩家:"+user1.getName()+"最大手牌为:"+user1.cards.get(1));
System.out.println("---------玩家:"+user2.getName()+"最大手牌为:"+user2.cards.get(1));
System.out.println("---------玩家:"+user1.getName()+"手牌为"+user1.cards.get(0)+" "+user1.cards.get(1));
System.out.println("---------玩家:"+user2.getName()+"手牌为"+user2.cards.get(0)+" "+user2.cards.get(1));
System.out.println("---------恭喜玩家:"+user.get(1).getName()+"获胜");
}
}
php简单扑克游戏,完整版简易扑克牌游戏代码开发相关推荐
- 数据结构几个最简单的阐述完整版(带你入门:链表,栈,队列,哈希表,树)通俗易懂简单明了
数据结构几个最简单的阐述完整版 一.链表(Linked list): 如下图是一个链表: 1.链表是无须存储在连续的空间内,一般都是分散存储于内存中.(指针是指向下一个数据的内存地址) 2.所有要访问 ...
- Java入门第三季-综合实战:简易扑克牌游戏
一.概述 第三季的综合实战部分是写一个简易扑克牌游戏,功能实现要求如下: 1.创建一副扑克牌 包括四种花色: 黑桃 红桃 梅花 方片 十三种点数 2-10,JQKA,不考虑大小王 2.创建两名玩家 玩 ...
- 7-1简易扑克牌游戏-洗发牌Easy版
7-1简易扑克牌游戏-洗发牌Easy版 代码下载地址 http://download.csdn.net/download/qq_29132907/10253247 1.Gamer.java packa ...
- Unity源码分享-黄金矿工游戏完整版
Unity源码分享-黄金矿工游戏完整版 项目地址:https://download.csdn.net/download/Highning0007/88118933
- 老男孩Python自动化开发12期完整版(含作业代码课件)
老男孩Python自动化开发12期完整版(含作业代码课件) 链接:https://pan.baidu.com/s/1zCKn_VjstbCfTYCHCBKZgQ 密码:zujz 转载于:https:/ ...
- 简易扑克牌游戏JAVA源码_新手上路
下面来看看具体代码的实现: 一.entity包 1.裁判类 package entity; /*** 裁判* @author Geek* @version 1.0* @date 2018年6月22日 ...
- 扑克牌游戏java代码_java实现简易扑克牌游戏
本文实例为大家分享了java实现扑克牌游戏的具体代码,供大家参考,具体内容如下 游戏功能描述 1.创建一副扑克牌: 包括四种花色:黑桃,红桃,梅花,方片 包括十三种点数:2-10,J,Q,K,A 2. ...
- java编写简易扑克牌游戏
游戏功能描述 创建一副扑克牌: 包括四种花色:黑桃,红桃,梅花,方片 包括十三种点数:2-10,J,Q,K,A 创建两名玩家(or多名) 玩家至少要有ID,姓名,手牌等属性,手牌为扑克牌的集合 将创建 ...
- c语言 扑克牌大小,C语言实现简易扑克牌游戏
将一副扑克牌平均分成两份,每人拿一份.a先拿出手中的第一张扑克牌放在桌上,然后b也拿出手中的第一张扑克牌,并放在a刚打出的扑克牌的上面,就像这样两人交替出牌.出牌时,如果某人打出的牌与桌上某张牌的牌面 ...
最新文章
- 《HTML5与CSS3实例教程》
- 已拿30K offer!感谢这几个公众号提供的各种学习教程
- 算法 --- 删除数组中重复项
- Python文件操作-文件的增删改查
- Eclipse Juno上带有GlassFish的JavaEE 7
- python监听键盘库_python监听、操作键盘鼠标库pynput详细教程|python基础教程|python入门|python教程...
- CentOS 7.4 ifconfig, ip/ss, nmcli, nmtui, 配置文件 修改ip信息用法
- 网关gateway解决跨域问题
- Redis面试刁难大全
- 一步一步学Entity Framework 4(2)
- js数组常用方法总结(包括ES6)
- STM32F103ZET6利用DAC产生噪声
- 最新教程:M1芯片的Mac电脑进入恢复模式?
- Spring Boot 2.0.3 修改 Servlet 容器(服务器)配置
- 分享一些查询资源的网站
- [论文写作] Wrong vs Mistake vs Error vs Incorrect vs Erroneous
- 5G工业无线RTU TG511功能配置
- 【程序源代码】小电影小程序
- 这套表情包,居然开源了!!
- CODE[VS] 3837 台风 题解
热门文章
- 前端:医院挂号平台(html+css+jquery)
- AD中给大电流开窗时把顶层动态铺铜Polygon变成阻焊层静态Region的方法
- Markdown之改变 字体、字号与颜色
- acacm icpc java_Java在acm-icpc的应用
- python xpath入门_xpath 的使用
- 安卓基础-day03-20180118
- 程序员的上帝视角(3)-纯粹
- ArcGIS license server administrator无法启动问题
- JavaFX学习资料,超详细
- JVET H.266编码技术amp;JEM编码平台关键技术整理分析