- 浏览: 394671 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (285)
- test (0)
- 分类 (1)
- java (281)
- tttttttttttt (1)
- android程序复制数据库 (1)
- Hibernate 动态 HQL (1)
- java编写扑克的洗牌程序 (1)
- NIO 之 选择就绪模式 (1)
- wpo另类问题:不可轻视的蜘蛛爬行对服务器造成的负担 (1)
- haml (1)
- cvcvcvc (1)
- 开源史上最成功的8个开源产品 (1)
- XML文件转换成Word文件或者Excel文件 (1)
- 一些利用开源浏览器核心开发专用浏览器的连接 (1)
- 毛笔效果简单思路 (1)
- 年终考评以后 (1)
- RFC821 简单邮件传输协议(SMTP)中文定义文档 (1)
- JNI中jstring类型与c语言中的字符串的转换 (1)
- 极限编程(XP)的重构与设计模式 (1)
- MapInfo2005年第三期电子新闻 (1)
- 想到目前各BLOG站点和搜索引擎的一点点缺陷 (1)
- 成功通过DB2的700和701考试 (1)
- 基于记录登陆信息的防止网页暴力破解方法 (1)
- Router路由 (1)
- 终于稍微完整的学习了一下Linux (1)
- android手机通讯录备份还原代码 (1)
- Qt之美(一):d指针/p指针详解 (1)
- DB2 静默安装 (1)
- linux开机启动脚本的顺序 (1)
- Hibernate实体对象的三种状态 (1)
- Hibernate面向对象的hql语句 (1)
- ibatIS调用存储过程 (1)
- Linux启动过程(详细说明) (1)
- C3P0配置 (1)
- memcache安装 (1)
- js event.keyCode (1)
- java获取汉子首字母 (1)
- Eclipse GC log (1)
- java轻量级httpserver (1)
最新评论
-
smilea001:
我知道了,作者采用的是gbk编码,我采用的是utf-8编码,
java获取汉子首字母 -
smilea001:
我输入的也是--
java获取汉子首字母 -
di1984HIT:
写的不错啊。
Router路由 -
kaixinyou:
...
2011.07.20——— android 获得当前view在屏幕的坐标 -
zhengjianbo:
你好,可以将你的实现代码公布下吗!万分感谢!
毛笔效果简单思路
java编写扑克的洗牌程序
1package com.web; 2 3public class Card { 4 5 private String face; // A, K, Q, J, 10, 2 6 private String suit; // Spade, Heart, Club, Diamond 7 8 public Card(){ 9 10 }11 12 //定义一个构造函数用于初始化点数2~A的牌13 public Card(String suit, String face) {14 this.face = face;15 this.suit = suit;16 }1718 //定义一个构造函数用于初始化大王和小王 19 public Card(String suit){20 this.face = ""; //如果不给face赋值的话,洗牌和切牌后的大小王前面会显示“null” 21 this.suit = suit;22 }23 24 protected String getFace() {25 return face;26 }2728 protected String getSuit() {29 return suit;30 }3132 public String toString() {33 return suit + " " + face;34 }3536 public static void shuffle(Card[] deck, int startIndex, int size, int splitIndex) {37 if (splitIndex * 2 > size) {38 Card.swap(deck, startIndex, splitIndex, size - splitIndex);39 shuffle(deck, size - splitIndex, splitIndex, size - splitIndex);40 } else if (splitIndex * 2 < size) {41 Card.swap(deck, startIndex, size - splitIndex, splitIndex);42 shuffle(deck, startIndex, size - splitIndex, splitIndex);43 } else {44 Card.swap(deck, startIndex, splitIndex, splitIndex);45 }4647 }4849 public static void swap(Card[] deck, int srcIndex, int dstIndex, int size) {50 String face = "";51 String suit = "";52 for (int i = 0; i < size; i++) {53 face = deck[srcIndex + i].face;54 suit = deck[srcIndex + i].suit;55 deck[srcIndex + i].face = deck[dstIndex + i].face;56 deck[srcIndex + i].suit = deck[dstIndex + i].suit;57 deck[dstIndex + i].face = face;58 deck[dstIndex + i].suit = suit;59 }60 }61 62 public static void main(String[] args){63 Card[] deck = new Card[54];64 String f[] = { "A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K" };65 // String s[] = {"Spade","Heart","Club","Diamond"};66 String s[] = { "黑桃", "红桃", "梅花", "方块" };67 for (int i = 0; i < s.length; i++) {68 for (int j = 0; j < f.length; j++) {69 deck[i * 13 + j] = new Card(s[i], f[j]);70 }71 deck[52] = new Card("小王"); 72 deck[53] = new Card("大王"); 73 }74 int rnd = 0;75 int numOfShuffle = 10;76 for (int i = 0; i < numOfShuffle; i++) {77 rnd = (int) Math.abs(Math.random() * 52);78 Card.shuffle(deck, 0, deck.length, rnd);79 }80 // Test81 for (int i = 0; i < deck.length; i++) {82 System.out.println(deck[i]);83 }84 }85}86
发表评论
-
java轻量级httpserver
2012-02-08 11:48 1604httpclient+httpserver demo ... -
Eclipse GC log
2012-02-04 16:59 1443为了查看Eclipse GC log,需要在eclip ... -
java获取汉子首字母
2012-02-03 09:14 1545public class StringUtil { ... -
js event.keyCode
2012-02-03 09:09 1232<span style="" ... -
memcache安装
2012-02-02 12:04 1179? <blockquote> 1. ... -
C3P0配置
2012-02-02 11:34 1012cquireIncrement[3] ... -
Linux启动过程(详细说明)
2012-02-01 09:09 1602<div class="post ... -
ibatIS调用存储过程
2012-01-31 15:38 1626<p>一、ibatIS调用存储过程(调用存 ... -
Hibernate面向对象的hql语句
2012-01-11 13:14 1020Hibernate中hql条件语句的书写方式有: ? ... -
Hibernate实体对象的三种状态
2012-01-11 12:59 1294<p style="text- ... -
linux开机启动脚本的顺序
2011-12-21 15:14 1146下开机自动启动脚本所涉及的知识和方法、如下: ... -
DB2 静默安装
2011-12-21 11:59 1081<span style="color: ... -
Qt之美(一):d指针/p指针详解
2011-12-20 15:14 2016[/b]2011.11.16 [size=18px;] ... -
android手机通讯录备份还原代码
2011-12-20 11:54 2962<span style="font-f ... -
终于稍微完整的学习了一下Linux
2011-12-19 12:14 1194Linux以前也装过两次,不过几乎没去用。头几天看一些 ... -
Router路由
2011-12-19 10:54 1200Router路由:设定线的轨迹,在Connection ... -
基于记录登陆信息的防止网页暴力破解方法
2011-12-17 10:49 1452对黑客方面比较感兴趣的或者是比较熟悉的,应该知道溯雪这 ... -
成功通过DB2的700和701考试
2011-12-16 17:27 881嘿嘿,原以为比较没有信心的701考试也被俺成功的攻克了 ... -
想到目前各BLOG站点和搜索引擎的一点点缺陷
2011-12-15 15:54 898感觉无聊,就到中国博客网的首页逛了逛,想看看有没有什么 ... -
MapInfo2005年第三期电子新闻
2011-12-15 10:49 931<span lang="EN-US&q ...
相关推荐
主要用到了数组的思想去生成纸牌,用随即产生的数来洗牌,然后发牌!
总的来说,用Java编写的扑克牌游戏不仅展示了编程基础,还涵盖了高级概念,如数据结构、面向对象设计、算法和多线程。通过参与这样的项目,开发者可以提升自己的编程技能并加深对Java语言的理解。如果你对这个游戏感...
在本文中,我们将深入探讨如何使用Java编程语言来模拟扑克牌的洗牌和发牌过程。这个过程涉及到了数组、随机数生成、以及基本的算法设计。首先,我们需要理解扑克牌的基本规则和结构。 扑克牌通常包含52张牌,分为四...
编写一个模拟人工洗牌的程序,将洗好的牌分别发给四个人。 使用结构card 来描述一张牌,用随机方法来模拟人工洗牌的过程,最后将洗好的52张牌顺序分别发给四个人。 设计要求: 1)要求使用java类包中的Math.Random()...
在这个小程序中,我们将探讨如何生成牌,随机洗牌,以及公平地发牌给三个玩家。 【描述】:“牌的生成、随机洗牌、发牌、输出显示” 1. **牌的生成**:在Java中,首先我们需要创建一个表示扑克牌的数据结构。这...
编写一个模拟人工洗牌的程序,将洗好的牌分别发给四个人。 使用结构card 来描述一张牌,用随机方法来模拟人工洗牌的过程,最后将洗好的52张牌顺序分别发给四个人。 设计要求: 1)要求使用java类包中的Math.Random()...
在本文中,我们将深入探讨如何使用Java编程语言来实现一个扑克牌程序,这涉及到扑克牌的构造、基本算法以及比较、搜索和排序等关键操作。首先,我们需要理解扑克牌的基本结构和规则,以便在代码中有效地模拟它们。 ...
3. **算法设计**:在扑克牌游戏中,算法设计至关重要,包括洗牌算法、发牌算法、判断胜败的规则等。例如,洗牌可以通过Fisher-Yates(Knuth)洗牌算法实现,确保随机性;发牌则需要考虑公平性和效率。 4. **事件...
编写一个模拟人工洗牌的程序,将洗好的牌分别发给四个人。 使用结构card 来描述一张牌,用随机方法来模拟人工洗牌的过程,最后将洗好的52张牌顺序分别发给四个人。 设计要求: 1)要求使用java类包中的Math.Random()...
在本项目中,我们主要关注的是“扑克牌图片 Java程序开发”,这涉及到计算机编程中的图形用户界面(GUI)设计以及Java语言的相关应用。这个项目的核心是利用Java来创建一个扑克牌游戏,其中包含了图片资源和相应的源...
编写一个模拟人工洗牌的程序,将洗好的牌分别发给四个人。 使用结构card 来描述一张牌,用随机方法来模拟人工洗牌的过程,最后将洗好的52张牌顺序分别发给四个人。 设计要求: 1)要求使用java类包中的Math.Random...
5. **算法与逻辑**:游戏规则的实现涉及一些算法,如洗牌算法(可以使用Fisher-Yates shuffle)、发牌算法、比较牌型的逻辑等。这些都需要清晰的思维和准确的代码实现。 6. **异常处理**:在编写程序时,要考虑到...
最后,我们编写主程序,创建一个牌堆栈,洗牌,然后将牌平均分给4个玩家: ```java public class Main { public static void main(String[] args) { PokerDeck deck = new PokerDeck(); deck.shuffle(); ...
本文将深入探讨一个基于Java实现的“扑克牌发牌洗牌系统”的相关知识点,帮助学习者巩固Java基础。 首先,我们来看扑克牌发牌洗牌系统的概述。在扑克游戏中,发牌和洗牌是两个关键步骤。发牌涉及到从一副扑克牌中...
在Python编程领域,开发一款基于图形用户界面(GUI)的扑克牌洗牌和发牌游戏是一种常见的练习,用于提升对面向对象编程、随机数生成以及图形库应用的理解。本项目中,我们关注的是使用tkinter模块来实现这个功能。...
【Java斗地主发牌程序】是一个典型的基于Java编程语言实现的桌面游戏应用,它主要用于模拟斗地主游戏中的发牌过程。在这个程序中,我们可以深入学习到Java的基础语法、面向对象编程思想以及随机数生成等核心概念。...
以上就是利用Java模拟扑克牌洗牌生成52张牌的主要知识点,通过这个过程,读者可以学习到数组操作、集合操作、方法重载、泛型警告抑制等编程技巧,以及理解Java程序的组织结构和运行机制。更深入的Java编程知识和技巧...
### Java洗牌发牌程序概述 这段代码实现了一个简单的洗牌发牌功能,使用Java语言编写。程序的目标是模拟扑克牌游戏中的洗牌和发牌过程。 ### 主要组件 #### 变量定义 1. **players**: 一个字符串数组,用于存储...
在Java编程中,创建一个简单的发牌程序是一个很好的学习实践,尤其对于理解枚举类的应用。这个程序的主要目的是模拟扑克牌游戏中的发牌过程。在这个过程中,我们将涉及以下几个关键知识点: 1. **枚举类(Enum)**...