Java实验(15)扑克牌
来源:互联网 发布:intel 超频软件 编辑:程序博客网 时间:2024/04/29 11:11
编程实现程序每次启动后,在界面上随机显示54张扑克牌中的4张,并在其下方显示花色名(如图)。
扑克牌图片已打包到cards.jar文件中,命名规则见下图。
import javafx.application.Application;import javafx.scene.Scene;import javafx.stage.Stage;import java.io.*;import javafx.scene.image.*;import java.util.jar.*;import javafx.scene.layout.Pane;import javafx.geometry.Insets;import javafx.scene.layout.GridPane;import javafx.scene.text.Text;public class MyCard extends Application { public static ImageView readImageFromJar(String jarname, String picname) { ImageView imageView = null; try { JarFile jarFile = new JarFile(jarname); JarEntry entry = jarFile.getJarEntry(picname); InputStream in = jarFile.getInputStream(entry); imageView = new ImageView(new Image(in)); in.close(); jarFile.close(); } catch (IOException e) { System.err.println("read file error."); } return imageView; } @Override public void start(Stage primaryStage) { int r1=(int)((Math.random()*100)%54); int r2=(int)((Math.random()*100)%54); int r3=(int)((Math.random()*100)%54); int r4=(int)((Math.random()*100)%54); GridPane pane=new GridPane(); pane.setPadding(new Insets(5,5,5,5)); String card1=new String("cards/"+String.valueOf(r1)+".png"); String card2=new String("cards/"+String.valueOf(r2)+".png"); String card3=new String("cards/"+String.valueOf(r3)+".png"); String card4=new String("cards/"+String.valueOf(r4)+".png"); ImageView imageView1 = readImageFromJar("cards.jar",card1); ImageView imageView2 = readImageFromJar("cards.jar",card2); ImageView imageView3 = readImageFromJar("cards.jar",card3); ImageView imageView4 = readImageFromJar("cards.jar",card4); String name1=" ", name2=" ", name3=" ", name4=" "; name1=getName(name1,r1); name2=getName(name2,r2); name3=getName(name3,r3); name4=getName(name4,r4); Text t1=new Text(name1); Text t2=new Text(name2); Text t3=new Text(name3); Text t4=new Text(name4); pane.add(imageView1,0,0); pane.add(t1,0,1); pane.add(imageView2,1,0); pane.add(t2,1,1); pane.add(imageView3,2,0); pane.add(t3,2,1); pane.add(imageView4,3,0); pane.add(t4,3,1); Scene scene=new Scene(pane); primaryStage.setTitle("第三题"); primaryStage.setScene(scene); primaryStage.show(); } public String getName(String name,int r){ if(r>=1 && r<=13) name+="黑桃"; else if(r>=14 && r<=26) name+="红桃"; else if(r>=27 && r<=39) name+="方块"; else if(r>=40 && r<=52) name+="梅花"; else if(r==53 || r==54) name+="大王"; if(r!=53 && r!=54){ if(r==11 || r==24 || r==37 || r==50) name+="J"; else if(r==12 || r==25 || r==38 || r==51) name+="Q"; else if(r==13 || r==26 || r==39 || r==52) name+="K"; else if(r==1 || r==14 || r==27 || r==40) name+="A"; else name+=String.valueOf(r%13); } return name; } public static void main(String[] args) { launch(args); } }
0 0
- Java实验(15)扑克牌
- Java 扑克牌洗牌程序
- Java 扑克牌发牌
- Java算法-扑克牌排列
- java实现:扑克牌
- java 实现扑克牌洗牌
- java对象练习--扑克牌
- java对象练习-扑克牌
- java练习 扑克牌
- JAVA简易扑克牌游戏
- Java扑克牌小程序
- Java扑克牌小游戏
- java扑克牌小程序
- 扑克牌比较 (Java)
- 扑克牌顺子java实现
- Java简易扑克牌
- java-生成扑克牌
- 扑克牌
- CentOS7 快速搭建Nodejs开发环境
- Android中ListView与CheckBox结合----多选与记录
- 错误处理、环境表、内存管理
- oracle 平时记录
- android网络异步应用开发模式之——Android 异步加载解决方案
- Java实验(15)扑克牌
- [linux]vim配置
- 非递归实现二叉搜索树转化成双链表
- 对问题:Http是TCP协议还是UDP协议的回答
- 被遗忘的Android GridLayout
- 【商业逻辑分析】之三:为什么说移动互联网的兴起,对大部分企业来说是个极好的机会?
- ubuntu通过更改Apache端口来从外网连接AWS中国上搭建的WEB SERVER
- Working with UML class diagrams in PyCharm
- 屏幕常亮,去掉标题栏