java课程设计纸牌游戏_java练习项目之纸牌游戏实例源码
java应用练习项目之纸牌游戏实例源码。java纸牌项目练习题目要求:
定义纸牌的花色
定义纸牌的大小2A
花色与数字组成一张牌
组成一整副纸牌
构造玩家
发牌
题目 :
创建一副扑克牌,这副牌是标准的包含52张,4种不同花色(方,梅花,红心,黑桃),上面的数字是2到ACE(14|A)的牌。
要求:
1.打乱这副牌
2.发牌给四个玩家.
请通过代码实现这个要求,如果不怎么熟悉Java/C/C++相关的Api的话,可以用伪代码来完成.
1.定义纸牌的花色
//CardsType.java
public class CardsType {
//定义牌的花色
private static final String[] ct = {
”黑桃”,
”红桃”,
”梅花”,
”方块”
};
//获取纸牌的花色
public static String getType(int i){
return ct[i];
}
//判断是否是纸牌成员
private static int find(String s){
int i=-1;
//遍历数组ct的每一个成员
for(String st:ct ){
i++;
if(st.equals(s))
return i;
}
return i;
}
//比较两张纸牌花色是否相同
public static int com(String s, String c){
int s1 = find(s);
int s2 = find(c);
if(s1 == -1)
return 100;
if(s2 == -1)
return -100;
return s2-s1;
}
}
2. 定义纸牌的大小(2——A)
//Num.java
public class Num {
//定义纸牌的号码
private static final String[] n = {
”2″,”3″,”4″,”5″,”6″,”7″,”8″,”9″,”10″,”J”,”Q”,”K”,”A”
};
//获得纸牌大小
public static String getN(int i){
if(i<0||i>13)
return null;
return n[i];
}
}
3. 花色与数字组成一张牌
//Cards.java
public class Cards {
private String type;
private int num;
// 构造函数
public Cards() {
}
public Cards(String s, int n) {
this.type = s;
this.num = n;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public boolean equals(Object o) {
if (!(o instanceof Cards))
return false;
Cards c = (Cards) o;
if (this.num == c.getNum() && this.type.equals(c.getType()))
return true;
return false;
}
public int compareTo1(Object o) {
if (!(o instanceof Cards))
return 1;
Cards c = (Cards) o;
int bjjg;
if ((bjjg = CardsType.com(this.type, c.getType())) != 0)
return bjjg;
return c.getNum() – this.num;
}
public String toString() {
return type + ” : ” + Num.getN(num);
}
}
4. 组成一整副纸牌//Pck.java
public class Pck {
public static Cards[] getNewCards() {
Cards[] nc = new Cards[52];
int k = 0;
for (int i = 0; i < 4; i++) {
String t = CardsType.getType(i);
for (int j = 0; j < 13; j++) {
nc[k++] = new Cards(t, j);
}
}
return nc;
}
}
5. 构造玩家
//Player.java
public class Player {
private Cards[] mCards;
public Cards[] getmCards() {
return mCards;
}
public void setmCards(Cards[] mCards) {
this.mCards = mCards;
}
public Player(Cards[] mCards){
this.mCards = mCards;
}
@Override
public String toString() {
String result;
result = “Player [my card is: \n";
for (int i = 0; i < mCards.length; i++) {
result = result + mCards[i].toString() + “\n”;
}
result = result + “]”;
return result;
}
}
6. 发牌
//Game.java
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class Game {
private Cards[] gc = new Cards[52];
private int[] num = new int[52];
public Game() {
int i = 0;
for (Cards c : Pck.getNewCards()) {
System.out.println(“index: ” + i + “==>card: ” + c.toString() + “”);
gc[i++] = c;
}
for (int j = 0; j < 13; j++)
num[j] = j;
}
// 发牌
public Player[] fp() {
Player[] players = new Player[4];
List wordList = Arrays.asList(gc);
for (int i = 0; i < wordList.size(); i++) {
System.out.println(“wordList.index: ” + i + “==>card: ”
+ wordList.get(i));
}
Collections.shuffle(wordList);
for (int i = 0; i < wordList.size(); i++) {
System.out.println(“wordList.index: ” + i + “==>card: ”
+ wordList.get(i));
}
int k = 0;
for (int i = 0; i < 4; i++) {
Cards[] card = new Cards[13];
for (int j = 0; j < 13; j++) {
card[j] = wordList.get(k);
k++;
}
players[i] = new Player(card);
}
return players;
}
public static void main(String[] args) {
Game g = new Game();
Player[] pf = g.fp();
for (int i = 0; i < pf.length; i++) {
System.out.println(pf[i].toString());
}
}
}
java课程设计纸牌游戏_java练习项目之纸牌游戏实例源码相关推荐
- java毕业生设计晨光文具店进销存系统设计与开发计算机源码+系统+mysql+调试部署+lw
java毕业生设计晨光文具店进销存系统设计与开发计算机源码+系统+mysql+调试部署+lw java毕业生设计晨光文具店进销存系统设计与开发计算机源码+系统+mysql+调试部署+lw 本源码技术栈 ...
- java毕业生设计紫陶文化传播与学习交流网站计算机源码+系统+mysql+调试部署+lw
java毕业生设计紫陶文化传播与学习交流网站计算机源码+系统+mysql+调试部署+lw java毕业生设计紫陶文化传播与学习交流网站计算机源码+系统+mysql+调试部署+lw 本源码技术栈: 项目 ...
- java毕业生设计信用卡增值业务系统小程序用户端计算机源码+系统+mysql+调试部署+lw
java毕业生设计信用卡增值业务系统小程序用户端计算机源码+系统+mysql+调试部署+lw java毕业生设计信用卡增值业务系统小程序用户端计算机源码+系统+mysql+调试部署+lw 本源码技术栈 ...
- java课程设计指导记录表_JAVA课程设计指导书ofr2012级.doc
JAVA课程设计指导书ofr2012级 <Java面向对象程序设计> 课程设计指导书 专 业: XXX软服XX班 指导教师: XXXX 计算机与信息工程学院 2013年12月26日 一.目 ...
- java课程设计atm机_java课程设计报告-自动取款机模拟程序.doc
java课程设计报告-自动取款机模拟程序.doc 还剩 53页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! 内容要点: } ...
- java课程设计总结迷宫_Java课程设计走迷宫详解.doc
Java语言与面向对象技术 课程设计报告 ( 2014 -- 2015年度第 1 学期) 走迷宫 目 录 目 录2 1 概 述1 1.1 课程设计目的1 1.2 课程设计内容1 2 系统需求分析2 2 ...
- java课程设计学生信息管理_JAVA课程设计---学生基本信息管理系统
1.团队课程设计博客链接 2.个人负责模块或任务说明 函数 功能说明 Search 查找学生信息,分为两种查找方式,一种是按条件查找,另一种是组合条件查找 CombineSearch 组合查找的函数 ...
- java课程设计总结迷宫_java课设走迷宫(含代码)#优质参考
java课设走迷宫(含代码)#优质参考 目录1设计目的1.1课程设计的目的2总体设计2.1设计思路2.2设计方法3关键技术4程序流程5主要源代码6. 运行结果及结论7.参考文献1.设计目的1.1课程设 ...
- Java课程设计简易绘图板_Java课程设计:高级绘画板的多功能实现(多种颜色图形)...
课程题目描述 利用GUI方法实现一个较为简单的绘图应用程序.用户可以选择要画的图形(如线,椭圆或圆,矩形),选择方式不限,例如单选按钮.下拉框.菜单等方式,可以选择画笔颜色和画笔粗细,用鼠标单击和拖曳 ...
最新文章
- Cache 与Memory架构及数据交互
- Go 学习笔记(15)— 函数(01)[函数定义、函数特点、多值返回、实参形参、变长参数,函数作为参数调用]
- 字符串数组-获取两个字符串中最大的相同子串(最大相同子串有且只有一个)
- java反射 基本知识
- 浪潮NF5270M3 刷uefi_新零售浪潮中,开为科技利用刷脸支付帮门店“运营”人
- Web框架之Django_10 重要组件(Auth模块)
- Kruskal重构树
- HDU 3264 Open-air shopping malls
- 【iVX 初级工程师培训教程 10篇文拿证】05 画布及飞机大战游戏制作
- Nacos(四)之安装
- gpu编程如何一步步学习_如何学习贴片机编程
- HDU 2222- Keywords Search
- C++程序设计-第十周循环结构程序设计上机实践项目
- java判断数组值类型,判断(1分) Java语言中的数组元素只能是基本数据类型而不能为对象类型。...
- delphi 热部署_DelphiWebMVC微信公众号开发
- Java简单猜数字游戏
- RustScan(端口扫描器)
- 鸿蒙纪元1.1正式版隐藏,毁灭纪元1.1.1官方版附隐藏英雄密码
- Js实现Flash播放效果[带源码]
- 搭建DVWA出现错误:DVWA System error - config file not found.
热门文章
- Rocky Linux更换yum源为国内源
- CAD打开多个文档只启动一个程序
- Edraw Max(亿图图示)新手福音:教你思维导图的简单画法! 1
- iOS新特性框架、仿微信图片浏览、视频监控、爱心动画、文字适配等源码
- 【Uva 10118】Free Candies
- 国开计算机专业英语答案,2021国开河北《计算机专业英语阅读》形考任务1-4题库.docx...
- 通过调用Word模板(Doc、dot)直接打印 z
- ImageNet 1000个类 具体内容
- 【NLP】详聊NLP中的阅读理解(MRC)
- Invalid byte tag in constant pool: 18