求指教 扑克发牌界面

问题描述

这是我的课程设计题目:2.模拟人工洗牌编写一个模拟人工洗牌的程序,将洗好的牌分别发给四个人。使用结构card来描述一张牌,用随机方法来模拟人工洗牌的过程,最后将洗好的52张牌顺序分别发给四个人。设计要求:1)要求使用java类包中的Math.Random()方法进行随机处理。2)要求在dos控制台窗口中显示每个人手上的扑克牌3)要求将每个人手上的13张牌按照四种花色,从小到大排列整齐后显示出来。*4)可以设计成图形用户界面,通过按钮进行洗牌、发牌的动作,并按上面的要求显示东西南北四个人手上的牌型。下面是我写的代码:界面可以运行,但是关于事件处理的部分可能没写对,所以没办法发牌,请大家指教一下,谢谢!packageinterfacedesign;importjava.awt.*;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.*;publicclassPokerextendsJFrameimplementsActionListener{JPanel[]jpane=newJPanel[5];//玩家1JButton[]btn1=newJButton[13];//玩家2JButton[]btn2=newJButton[13];//玩家3JButton[]btn3=newJButton[13];//玩家4JButton[]btn4=newJButton[13];JButtonjButton1=newJButton("洗牌");JButtonjButton2=newJButton("发牌");Cardcard=newCard();publicPoker(){super("扑克游戏界面");//设置方位布局this.getContentPane().setLayout(newBorderLayout(100,100));//初始化玩家for(inti=0;i<13;i++){btn1[i]=newJButton();btn2[i]=newJButton();btn3[i]=newJButton();btn4[i]=newJButton();}//初始化中间容器for(intj=0;j<5;j++){jpane[j]=newJPanel();}jpane[0].setLayout(newBoxLayout(jpane[0],BoxLayout.X_AXIS));jpane[1].setLayout(newBoxLayout(jpane[1],BoxLayout.X_AXIS));jpane[2].setLayout(newBoxLayout(jpane[2],BoxLayout.Y_AXIS));jpane[3].setLayout(newBoxLayout(jpane[3],BoxLayout.Y_AXIS));jpane[4].setLayout(newGridLayout(1,2,20,20));for(inti=0;i<13;i++){jpane[0].add(btn1[i]);jpane[1].add(btn2[i]);jpane[2].add(btn3[i]);jpane[3].add(btn4[i]);}jpane[4].add(jButton1);jpane[4].add(jButton2);this.getContentPane().add(jpane[0],BorderLayout.SOUTH);this.getContentPane().add(jpane[1],BorderLayout.NORTH);this.getContentPane().add(jpane[2],BorderLayout.EAST);this.getContentPane().add(jpane[3],BorderLayout.WEST);this.getContentPane().add(jpane[4],BorderLayout.CENTER);jButton1.addActionListener(this);jButton2.addActionListener(this);}publicstaticvoidmain(String[]args){Pokerp=newPoker();p.setSize(450,400);p.setVisible(true);p.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}@OverridepublicvoidactionPerformed(ActionEvente){card.xipai();}publicvoidactionPerformed1(ActionEvente){intk=0;for(inti=0;i<13;i++)for(intj=0;j<4;j++){k=k+j;btn1[i].setText(card.player[k]);btn2[i].setText(card.player[k]);btn3[i].setText(card.player[k]);btn4[i].setText(card.player[k]);k=k+1;}}}//////////////////////////////////////////////////////////////////////////这部分是初始化扑克牌和洗牌的代码:packageinterfacedesign;importjava.util.Random;publicclassCard{privateinthang=4,lie=13,volume=hang*lie;publicString[]player=newString[volume];publicCard(){for(inti=0;i<volume;i++){switch(i/lie){case0:player[i]="红桃";break;case1:player[i]="黑桃";break;case2:player[i]="方片";break;case3:player[i]="草花";break;}switch(i%lie){case0:player[i]+='A';break;case10:player[i]+='J';break;case11:player[i]+='Q';break;case12:player[i]+='K';break;default:player[i]+=(i%13+1);break;}}}publicvoidxipai(){Stringt="";inta=0,b=0;Randomr=newRandom();for(inti=0;i<volume;i++){a=Math.abs(r.nextInt())%volume;b=Math.abs(r.nextInt())%volume;t=player[a];player[a]=player[b];player[b]=t;}}}

时间: 2024-09-27 16:07:30

求指教 扑克发牌界面的相关文章

thread-C# 回车触发一个打印函数,会卡死,如果打印前sleep(3000)就正常。求指教 。

问题描述 C# 回车触发一个打印函数,会卡死,如果打印前sleep(3000)就正常.求指教 . C# 界面 回车触发一个打印函数,会卡死,如果在打印的函数里,在打印局部方法执行前thread.sleep(3000)就正常. 一定大于等于3秒,2秒也会卡死.但这样打印会很慢,怎样解决.谢谢大家指教下. 解决方案 新开一个线程可以不?触发函数里控制线程就行,把打印函数放在线程里 解决方案二: 打印本身是一个耗时的过程,你应该开线程,把耗时操作放到线程中,这样就不会阻塞主线程,界面就不会卡死了. 解

表单验证-小白求指教,登录界面简单验证,真心求指教 ,谢谢了

问题描述 小白求指教,登录界面简单验证,真心求指教 ,谢谢了 求登录界面简单验证用户名英文,不许为空,6到10个字节,如果出错直接拦截,并有提示,这几天试了好多volidator,但是都因为这样那样的原因整不明白,真心求答案, 解决方案 <br> //验证英文<br> function verity(obj) {<br> var parent = /^[A-Za-z]+$/;<br> if (parent.test(obj.value)) {<br&g

游戏中聊天发送表情,不能显示在聊天界面?求指教

问题描述 游戏中聊天发送表情,不能显示在聊天界面?求指教 输入列表中有表情按钮,点击之后又表情列表,但是点击单个表情之后,表情列表退出,在聊天界面中只显示"[用户]说:"不能显示表情: 问题可能出在加载图像上面. 插入图片代码: bool CSkinRichEdit::InsertImage(LPCTSTR pszImage) { //变量定义 LPOLEOBJECT lpOleObject=NULL; LPOLECLIENTSITE pIOleClientSite=NULL; //保

servlet-做一个无界面实现注册登陆的功能,求指教?

问题描述 做一个无界面实现注册登陆的功能,求指教? java里用Servlet实现登陆.注册不带界面设计的功能. 我在web.xml文件中已经配置好浏览器地址,也弄好了数据库连接以及创建列表.封装列表等内容. 注册的添加数据方法用jdbc的添加也已实现. 现在问题是当登录时在浏览器地址栏中赋值用户名密码时,浏览器网页报错,Eclipse里的代码都没有语法错误,只是后续运行效果出不来,我把注册添加数据返回数据库进行存储和循环遍历查询整个数据库的方法都做好了,唯独效果出不来,怎么办,求大神指教? 解

设置-初始配置win7中的IIS求指教

问题描述 初始配置win7中的IIS求指教 问一下初始配置win7中的IIS时绑定和基本设置怎么设啊,书中有介绍但是路径啊网站啊什么的不知道怎么设置啊,怕自己设置错所以求大牛指教一下 解决方案 如果你用的是原版系统,安装好iis无需任何设置就可以使用. 浏览http://localhost/就能看到多国语言的欢迎页面. 部署一个asp.net(最简单,假设没有用数据库)的步骤. 打开IIS管理器,选择左边站点,新建站点,输入一个名字,选择一个目录,比如wwwrootsite1 然后将网站文件拷贝

编程语言 c语言-新手求指教!用c语言 简单学生成绩统计软件 。万分感谢,编好发到邮箱425572938@.

问题描述 新手求指教!用c语言 简单学生成绩统计软件 .万分感谢,编好发到邮箱425572938@. 实现的任务: (1)每个学生记录中包含学号.姓名和C 语言课设成绩等信息: (2)创建学生记录链表: (3)更新学生记录(插入.排序.删除): (4)能统计各分数段的人数,并以分布图显示: (5)输出学生记录到屏幕. 设计内容: 1. 学生记录应该包括学号.姓名.C 语言课设成绩等信息,是本程序的核心数据结构,定 义如下: typedef struct { char num[11]; /*学号*

接口-我想制作一个电子阅读器用stm32f103rct6,求住制作流程,网上有一个,不是很懂求指教

问题描述 我想制作一个电子阅读器用stm32f103rct6,求住制作流程,网上有一个,不是很懂求指教 这是我从网上down的方法,有点不懂,关键就是编程还有MF RC522模块设计,求大虾指教,谢谢 1 硬件设计 1.1 硬件结构设计 RFID阅读器基于STM32单片机设计,芯片型号选择为STM32F103RBT6.该芯片为LQFP64封装, 内部有128 KB Flash和20 KB RAM,采用32位的ARM CortexTM-M3内核, 最高支持主频72 MHz,拥有2个SPI接口. 2

求指教,刚转.Net

问题描述 之前几年一直在用Delphi做一些服务程序的开发,现在发现Delphi的工作比较难找,现在在学习C#.有工作经验的同学能否指点下,你们工作中一般主要用哪块?求指教一个大致的方向.现在还是在用Delphi的思想理解C#的一些东西,发现两兄弟确实很像,毕竟本是同根生.但是C#确实把Delphi中没有实现,却想实现的东西实现了一番,功能很是强大,内容也就相当繁杂.但是两者在很多方面很相似.目前只是看了一下基础知识,发现Delphi跟C#在以下几个方面:单根继承,接口这些比较相像,映射跟RTT

C#WINFORM程序将删除,替换,插入PDF中的一个页面,使用什么插件,求指教

问题描述 目前用PDF需要将PDF中某个界面用另外一个PDF中的一个界面替换目前使用的插件是iTextSharp貌似没有这个功能,求指教有其他方式也行 解决方案